我刚刚编写了一个基本的网络应用程序并将其上传到我的vps中。到目前为止,我在本地主服务器上开发了所有内容。展望未来,我将与2个甚至3个人一起开发应用程序。我没有资金用于物理上独立的环境。我只是希望能够在一个环境中开发,在该环境中进行测试并将代码升级到生产环境。我甚至不认为需要一个单独的测试环境。
我认为他们是像我这样的数百万独立编码员,这个问题的一般解决方案是什么?另外,我知道我应该但我没有使用任何源代码修订控制,例如GIT,是否有必要实现我的目标?
答案 0 :(得分:2)
我建议SVN进行源代码管理。它简单,易于设置,有一个很好的Windows客户端(Tortoise),如果你正在使用它,并且很容易让小型开发团队使用。
拥有2或3个开发人员共享的中央“开发服务器”,它将托管SVN存储库。开发将在本地计算机上完成并进行测试,并在准备就绪时提交给开发服务器(理想情况下,在一天的工作范围内提供小功能)。
开发服务器还可以托管TeamCity的一个小型安装(我认为单个项目是免费版本)或某种形式的持续集成服务器。这可以很容易地配置为具有提交触发的构建(因此立即检测构建错误),每晚构建和部署(用于持续集成测试目的)等。
开发服务器本身也可以托管Web应用程序。由于只有极少数人访问它,资源占用可以口头协调,因此不需要是一台严肃的机器。
现在,您的问题似乎意味着,对于所有人来说,可能只有一台机器(缺乏单独环境的资金,在一个环境中开发等等)。没关系。这可以全部托管在本地计算机上。但是,通过分离不同服务(源控制服务器,持续集成服务器,目标部署服务器)之间的关注点,可以更容易地将这些服务卸载到未来任何增长的其他计算机上。
当然,这对你的需求来说可能都是过度的。没关系。将TeamCity排除在外,只需手动部署到本地计算机并从那里进行测试。没有什么大不了的,而你的团队规模小,足够接近良好的开放式口头交流。但绝对不要把源控制从等式中拿出来。仅仅因为你们都在同一台机器上并不意味着你们不能踩到对方的脚趾并打破代码。如果不出意外,源代码控制提供了对代码所做更改的出色审计日志。也许你想要撤消你几个月前做过的事情,或者看看之前的事情是为了记住你是如何做的事情等等。即使是小型项目中单个机器上的单个开发人员也应该绝对采用源代码控制。
答案 1 :(得分:0)
你 应该对任何非平凡的项目使用修订控制。
对于一个2人团队,git仍然适合。一个工作流程是拥有一个反映生产的“祝福”git仓库,让每个开发人员在测试了他的更改后(在他的开发框中)对祝福的存储库执行git push
。
但是,很大程度上取决于您的VPS提供的环境。例如,一些较旧的CentOS版本没有git(您必须自己维护git安装)。
也许您应该在问题中提供更多背景信息?
答案 2 :(得分:0)
你不想让这个过程详细说明,否则没有人会遵循它。保持简单。
我建议使用git进行版本控制。简单,灵活,它使分支和合并非常容易。
可能的设置: 拥有主要的仓库,一切都被推到了。一旦你感到高兴(并且已经过测试)并且你已经准备好将它移动到prod'tag',那么带有版本号的存储库和prod环境会拉出你想要的项目的标记版本。
这样可以保持简单,如果你愿意,它可以在一台服务器上(尽管推荐不同的目录)。