【问题标题】:How to wait for user prompt before triggered build in Jenkins如何在 Jenkins 触发构建之前等待用户提示
【发布时间】:2013-01-03 17:00:04
【问题描述】:

我有一个用于每日发布的 powershell 脚本,它运行良好。但是,我的任务是从 Jenkins 运行它,但我似乎无法让参数化构建工作。这些是脚本进行部署所需的步骤。

  1. 部署到 PRE_UAT 环境。
  2. 测试步骤 1
    我。如果步骤 1 成功,请询问用户是否要继续部署到 UAT
        一个。如果用户响应是肯定的,则继续部署到 UAT 否则停止
    二。如果步骤 1 不成功,通知用户并停止

第一个作业在 Jenkins 中成功运行,但作为参数化构建的第二个作业在由第一个构建触发时不请求用户输入。只有第一个作业(也是参数化构建)提示用户输入。

谢谢

【问题讨论】:

    标签: jenkins jenkins-plugins hudson-plugins


    【解决方案1】:

    当第二个构建被触发时,不能保证在 jenkins 前面有一个用户(或“正确的”用户)。不手动触发构建时,不会请求构建参数。

    我建议您查看promotion plugin,并尝试在第一次构建后设置手动升级步骤,以触发第二次。

    【讨论】:

    • 第一个构建也是参数化的,需要用户输入。运行也需要几秒钟,因此可以保证用户手动启动构建。我去看看[wiki.jenkins-ci.org/display/JENKINS/Promoted+Builds+Plugin](推广插件)
    • 那么你可以做的是参数化第一个构建,例如“如果第一个通过,则运行第二个”。但归根结底,你要做的是推广——插件在这种工作流程方面做得很好。
    • 感谢 ptyx。阅读了促销插件后,我认为这就是我所需要的。非常感谢!
    【解决方案2】:

    您可以将参数从第一步传递到下一步,依此类推,
    但它不会给你所瞄准的流量。 (用户在构建开始时无法知道他是否想要推广它)。

    建议你检查推广插件。

    【讨论】:

    • 我的意思是,在第一次构建成功后,我仍然需要用户决定是否进行第二次构建。在 powershell 脚本中,第一次成功构建后,用户有三个选项。 1. 重新运行第一个构建,2.运行第二个构建或 3. 中止第二个构建。
    • 好吧,正如@ptyx 解释的那样,您不能在中间停止批处理作业 - 要么设置允许脚本决定的规则,要么中断处理部分并让用户选择什么运行时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-17
    • 2012-04-18
    • 1970-01-01
    • 2013-07-08
    • 1970-01-01
    • 1970-01-01
    • 2018-09-20
    相关资源
    最近更新 更多