【问题标题】:Configure Jenkins to work with SVN branches配置 Jenkins 以使用 SVN 分支
【发布时间】:2013-06-17 11:16:49
【问题描述】:

我目前正在设置 Jenkins 以使用 SVN 存储库。目前它适用于主干。现在我想设置 Jenkins 来处理新创建的分支。我不想为 SVN 中的每个新分支手动创建一个新项目。

  • 是否已经有一种解决方案允许使用 SVN 并在 Jenkins 中为在 SVN 中创建的每个分支自动创建作业/任务?
  • 如何将 Jenkins 与 SVN 标签/分支一起使用?

【问题讨论】:

    标签: svn jenkins continuous-integration hudson branch


    【解决方案1】:

    如果你对 jenkins 不是很熟悉,也可以查看我的 extend answer

    它提供了带有屏幕截图的分步解决方案。

    subversion 插件默认安装在最新版本中(截至 2015 年 9 月)。

    那么你应该如下配置你的项目:

    1. 勾选“此版本已参数化”
    2. 选择“列出 subverion 标签(以及更多)”
    3. 在名称字段中,设置一个可在稍后在 svn url 中引用的变量名称。我这里选择svnbranch。
    4. 在 Repository URL 字段中,为其提供您的项目 URL(需要包含主干、分支和标签)
    5. 根据需要填写其他字段
    6. 在源代码管理中,引用之前在您的存储库 url 中定义的变量。

    查看以下截图:

    【讨论】:

      【解决方案2】:

      Subversion 插件应包含一个下拉构建参数选项。您可以包含您的基础存储库,然后选择分支、标签或主干。

      看看这个:How to configure a single Jenkins job to make the release process from trunk or branches?

      更多信息在这里:https://issues.jenkins-ci.org/browse/JENKINS-10678

      【讨论】:

        【解决方案3】:

        我们为每个分支机构和卡车都有一份工作。如果我们有 30 个项目,我们有 30 个主干项目,我们当前使用的每个分支都有 30 个项目。这可能超过 150 个工作,但我们使用视图来帮助将它们分开。在 Subversion 中使用分支(甚至是标签)非常简单:只需使用包含分支的 URL。

        每当我们创建新分支时,我都会手动复制我的作业。我通常讨厌手动流程(手动流程 => 犯错 => 主要是搞砸 => 被解雇 => 在沃尔玛工作),但我的工作实际上只有两个必须做的改变。我必须更改 Subversion URL 和描述。其他一切都设置为使用 Jenkins 的默认值。没有古怪的工作目录,没有时髦的构建工件复制(我们将它们存储在 Jenkins 中)。我们有大约 30 个左右的工作,我可以在不到半小时的时间内复制所有这些工作。

        我只是在自动化方面遇到了问题,如果我必须完成所有工作以确保一切正常,我还不如手动完成。

        您可以参数化您的构建。也就是说,让用户输入分支的名称(或从下拉列表中选择它。这意味着为所有分支创建一个作业。但是,这会破坏 Jenkins 的 持续构建 方面,因为您必须手动触发每个作业。

        有些网站的脚本可以大量生成新的分支。您只需从一项作业中复制config.xml(和其他一些文件)并对其进行修改。一些网站创建了模板作业,使这变得更容易一些。模板作业被禁用,并且由于 REST API,很容易通过wget 启用作业。他们只需复制模板作业,修改一些参数,然后重新启用所有这些作业。

        有一个JobCopy builder Plugin 允许您定义模板构建项目,然后替换模板中的字符串以创建实际作业。

        Jenkins Wiki 上还有一个 Ant 脚本可以为您复制作业。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-05-23
          • 1970-01-01
          • 2012-08-07
          • 1970-01-01
          • 1970-01-01
          • 2013-05-03
          • 2011-10-16
          相关资源
          最近更新 更多