我知道这个话题已经有很多问题,但我很难找到我需要的东西。
我们是一个目前正在使用SVN的开发团队,但很快就会转向Git。我们习惯于检查更改并全天推送到实时网站,但目前缺少任何正式的测试程序,这是我们想要添加的内容。我习惯用SVN做的方式是:
这显然会产生一些问题,特别是如果沟通不好的话。我经历过未经测试的变化已经过去的时候,这是我们一定要避免的事情。
我想象的是一个主Git存储库,它包含在实时服务器上运行的经过测试的代码。然后拥有该存储库的克隆,用于测试修订。我希望有一个脚本负责从请求开发人员那里提取更改,将它们放在测试存储库的分支中,并运行一些自动化测试以确保没有任何重大内容被破坏。当全部检出时,该分支可以合并并推送到主服务器并运行到实时服务器。
我想听听有关此可能的工作流程的任何意见以及任何改进建议或如何以不同方式执行此操作。此外,任何有关如何设置此功能的细节也将受到赞赏。谢谢!
编辑:我已经使用了上面的方法一段时间了,它的效果非常好。答案 0 :(得分:2)
您真的需要一个单独的存储库吗?您的实时代码只是一个分支;你可以使用其他分支来测试“部署候选人”。
您不一定需要一个脚本来提取更改 - 开发人员可以将它们推送到单独的分支,然后调用脚本来测试该分支。
答案 1 :(得分:1)
您是否考虑过代码审核? Gerrit可能会有所帮助 (请参阅Android's Gerrit instance了解您获得的功能。)
然后,您可以设置一个测试环境,将一个或多个更改从refs / for / master提取到测试服务器。
这在我的头脑中非常模糊,但也许你觉得它是一个有用的指针。
答案 2 :(得分:0)