我目前正在设置Jenkins以使用SVN存储库。目前它适用于行李箱。现在我想设置Jenkins来处理新创建的分支。我不想为SVN中的每个新分支手动创建新项目。
答案 0 :(得分:12)
如果您对jenkins不是很熟悉,也请检查我的extend answer。
它提供了一个带有屏幕截图的分步解决方案。
默认情况下,在最新版本中安装了subversion插件(截至2015年9月)。
然后您应该按如下方式配置项目:
答案 1 :(得分:5)
Subversion插件应该包含一个下拉构建参数选项。您可以包含基本存储库,然后选择分支,标记或主干。
检查出来:How to configure a single Jenkins job to make the release process from trunk or branches?
答案 2 :(得分:2)
我们为每个分公司和卡车都有工作。如果我们有30个项目,我们有30个中继项目,我们目前使用的每个分支有30个项目。这可能超过150个工作岗位,但我们使用视图来帮助将它们分开。在Subversion中使用分支(甚至是标记)非常简单:只需使用包含分支的URL。
每当我们创建新分支时,我都会手动复制我的作业。我通常厌恶一个手动过程(手动过程=>犯了一个错误=>主要搞乱了=>得到解雇=>在沃尔玛工作),但实际上我的工作中只有两个变化。我必须更改Subversion URL和描述。其他一切都设置为使用Jenkin的默认值。没有古怪的工作目录,没有时髦的复制构建工件(我们存储在Jenkins中)。我们有大约30个左右的工作,我可以在不到半小时内复制所有这些工作。
我只是遇到了自动化问题,如果我必须完成所有工作以确保一切正常,我不妨手动完成。
您可以参数化您的构建。也就是说,让用户输入分支的名称(或从下拉列表中选择它。这意味着为所有分支创建单个作业。但是,这会破坏Jenkins的连续构建方面你必须手动触发每项工作。
某些网站的脚本可以批量生成新分支。您只需从一个作业下复制config.xml
(以及其他一些文件)并进行修改即可。一些网站创建了模板作业,使这更容易一些。模板作业被禁用,并且由于REST API,可以通过wget
轻松启用作业。他们只需复制模板作业,修改一些参数,然后重新启用所有这些作业。
有JobCopy builder Plugin允许您定义模板构建项目,然后替换模板中的字符串以创建实际作业。
Jenkins Wiki上还有一个Ant脚本,可以为您复制作业。