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

Nic*_*ion 11 git jenkins gitlab

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

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

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

Nic*_*ion 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中配置的存储库名称匹配.