我正在使用声明性Jenkins管道来运行我的一些构建管道,并且想知道是否可以定义多个代理标签.
我有许多构建代理连接到我的Jenkins,并希望这个特定的管道能够由具有不同标签(但不是所有代理)的各种代理构建.
更具体地说,假设我有2个标签为'small'的代理,4个标签为'medium',6个标签为'large'.现在我有一个资源非常低的管道,我希望它只在一个"小"或"中"大小的代理上执行,但不能在大型代理上执行,因为它可能导致更大的构建在队列中等待不必要的长时间.
到目前为止我见过的所有例子都只使用一个标签.我试过这样的事情:
agent { label 'small, medium' }
Run Code Online (Sandbox Code Playgroud)
但它失败了.
我正在使用Jenkins Pipeline插件的2.5版本.
Jenkins声明性管道提供了一个post指令,用于在阶段完成后执行代码.在阶段运行之前运行代码是否有类似的事情,最重要的是,在SCM结账之前?
例如,有些东西:
pre {
always {
rm -rf ./*
}
}
Run Code Online (Sandbox Code Playgroud)
然后,在签出源代码之前,这将清理我的构建工作区.