我目前工作的公司目前在专用远程服务器上有一个Rails 3应用程序。当前的开发环境是本地机器。
我们正在努力建立一些基础设施,以雇用一些承包商,以便能够远程进行一些开发。显然,这不适用于我们当前的开发设置,因为它是本地的。
我在想我可以将开发和测试代码放在不同的子域中,即
test.mydomain.com和dev.mydomain.com。
这是一个小型(但正在增长)的项目,我们不会有多个开发人员在任何给定时间对我们的系统进行一两次更改。我们开始时采用较小的增强功能,并逐步向更大的增强功能发展。
我的问题是,部署承包商能够远程安全访问的开发系统的最佳方式是什么?
答案 0 :(得分:1)
通常的做法是开发人员仍然可以在自己的系统上进行本地开发,使用版本控制系统(VCS)(例如git)克隆代码。然后,您要么从他们给您的位置“拉”新代码,要么允许他们将代码“推送”到您给他们的位置。但是,可能会设置“暂存”服务器,在部署到“实时”服务器之前将应用程序部署为附加检查; Rails允许您设置任意数量的环境(“开发”,“生产”,“测试”是默认设置,但可以添加更多),或者您可以使用忽略这些设置并使用不同方法的部署解决方案(例如Heroku)。
答案 1 :(得分:0)
你需要拥有源代码控制,最好是svn,然后在任何你想要的地方访问源代码。向承包商和您自己提供用户ID和密码以访问svn并使用您/承包商的PC上的本地开发数据库安装本地开发环境。任何人都可以部署到dev。 ENV。或者只有在他/她具有身份验证时才生成env。
答案 2 :(得分:0)
我正在做类似的事情。我们使用GIT来管理代码。为了管理这些不同的环境,我认为使用GIT工作流很好,但下一步是为所有开发人员访问的开发配置远程数据库。一旦你能够在yaml中配置一个远程数据库,他们只需要通过git提取代码。每个人都会同步,因为你是在同一个“dev”数据库上开发的。