使用Jenkins Git Publisher推送标签 - 多个Git存储库(fork)

时间:2013-09-06 05:38:59

标签: git jenkins gitlab

我们的团队正在从CVS过渡到Git。我们打算使用类似的工作流程作为GitHub上的大多数开源项目 - 每个开发人员都使用主仓库的分支,然后提交一个拉取请求,这将允许项目主人在将更改合并到主仓库之前进行代码审查。

Jenkins允许我们添加多个Git存储库(标准的Git插件,而不是多个SCM插件)。据推测,我可以为每个分叉的仓库输入URL,然后Jenkins将检查每个分支的所有分支以进行更改。我为每个存储库命名,例如" master"," developer1"," developer2" ...

我们希望让Jenkins在适当的远程/ fork上标记每个构建。 Git Publisher插件要求您提供"目标远程名称",但我们需要Jenkins能够自己解决这个问题。

1 个答案:

答案 0 :(得分:16)

我自己设法解决了这个问题。

  • 在Jenkins项目配置页面的顶部,选中“This build is parameterized”并添加一个字符串参数“remote”,默认为“master”。
  • 将“Git Publisher”添加为构建后操作,并添加标记“$ BUILD_TAG”和目标远程名称=“$ remote”
  • 在构建触发器中,选中“远程触发构建”
  • 我们正在使用GitLab并在项目设置菜单下添加了一个“Web Hook”:

    http://my-jenkins-server.com/job/my-project/buildWithParameters?token=secret&remote=master

为每个fork添加一个Web挂钩,并确保“remote”参数与Jenkins中配置的存储库名称匹配。