我如何设置hudson(或jenkins)使用git-flow分支模型从发布/hotfix分支构建



我的公司正在从svn切换到git,我正在研究各种分支模型。到目前为止,我最喜欢的是礼物流,但我有一个主要的未解决的问题。

我们使用hudson(即将成为jenkins)作为我们的CI服务器。有5个应用程序,每个应用程序有3个环境:开发、qa和生产。使用git-flow,很明显将开发构建指向"开发"分支,将生产构建指向"主"分支,但是最好的设置方式是什么,以便我们可以轻松地将qa环境重定向到最新的热修复或发布分支(如果存在),或者开发(如果不存在)。我们目前只是手动更新jenkins作业,但是手动更改5个作业是很痛苦的(而且容易出错)。

我考虑过的一些事情:

  1. 添加qa分支并从发布/hotfix分支合并到其中。这是不可能的,因为我们必须记得在任何时候我们对发布/热修复进行更改时合并到qa分支,而这很快就会过时。

  2. 创建一个符号-ref "refs/heads/qa",并将其更新为指向我们想要qa测试的任何内容。这比上面的要好,但是不能工作,因为我们需要更新git服务器上的symbol -ref,而普通的开发人员没有这样做的权限。

到目前为止,这些选项对我来说似乎都不可行,是否还有其他选项我错过了?谢谢。

我不太明白你问题的细节,但是这样如何:

在构建配置中,选中"This build is parameterized",然后创建一个名为"branch"(或类似的)的字符串或选择参数,默认为您的开发分支。

然后,在git配置中,在分支名称通常所在的地方,使用"${branch}"代替硬编码分支名称。

如果一个构建被自动触发,它将使用开发分支。但是,当您手动开始构建时,您将获得指定新分支名称的选项。

最新更新