我们正在使用Jenkins和Pipeline Jobs,当然还有令人敬畏的Jenkins文件。 现在两次开发人员意外地点击了构建按钮,最终导致了一些混乱。我试图弄清楚是否有可能像弹出窗口那样询问“你真的想开始这个构建吗?”。
欢迎任何有关此用户相关问题的想法。
答案 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的另一种资源。