我引用了多个StackOverflow帖子,我无法找到一个解决方案,以提供不同的代理每个相同的docker图像:
在并行构建期间在多个代理中使用相同的docker映像
Jenkins并行构建在不同的代理上
以下Jenkinsfile管道没有使用并行工作使用自定义docker图像'cypress-build';它必须使用“docker”标签引用,否则无法找到。所有三个阶段按照预期的测试顺序执行。一个比;测试。B在test。C:
pipeline {
agent {
docker {
image 'cypress-build'
label 'docker'
registryUrl 'https://docker.example.com'
}
}
stage('test.A') {
steps {
// ...
}
}
stage('test.B') {
steps {
// ...
}
}
stage('test.C') {
steps {
// ...
}
}
这是一个使用并行度测试的修改过的Jenkinsfile。A运行但是并行阶段(测试)中的阶段。B和test。C)都在开始时挂起,都不运行:
pipeline {
agent {
docker {
image 'cypress-build'
label 'docker'
registryUrl 'https://docker.example.com'
}
}
stage('test.A') {
steps {
// ...
}
}
stage('tests.parallel') {
parallel {
stage('test.B') {
agent {
docker {
image 'cypress-build'
label 'docker'
registryUrl 'https://docker.example.com'
}
}
steps {
// ...
}
}
stage('test.C') {
agent {
docker {
image 'cypress-build'
label 'docker'
registryUrl 'https://docker.example.com'
}
}
steps {
// ...
}
}
再一次
不能使用其他任何标签'docker'
for docker agent.对于码头工人的代理。
希望不要使用reuseNode true
because it defe因为它违背了同时管理詹金斯的目的。