请多多包涵....
(编辑...)
╔════════════╦═══════════════════╦══════╗
║ repo name ║ role ║ user ║
╠════════════╬═══════════════════╬══════╣
║ RepoMain ║ production ║ Mr.A ║
║ RepoTest ║ test server ║ QA ║
║ RepoB_vm ║ Mr.B's vm ║ Mr.B ║
║ RepoB_home ║ Mr.B's final repo ║ Mr.B ║
║ RepoC_vm ║ Mr.C's vm ║ Mr.C ║
║ RepoC_home ║ Mr.C's final repo ║ Mr.C ║
╚════════════╩═══════════════════╩══════╝
你可以想象 Mr.A 和其他人一起工作,所以他有自己的存储库(同一个项目)
有几个热门的新手问题,我想我还没有结束。
在您自己的 VM(虚拟机)上工作的基本工作流程
提交您的更改 --> 从测试服务器拉取到 Repo_vm --> 在 vm 上运行您的测试 --> 成功然后要求 QA 从 Repo_home 拉取
这是最好的工作流程吗?我总是害怕合并问题(有时更新的更改丢失了。我有过一次可怕的经历)。我认为生产 <--- 测试服务器没有什么大不了的,因为它是单向的。这听起来像是一个安全的合并。
但是多个开发人员使用相同的测试服务器存储库,如果我们这样做,我们最终会被 Michael Myers 追赶。
为了更明确地扩展上述工作流程......
- 在 vm 上提交更改
- 从测试服务器拉取
- 在 vm 上运行测试
- 如果一切通过,更新家庭回购
- 要求 QA 从 repo_home 中提取
考虑到拉取请求,这是一个更好的工作流程吗?
- 在您自己的虚拟机上提交更改
- 从测试服务器拉取更改以获取最新的 alpha 版本
- 在本地运行测试
- 如果一切顺利,请使用您自己的帐户推送到您的 home repo
- 提交拉取请求
- 如果您排在队列的前面,请在测试服务器(沙箱环境)上创建一个克隆版本,然后进行合并(测试服务器可能具有与 home repo 中提交的最后一个 alpha 版本不同的最新版本)
- 如果测试通过,他会告诉 QA 从合并的沙箱 repo 中提取
- 运行测试
- 在 scheulde 上推动生产
Q2:QA 给予有限的时间是什么意思?
Q3:开发人员应该多久从测试服务器拉取一次(包含最新的 alpha 稳定版本)?
谢谢。