2

我有不同的 Jenkins 管道作业用于构建、部署、QA 自动化测试和发布到生产。我正在构建一个 Jenkins Delivery 管道以在单个管道中运行这些作业。管道应该就像一旦完成 QA 认证,应该触发构建作业以供批准,然后发布准备作业可以进一步运行。流程应该是这样的:

  • 在开发分支上使用 Jenkinsfile 在单个管道作业中运行构建、Junit 和 SonarQube 分析
  • 在上述作业稳定或成功后运行 QA Deployment 作业。
  • 在 QA 环境中运行 QA 自动化作业
  • 在这里,我想要在发布分支上开始发布流程之前推广构建以供批准
  • 一旦促销获得批准,就会触发发布版本控制/标记作业
  • 运行生产发布作业。

以上所有作业都需要在视图(管道)中显示。

我正在使用 Delivery Pipeline 插件中的 Jenkins View "Delivery Pipeline View for Jenkins Pipelines"。但是,问题在于提升构建是一项 FreeStyle 工作,并且未在此视图类型下列出。

实际上,我尝试使用多分支管道与 Jenkinsfile 进行端到端管道,但由于https://issues.jenkins-ci.org/browse/JENKINS-36089的限制,我必须切换回正常的管道。

请分享你的想法。

4

1 回答 1

0

如果这是一个可行的选择,你可以在没有 Jenkins 管道和 Jenkinsfiles 的情况下实现你想要构建的东西?在这种情况下,将管道中的每个步骤(构建、QA、生产等)定义为单独的 Jenkins 自由式作业。将这些作为下游依赖项与“在其他项目上触发参数化构建”构建后操作链接在一起。然后,您可以通过创建“交付管道视图”类型的视图来使用交付管道插件来可视化您的整个管道。它也支持显示手动触发器。

您可以在 Delivery Pipeline 插件源代码存储库中找到如何创建此类管道的示例: https ://github.com/Diabol/delivery-pipeline-plugin/blob/master/examples/ 。demo.groovy 为您使用 Jenkins JobDSL 寻找的管道类型创建了一个框架。

不幸的是,“Jenkins Pipelines 的交付管道视图”不支持链接在一起的多个 Jenkins 管道的可视化,它目前只可视化每个组件一个管道。最新的当前版本是 Delivery Pipeline 插件 1.3.1。

于 2018-11-27T08:28:11.643 回答