我有一个包含多个阶段的管道,其中一些是并行的。到目前为止,我只有一个代码块来指示作业应该在哪里运行。
pipeline {
triggers { pollSCM '0 0 * * 0' }
agent { dockerfile { label 'jenkins-slave'
filename 'Dockerfile'
}
}
stages{
stage('1'){
steps{ sh "blah" }
} // stage
} // stages
} // pipeline
我现在要做的是在另一个从属服务器上运行一个新阶段,而不是在docker中运行。
我尝试通过为该阶段添加一个agent语句来进行尝试,但似乎它试图在第二个从属服务器上使用docker容器来运行该阶段。
stage('test new slave') {
agent { node { label 'e2e-aws' } }
steps {
sh "ifconfig"
} // steps
} // stage
我收到以下错误消息 13:14:23未知标志:--workdir 13:14:23请参阅'docker exec --help'。
我尝试将管道的代理设置为none,并为每个步骤使用代理,但遇到了2个问题 1.我的帖子操作显示错误 2.具有并行阶段的阶段也有错误。
我找不到与我正在做的事类似的例子。
答案 0 :(得分:0)
您可以使用节点块来选择要运行特定阶段的节点。
pipeline {
agent any
stages {
stage('Init') {
steps {
node('master'){
echo "Run inside a MASTER"
}
}
}
}
}