具有多个服务器的远程站点中的开发和版本控制工作流程

时间:2015-05-10 11:27:25

标签: git amazon-web-services version-control remote-access

我在AWS中有一个网站,包括四个服务器:网络(前端),文件,数据库和应用程序(后端)。该结构被复制用于生产和测试/开发。此外,我有一个本地的网络和应用程序副本。我一直在单独开发本地文件并测试测试服务器上的更改。我在本地使用Bazaar作为版本控制。

现在,新的开发人员正在进入项目的Web(前端)部分,我怀疑正确的版本控制工作流程。我知道我们将使用Git并且本地测试非常有限。另外,我想限制我们能够阅读和修改的文件夹。

此架构的最佳做法是什么?什么是最好的工作流程?

1 个答案:

答案 0 :(得分:0)

这取决于很多事情。首先,通常最佳实践解决方案是对您的项目(或至少一个团队)规模过大。

如果您有一个拥有大型团队的长项目,正确的自动化测试,我建议您使用Jenkis服务器(或任何其他CI工具),您可以在其中对每个签入的代码运行自动化测试。您可以获得有关测试失败,代码覆盖率等的详细报告。您甚至可以在实时环境中进行自动部署。

设置所有这些对于项目来说是一个相当大的开销。 我现在在一些开发人员的项目中做的事情,我们正在使用VisualStudio Online。这为我们提供了TFS版本控制。 (如果你使用Git,那也很好。)

我们有3个Beanstalk环境(dev,test,prod)。 (对于不同的开发团队,我们可能有多个开发环境。)每个部署都是手动的,但Elastic Beanstalk支持多种编程语言的单击部署。

您提到过,您有一个3(4)层Web应用程序,没问题,您可以在Beanstalk中进行设置。 (Frontend-Worker-RDS +您可以根据需要手动设置文件系统。)

所以我建议尝试使用Beanstalk,因为它非常易于使用/部署,特别是如果你没有太独特的设置。

决定是否要投资CI / CD工具。 (如果是,Jenkins,VisualStudioOnline是很棒的工具。)