之前Jenkins 2我使用Build Pipeline Plugin构建应用程序并手动将其部署到服务器。旧配置:
这很好用,但是我想使用从groovy脚本(Jenkinsfile)生成的新Jenkins管道来创建手动步骤。
到目前为止,我想出了input
Jenkins步骤。
使用的jenkinsfile脚本:
node {
stage 'Checkout'
// Get some code from repository
stage 'Build'
// Run the build
}
stage 'deployment'
input 'Do you approve deployment?'
node {
//deploy things
}
但是这需要等待用户输入,注意构建没有完成。我可以给input
添加超时,但是这不允许我选择/触发构建并在以后部署它:
如何使用新的jenkins-pipeline获得与之前使用构建管道插件时相同/相似的手动步进/触发结果?
2条答案
按热度按时间k0pti3hp1#
这是Jenkins Pipeline能力的巨大差距IMO。由于Pipeline是单个作业,因此肯定很难提供。一个解决方案可能是将工作空间作为“工件”进行“存档”(tar并将**/* 存档为“workspace.tar.gz”),然后让另一个管道复制工件并将其解压缩到新的工作空间中。这使得第二个管道可以在前一个管道停止的地方继续。当然,没有办法保证第二个管道不能不按顺序执行或多次执行。这太糟糕了。交付管道插件在这里真的很闪耀。您可以直接从视图中执行一个新的管道-而不是第一个作业。无论如何-这不是一个很好的答案-但这是我将要尝试的路径。
编辑:这个插件看起来很有前途:
https://github.com/jenkinsci/external-workspace-manager-plugin/blob/master/doc/PIPELINE_EXAMPLES.md
xtfmy6hx2#
您只需在步骤部分下包含输入。步骤按顺序运行,因此您可以逐个对其进行选通。如果要重新部署enter image description here管道{ agent any
}
在下面的图像中,构建已经完成,开发部署已经批准,测试部署正在等待。