git jenkins和生产方法

时间:2012-02-12 09:06:42

标签: java git maven jenkins production

我目前正在使用git和jenkins与maven来执行构建。 我想知道你在“为生产而建设”方面的最佳做法是什么。

我有一个想法是创建一个新分支(让我们称之为生产),并在我们完成主设备上的功能时构建它。

另一个想法是在发布版本(使用maven:release)并构建该标记之后。

我很想听听那个领域的实际经验

还有其他想法吗?

2 个答案:

答案 0 :(得分:1)

我们正在使用此处描述的分支模型http://nvie.com/posts/a-successful-git-branching-model/

包括修补程序在内的所有开发工作都在分支机构中完成。然后,当一个或多个分支合并到master中时,我们将推送到生产构建和部署。大多数开发都是在开发分支之外的功能分支中完成的。当工作合并到开发时,它被构建并部署到开发环境,其他项目使用它,即开发镜是我们整个生产环境的开发镜像。然后,当工作合并到部署到我们的QA环境的发布分支时。在那里它需要我们的质量保证团队进一步测试,当他们签署时,我们合并为主人。

我正在考虑对此进行一次更改,即将所有功能的夜间自动化和开发成为一个单独的夜间分支,仅用于构建它并验证我们没有引入合并问题或新的集成错误。每天都会创建一个新的夜间分支。

答案 1 :(得分:0)

您可能会发现此article by Martin Fowler有用。

CI的主要思想之一是您将代码发布到主开发主干的生产中。现在,在实践中,这种方法可能会有一些皱纹,但至少这是人们应该努力的目标。

我们为不同的客户提供单独的分支机构,但不适用于开发与生产。当我们认为某个特定版本已准备好进行生产(即通过所有自动化测试并主观地具有一套全面的特征)时,它会进入QC,然后“祝福”或“诅咒”它。当它通过QC时,然后半手动标记版本。从理论上讲,它可以按需重建,但我们通常不必再次构建它,因为构建的主要工件是Release和Debug安装程序。