Svn 2人团队的简单开发/测试/生产环境策略

Svn 2人团队的简单开发/测试/生产环境策略,svn,development-environment,Svn,Development Environment,我刚刚完成了一个基本web应用程序的编码,并将其上传到我的vps上。到目前为止,我在本地家庭服务器上开发了所有东西。展望未来,我将与2人,甚至可能是3人进一步开发该应用程序。我没有资金用于物理上独立的环境。我只想能够在一个环境中开发,在那个环境中测试,并将代码推广到生产环境中。我甚至不认为需要一个单独的测试环境 我会想象他们是数百万像我这样的独立程序员,这个问题的一般解决方案是什么?此外,我知道我应该这样做,但我不使用任何源代码版本控制,如GIT,这对我试图实现的目标是必要的吗? 您应该对任何非

我刚刚完成了一个基本web应用程序的编码,并将其上传到我的vps上。到目前为止,我在本地家庭服务器上开发了所有东西。展望未来,我将与2人,甚至可能是3人进一步开发该应用程序。我没有资金用于物理上独立的环境。我只想能够在一个环境中开发,在那个环境中测试,并将代码推广到生产环境中。我甚至不认为需要一个单独的测试环境

我会想象他们是数百万像我这样的独立程序员,这个问题的一般解决方案是什么?此外,我知道我应该这样做,但我不使用任何源代码版本控制,如GIT,这对我试图实现的目标是必要的吗?

  • 您应该对任何非平凡项目使用修订控制

  • 对于2人团队,git仍然适用。一个工作流程是有一个反映生产的“受祝福的”git repo,并让每个开发人员在测试其更改后(在其开发框中)将git推送到受祝福的存储库

但是,很大程度上取决于VPS提供的环境。例如,一些较旧的CentOS版本没有git(您必须自己维护git安装)


也许您应该在您的问题中提供更多的上下文?

我建议将SVN用于源代码管理。它很简单,易于设置,如果您正在使用的话,它有一个很好的Windows客户端(Tortoise),并且对于小型开发团队来说非常容易使用

有一个2或3个开发人员共享的中央“开发服务器”,它将托管SVN存储库。开发将在本地机器上完成和测试,并在准备就绪时提交给开发服务器(理想情况下,一天工作范围内的小功能)

dev服务器还可以托管TeamCity的一个小型安装(我认为单个项目是免费版本)或某种形式的持续集成服务器。这可以很容易地配置为具有提交触发的构建(因此可以立即检测到构建错误)、夜间构建和部署(用于持续集成测试目的)等

dev服务器本身也可以承载web应用程序。因为只有很少的人访问它,而且资源占用可以口头协调,所以它不需要是一台严肃的机器

现在,您的问题似乎暗示,对于您所有人来说,可能总共只有一台机器(单独的环境缺乏资金,在一个环境中开发,等等)。那很好。这些都可以托管在本地计算机上。但是,通过分离不同服务(源代码管理服务器、持续集成服务器、目标部署服务器)之间的关注点,在未来的任何增长期间,将更容易将这些服务卸载到其他机器上


当然,这对于你的需求来说可能是过分的。那很好。将TeamCity从等式中去掉,只需手动部署到本地机器并从那里进行测试。当你的团队规模很小,距离很近,可以进行良好的开放式口头交流时,没什么大不了的。但绝对不要把源代码控制排除在外。仅仅因为你们都在同一台机器上,并不意味着你们不能互相攻击,破坏代码。如果没有别的,源代码管理提供了对代码所做更改的良好审核日志。也许你想撤销几个月前做过的事情,或者看看在那之前是什么来记住你是怎么做的,等等。即使是一个小型项目中一台机器上的单个开发人员也绝对应该使用源代码管理。

你不想让过程变得复杂,否则没有人会遵循它。保持简单

我建议使用git进行版本控制。简单、灵活,使分支和合并非常容易

可能的设置: 有一个主要的回购协议,所有的东西都会被推到那里。一旦您满意(并且已经过测试)并准备将其移动到具有版本号的prod“”存储库中,然后从prod环境中提取所需项目的标记版本

这使事情变得简单,如果您喜欢,可以在一台服务器上完成(不过建议使用不同的目录)