Jenkins管道:如何提示“你真的想要建造吗?”

时间:2016-10-24 12:41:56

标签: jenkins jenkins-pipeline

我们正在使用Jenkins和Pipeline Jobs,当然还有令人敬畏的Jenkins文件。 现在两次开发人员意外地点击了构建按钮,最终导致了一些混乱。我试图弄清楚是否有可能像弹出窗口那样询问“你真的想开始这个构建吗?”。

欢迎任何有关此用户相关问题的想法。

2 个答案:

答案 0 :(得分:3)

查看Jenkins博客中的文章Controlling the Flow with Stage, Lock, and Milestone,其中不仅仅是要求确认。

基本上,有input步骤,需要用户输入才能继续执行管道。

答案 1 :(得分:1)

StephenKing建议的input步骤的问题是你将无法再自动运行构建,因为它总是要求用户手动确认输入步骤。这可以防止触发“自动构建”,例如通过webhooks或CRON工作。

一种解决方法是超时,如果超时结束,则触发构建。像这样,用户至少可以中止非预期的构建。但这会导致构建时间明显延长。

我们在旧公司所做的是,我们创建了一个所谓的“参数化”构建,它有一个简单的复选框“你真的想要建立这个工作”导致了一个标志REALLY_BUILD作为一个环境变量。然后,您可以在Jenkins文件中询问${REALLY_BUILD}==1。每次开发人员触发构建时,都必须选中该框,否则构建将无法启动/立即停止。

当您通过webhook触发作业时,您可以传递参数REALLY_BUILD作为URL参数(请参阅this comment in the Jenkins tracker)并像以前一样在Jenkins文件中访问它。

以下是how to use parameters in Pipelines的另一种资源。