我有一些影响生产服务器的Jenkins工作。有一个"你确定要这么做会很好吗?"用户运行其中一个作业时的对话框。我还没有找到一个插件。有没有人试图这样做?
答案 0 :(得分:11)
您可以添加“你确定吗?”构建的参数。当用户点击“立即构建”时,将要求他们输入参数,可以选择“是/否”或字符串。然后,您可以通过shell或批处理步骤检查此参数,如果未设置为是,则“退出1”。
答案 1 :(得分:7)
我在Jenkins实例上实现了这个确切的功能。我完成这个的方法是使用"这个构建参数化"添加构建参数的功能,可用于确定是否应运行命令。
在作业配置页面上,选择"此构建已参数化",然后添加选择参数(您还可以使用任何其他类型的参数,只需根据需要更新下面的IF语句)。输入名称(无空格或特殊字符),选择no和yes(前一个是默认值)和可选说明。
现在你可以添加一个"执行shell"构建步骤,检查AreYouSure的值,以查看是否要执行完整构建。如果值不是"是"然后退出代码1,以便Jenkins报告构建错误。如果用户未选择"是"。
以下是检查变量值的代码:
if [ "${AreYouSure}" = "yes" ]
then
##commands to execute
else
exit 1
fi
答案 2 :(得分:0)
如果您使用的是管道,则需要在您的Jenkinsfile中进行操作(请参见https://jenkins.io/doc/pipeline/steps/pipeline-input-step/)
def confirmDialog = "Release ${chosenApp}:${chosenVersion} now?"
releaseApprover = input message: confirmDialog,
submitterParameter: 'releaseApprover'
echo "${releaseApprover} is releasing ${chosenApp}:${chosenVersion}"
您将获得“确定”和“中止”按钮。您还应该将其放入超时调用中,以防止其几天内阻塞节点。