Jenkins如何创建管道手动步骤

Zig*_*gac 51 groovy jenkins jenkins-pipeline

在Jenkins2之前我使用Build Pipeline Plugin构建并手动将应用程序部署到服务器.旧配置: 詹金斯流水线,插件

这很好用,但我想使用从groovy脚本(Jenkinsfile)生成的新Jenkins管道来创建手动步骤.

到目前为止,我想出了input詹金斯的一步.

使用jenkinsfile脚本:

node {
   stage 'Checkout'
   // Get some code from repository

   stage 'Build'
   // Run the build
}

stage 'deployment'
input 'Do you approve deployment?'
node {
    //deploy things
}
Run Code Online (Sandbox Code Playgroud)

但是这等待用户输入,注意到构建没有完成.我可以添加超时input,但这不允许我选择/触发构建并在以后部署它:

詹金斯流水线

如何使用新的jenkins-pipeline与Build Pipeline Plugin之前的手动步/触发相同/类似的结果?

Mic*_*ews 26

这是Jenkins Pipeline能力IMO的巨大差距.由于管道是单个作业,因此绝对难以提供.一种解决方案可能是将工作空间"存档"为"工件"(tar和存档**/*为"workspace.tar.gz"),然后让另一个管道复制工件并将其解压缩到新工作空间中.这允许第二个管道在前一个管道停止的地方拾取.当然,没有办法证明第二条管道不能轮流执行或不止一次.哪个太糟糕了.Delivery Pipeline插件真的很棒.您可以直接从视图执行新管道 - 而不是第一个作业.无论如何 - 没有多少答案 - 但它是我要尝试的道路.

编辑:这个插件看起来很有希望:

https://github.com/jenkinsci/external-workspace-manager-plugin/blob/master/doc/PIPELINE_EXAMPLES.md

  • 这个差距是如此巨大,人们可以称之为"破坏设计".出于这个原因,我们继续使用Delivery Pipeline插件.设置作业链有点复杂,但它确实运行良好并允许细粒度的权限.我们正在研究切换到Gitlab CI,但他们的管道可以做好手动步骤.不确定那里有什么阻碍詹金斯. (16认同)