在詹金斯中将DSL作业转换为管道

时间:2020-04-25 19:27:08

标签: jenkins-pipeline jenkins-job-dsl

我正在尝试将老式的Jenkins DSL作业(在Groovy中)迁移到新的描述性管道形式。

由于我是新手,并且无法找到解决菜鸟问题的任何答案,因此我首先在这里描述我的情况:

  1. 假设我有3个DSL作业,一个用于构建和保存在Artifactory这样的存储库中生成的工件,另一个用于标记master分支,最后一个用于部署到生产。所有作业都使用相同的Git存储库。
  2. 建筑工作通常在开发过程中运行多次。它可以手动触发或作为对Git存储库中事件的响应触发,例如合并请求和推送。
  3. 为简单起见,让我们假设标记作业仅需要标记存储库中的master分支。当我们确定master分支将转至prod时,它只会偶尔偶尔手动运行一次。
  4. 使用第三项作业(也可以手动)部署工件。

这是我的问题:

  • 据我了解,仓库中每个分支只能有一个文件,那么如何使用仅在一个Jenkinsfile中定义的管道来配置这样的设置?
  • 我如何才能仅手动触发标记作业(意味着无需上传即可编译/测试/生成工件,然后如果一切正常,则标记版本)?
  • 在这种情况下,如果我仅在管道中实施构建工作并将其他任务保留为DSL脚本,对我来说会更容易吗?

非常感谢您的任何建议!

0 个答案:

没有答案