Jenkins 2 拥有管道,拥有一等公民。但是,在示例中,任务似乎是作为单个序列执行的:
node {
// Mark the code checkout 'stage'....
stage 'Checkout'
// Get some code from a GitHub repository
git url: 'git@github.com:elifesciences/elife-bot.git'
// Mark the code build 'stage'....
stage 'Build'
echo "Unit tests will run here"
stage "Production"
echo "Deploying to production environment"
}
Run Code Online (Sandbox Code Playgroud)
对于部署到生产系统中,需要手动批准通常很有用;有没有办法插入手动按钮以在管道内按下?
小智 22
input是您正在寻找的选项。这是我使用它的方式。将步骤放在节点之外很重要,否则 jenkins 将持有一个等待下一步的代理。请记住,第二个节点可能不会使用与第一个节点相同的工作空间。
node {
stage('build'){
echo "building"
}
}
stage('Deploy approval'){
input "Deploy to prod?"
}
node {
stage('deploy to prod'){
echo "deploying"
}
}
Run Code Online (Sandbox Code Playgroud)
最后,我创建了单独的test-project管道prod-project,其中代码最后test-project合并为approved分支中。
然后,prod-project可以将管道设置为不触发每个新提交,以便可以按需部署。
| 归档时间: |
|
| 查看次数: |
59669 次 |
| 最近记录: |