复制和编辑 Jenkins 作业

daz*_*sed 1 jenkins

我已经使用 Jenkins 几个月了,并且已经能够建立一个简单的 CI 系统。我目前有一个构建选项卡 - 基于从 SVN 主干构建,它将成功构建和部署 25 个不同的组件。

我现在开始我的第一个分支 - 有些人会在主干上开发,有些人会在分支上开发修复程序。

我现在想让 CI 为分支和主干启动并运行 - 所以会创建第二个选项卡 - 重复第一个选项卡中的作业,但这次更改 SVN 路径以从分支检出。

由于我有相当多的工作并且任务非常重复,有没有简单的方法来做到这一点?我希望每个工作选项卡都可能是一个单独的 xml,我可以编辑/重命名以给我第二个选项卡?

Sla*_*lav 6

是的,每个作业都是单个 xml 文件,位于$JENKINS_HOME/jobs/$JOB_NAME/config.xml. 但是,config.xml该引用的位置中有很多地方,因此简单地复制粘贴实际文件并不是最佳选择。

Jenkins UI 本身具有“复制作业”功能。

  • 在你想要的地方点击“新项目”
  • 选择“复制现有项目”
  • 指定要复制的现有项目的名称
  • 指定新作业的名称
  • 然后去配置新作业并更改您需要的内容。

另一个提示:可能不适用于您的设置,但通常情况下,多个相似作业之间存在“统一差异”,最常见的是分支名称、项目名称或类似名称。该值将是仅需要在其他相同的作业之间更改的值,但是更改的值可能会在作业配置中出现多次。

我通常做一个“选择”参数,一个单一的选择,然后把那个不同的值放在那里。作业的其余部分将选择参数作为变量引用。因此,当我复制相同的作业时,我只需要更改作业配置页面顶部的 1 值。其他一切都落实到位。