在詹金斯人工批准后开始工作

Kick off a job after manual approval in jenkins

我有一个需求,在Job A执行成功后触发Job B。 Job A执行成功后,会向审批人发送邮件通知。批准人将收到一封电子邮件并单击邮件 link 。他将被路由到 Jenkins 页面,在那里他将批准执行作业 B。

我不确定要使用哪个插件,我可以在其中提及批准人的姓名,批准人如何在登录到 Jenkins 页面后点击 link 并简单地说 "approve" .

  • 设置Job A
  • 配置 Job A 将电子邮件发送到您的 "approver" 作为电子邮件分机 post-build 操作的一部分
  • 将电子邮件配置为包含 link 回复职位 运行(不仅仅是职位名称,或者您甚至可以 link 直接从电子邮件中进行晋升)
  • Job A
  • 上配置 Promotion
  • 在该促销活动中,只允许 运行 您的 "approver" 用户(按名称)
  • 配置促销以触发 Job B

Job A 为 运行 时,它将发送电子邮件至 "approver"。 He/she 将单击 link 并进入 Jenkins 作业 运行 UI。 He/she 应该使用他们的 "approver" 用户登录到 Jenkins。

然后he/she可以点击推广星,直接点击"approve"就可以了。这将触发促销活动,促销活动又会触发 Job B

注意:您可以在没有 "Promotions" 插件的情况下实现类似的功能,但这正是该插件存在的原因,所以请使用它。

另一种选择是使用 Jenkins Workflow plugin(根据问题上的 jenkins-workflow 标签),它是为这种更复杂的系统设计的。你会写这样的东西(在我脑海中浮现):

build job: 'A', wait: true mail to: 'user@…', subject: "Please approve #${env.BUILD_NUMBER}", body: """ See ${env.BUILD_URL}input/ """ input submitter: 'userId', message: 'Ready?' build job: 'B', wait: true

以后 build 步骤可以通过内联那些自由式作业的工作来替换为实际构建任务。