我的公司正在从svn切换到git,我正在研究各种分支模型。到目前为止我最喜欢的是git-flow,但我有一个未解决的主要问题。
我们为CI服务器使用hudson(很快将成为jenkins)。共有5个应用程序,每个应用程序有3个环境:开发,qa和生产。使用git-flow,将开发构建指向“开发”分支并将生成构建指向“主”分支是显而易见的,但是最好的设置方法是什么,以便我们可以轻松地重定向qa环境到最新的修补程序或发布分支(如果存在),或者如果不存在则进行开发。我们目前只是手动更新jenkins作业,但手动更改5个作业很痛苦(并且容易出错)。
我考虑过的一些事情:
添加qa分支并从发布/修补程序分支合并到其中。这是一个非首发,因为我们必须记得在我们对发布/修补程序进行更改时快速合并到qa分支中并快速老化。
创建symbolic-ref“refs / heads / qa”并将其更新为指向我们想要QA测试的任何内容。这比上面好,但不起作用,因为我们需要更新我们的git服务器上的sym-ref,而普通开发人员没有权限这样做。
到目前为止,这些选项对我来说都不可行,我还缺少其他选择吗?感谢。
答案 0 :(得分:3)
我不是很清楚你问题的具体细节,但是如何:
在构建配置中,选中“此构建已参数化”,然后创建一个名为“branch”(或类似)的字符串或选项参数,默认为您的开发分支。
然后,在git配置中,通常分支名称,使用“$ {branch}”而不是硬编码分支名称。
如果自动触发构建,它将使用develop分支。但是当您手动启动构建时,您将可以选择指定新的分支名称。