我们使用以下 git 工作流程在不同的开发人员团队中工作:
- 领取票
- git拉/结帐
- 创建功能/错误修复分支
- 做改变
- 提交到分支
- 合并到测试分支,git pull 到测试环境
- 在与 live 相同的环境中测试
- 如果测试成功,则合并到证明,git pull 到证明
- 客户签收
- 合并生活
- git pull 直播
但是,我无法决定开发人员将更改拉到实时服务器的最佳方式。
目前,开发人员通过 SSH 连接到实时服务器(使用个人用户帐户)并执行 git pull - 但是他们需要对服务器上的代码库具有读/写访问权限。
我不喜欢这样,因为只有一个人(或系统管理员)必须执行部署。
另一种方法是创建一个 Web 可访问的 git pull 脚本,因此当开发人员想要执行 pull 时,该脚本会在服务器上执行 git pull 并输出到浏览器。
在我看来,最好的替代方法是在将 repo 推送到时触发挂钩 - 我们使用 gitlab,所以我认为这个实现相对简单,web 服务器上的脚本接收一个包含有关存储库信息的 POST 对象,因此可以编写脚本,仅在接收挂钩的分支已更新时才触发拉动(如果有意义的话)。还可以向执行推送的用户发送一封电子邮件,并输出 git pull 消息,以确保一切按计划进行。但是我很不舒服开发人员可能会不小心推送到错误的分支并且提交过早地生效 - 理想情况下应该有某种 github 风格的合并请求功能。
有没有人有任何其他的建议或建议?