所以,我在一家小型活动/娱乐公司工作,最近接管了开发团队的责任(PHP应用程序,大部分时间)。当前的工作流程看起来像这样:
我觉得这很可怕,所以我提出了这个想法:
这种工作流程有什么问题吗?我已经将Mercurial用于我自己的项目,但我之前从未在团队中使用它,而且我也是所有团队管理人员的新手。我很感激一些建议。
谢谢, 克里斯
答案 0 :(得分:1)
这是我工作了几年的工作流程......
多个生产服务器, 1个项目(测试)服务器, Git(Bitbucket), 詹金斯, JIRA(问题跟踪), HipChat(团队聊天) 1 x Master Git Branch, 1 x Project Git Branch
我上面提到了Jenkins,对于想要实现新进程的开发团队来说,这可能会有点过头了,现在我建议一些更基本的东西,比如FTPloy,这里有一个非常好的指南来设置它: https://daveismyname.com/website-deployment-with-bitbucket-and-ftploy-bp
答案 1 :(得分:0)
让您的开发人员在本地工作很有意义。 PHP的最大优点是反馈周期短,如果他们必须将可能破坏的东西推送到共享开发盒,那么这会打破短反馈周期。您可以使用像Vagrant这样的东西来为开发机器上的开发人员更轻松地设置环境。
就其余部分而言:我会将您的开发/测试服务器从中央存储库中分离出来。原因是当您处理项目时,您可能会开始使用不同版本的分支。很可能会有一个" Stable" /当前发布的项目分支和一个"功能"分支(你正在研究的新东西)。直接发布到开发服务器对于即使像我建议的基本分支工作流程也没有意义。
我在这里看到的另一个重大问题是所有开发人员都可以向生产服务器发布版本。通常,即使在较小的组织中,在释放到生产服务器之前,还有指定的人和指定的标准。我建议你这样做。在发布之前,你们应该总是标记你要发布的版本。这应该是您的发布工作流程的一部分。
您未提及的另一件事是问题跟踪。就我而言,JIRA是问题跟踪软件的黄金标准。我们喜欢使用JIRA和Fisheye来管理我们的代码并协调具有特定问题的提交。