在我的工作场所,我们正在尝试设计一个基于 Git 的工作流程来处理我们的部署和代码更改。
我们有一个 Java EE Web 应用程序和 3 个部署环境(测试、QA 和生产)。我们还有一个 Jenkins CI 实例来处理构建和部署。
当对应用程序的代码(在分支中)进行更改时,我们需要能够选择哪些代码要升级到 QA 和生产。有些可能会进行质量检查,然后永远不会投入生产。
在升级和合并时,我们还需要避免意外地将其他人的代码包含在您的分支中。
分支的“升级”也需要自动化——这样分析师就会选择分支或变更集,然后 jenkins 或其他一些脚本将进行实际的合并和部署。我发现合并冲突是这里的一个问题......
您建议如何设置 Git 存储库来满足这些要求?
正如我在“使用 Git 进行代码升级“,不要忘记分支是not隔离开发工作(例如跨环境升级)的唯一方法。
您还拥有 git 存储库本身,并且可以将 git 存储库分配给特定角色(“测试”存储库、“QA“存储库”等)
结合Gitolite,您可以保护这些存储库免受不应直接推送到开发生命周期某个阶段的用户的访问。
还结合受保护的提交,您可以推送到测试存储库,这将:
- 如果未通过编译和/或某些单元测试,则拒绝您的提交
- 或接受它,并自动推送到 QA 存储库进行审查。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)