Jenkins 克隆作业并更改分支
Jenkins clone jobs and change branch
我有一个任务想用 Jenkins 实现,但我不知道该怎么做。
我有一个充满作业的视图,所有作业都指向同一个 svn 存储库。每个作业构建一个存在于 svn 存储库中的 maven 模块。
一年一次,我们发布一个版本,因此我们创建一个新的分支,用于未来新版本的开发。
在 Jenkins 中,这意味着我想要一个视图,其中我的所有作业都指向已发布的版本分支,以及一个具有相同作业但指向未来版本分支的新视图。
我知道我可以通过克隆手动完成此操作,然后修改所有作业的分支,但我想用尽可能少的操作(最好是一个 :-))来完成。
我查看了 Jenkins 内置的可能性和现有插件,但我什么也没找到,我也不知道该怎么做。
有没有可能编写那种工作的脚本?或者一个插件这样做?
谢谢,
塞布
我想你以后的版本都是在主干上开发的。所以这些版本的 URL 总是相同的(例如:http://svn.yourcompany.com/project1/trunk)。
我建议使用 CloudBees Folder 插件将您的中继作业分组到一个专用文件夹中。
此插件会将您的所有作业分组到您的 Jenkins 主文件夹中的一个物理文件夹中(例如:jobs/trunk)。
当您想为发布分支创建新作业时,您编写一个脚本:
- 将 jobs/trunk 文件夹复制到 jobs/release_2.0
- 替换 http://svn/.../trunk with http://svn/.../branches/2.0(您可以使用正则表达式来做到这一点)
- 重命名所有作业(只需在所有作业名称末尾添加 2.0)
- 重新加载 Jenkins 配置
它应该有效:)
我有一个任务想用 Jenkins 实现,但我不知道该怎么做。
我有一个充满作业的视图,所有作业都指向同一个 svn 存储库。每个作业构建一个存在于 svn 存储库中的 maven 模块。
一年一次,我们发布一个版本,因此我们创建一个新的分支,用于未来新版本的开发。
在 Jenkins 中,这意味着我想要一个视图,其中我的所有作业都指向已发布的版本分支,以及一个具有相同作业但指向未来版本分支的新视图。
我知道我可以通过克隆手动完成此操作,然后修改所有作业的分支,但我想用尽可能少的操作(最好是一个 :-))来完成。
我查看了 Jenkins 内置的可能性和现有插件,但我什么也没找到,我也不知道该怎么做。
有没有可能编写那种工作的脚本?或者一个插件这样做?
谢谢,
塞布
我想你以后的版本都是在主干上开发的。所以这些版本的 URL 总是相同的(例如:http://svn.yourcompany.com/project1/trunk)。
我建议使用 CloudBees Folder 插件将您的中继作业分组到一个专用文件夹中。
此插件会将您的所有作业分组到您的 Jenkins 主文件夹中的一个物理文件夹中(例如:jobs/trunk)。
当您想为发布分支创建新作业时,您编写一个脚本:
- 将 jobs/trunk 文件夹复制到 jobs/release_2.0
- 替换 http://svn/.../trunk with http://svn/.../branches/2.0(您可以使用正则表达式来做到这一点)
- 重命名所有作业(只需在所有作业名称末尾添加 2.0)
- 重新加载 Jenkins 配置
它应该有效:)