The company I'm working for currently has a Rails 3 application on a dedicated remote server. The current development environment is a local machine.
我目前工作的公司目前在专用远程服务器上有一个Rails 3应用程序。当前的开发环境是本地机器。
We are trying to put some infrastructure in place to hire some contractors to be able to do some development remotely. Obviously this won't work with our current development setup because it's local.
我们正在努力建立一些基础设施,以雇用一些承包商,以便能够远程进行一些开发。显然,这不适用于我们当前的开发设置,因为它是本地的。
I was thinking that I could put the development and test code in separate subdomains i.e.
我想我可以将开发和测试代码放在单独的子域中,即
test.mydomain.com and dev.mydomain.com.
test.mydomain.com和dev.mydomain.com。
This is a small (but growing) project and we would not have more than one developer working on one or two changes on our system at any given time. We are starting out with smaller enhancements and working our way up to bigger ones.
这是一个小型(但正在增长)的项目,我们不会有多个开发人员在任何给定时间对我们的系统进行一两次更改。我们开始使用较小的增强功能,并逐步实现更大的功能。
My question is, what is the best way to deploy a development system that contractors would be able to access remotely and securely?
我的问题是,部署开发系统的最佳方式是什么,承包商能够远程安全地访问?
3 个解决方案
#1
1
Normal practice would be for developers to still develop locally on their own systems, cloning the code using a version-control system (VCS) such as git. Then, you'd either 'pull' new code from a location they give you, or allow them to 'push' code to a location you give them. There might well be a 'staging' server set up, though, where the application is deployed as an additional check before deploying to the 'live' server; Rails lets you set up an arbitrary number of environments ('development', 'production', 'test' are the defaults, but more can be added), or you could use a deployment solution which ignores these settings and uses a different approach (such as Heroku).
通常的做法是开发人员仍然可以在他们自己的系统上本地开发,使用版本控制系统(VCS)克隆代码,例如git。然后,您要么从他们给您的位置“拉”新代码,要么允许他们将代码“推送”到您给他们的位置。但是,可能会设置“暂存”服务器,在部署到“实时”服务器之前将应用程序部署为附加检查; Rails允许您设置任意数量的环境(“开发”,“生产”,“测试”是默认设置,但可以添加更多),或者您可以使用忽略这些设置并使用不同方法的部署解决方案(比如Heroku)。
#2
0
You need to have source control, preferrably svn, then access that source code anywhere you want. Give a user id and password to the contractor and yourself to access the svn and install local development environment using local development database on your/contractor's pc. Anyone can deploy to dev. env. Or production env only if he/she has the authentication.
你需要有源代码控制,最好是svn,然后在你想要的任何地方访问源代码。向承包商和您自己提供用户ID和密码以访问svn并使用您/承包商的PC上的本地开发数据库安装本地开发环境。任何人都可以部署到dev。 ENV。或者只有在他/她具有身份验证的情况下才能生成env。
#3
0
I am doing something similar. We use GITs to manage the code. To manage those different environments, I think using the GIT workflow is great, but the next step is configuring a remote database for development that all the developers access. They would just need to pull the code via git, once you are able to configure a remote database in the yaml., everyone would be in sync because you are developing on the same "dev" database.
我正在做类似的事情。我们使用GIT来管理代码。为了管理这些不同的环境,我认为使用GIT工作流程非常棒,但下一步是为所有开发人员访问的开发配置远程数据库。一旦你能够在yaml中配置一个远程数据库,他们只需要通过git提取代码。每个人都会同步,因为你是在同一个“dev”数据库上开发的。
#1
1
Normal practice would be for developers to still develop locally on their own systems, cloning the code using a version-control system (VCS) such as git. Then, you'd either 'pull' new code from a location they give you, or allow them to 'push' code to a location you give them. There might well be a 'staging' server set up, though, where the application is deployed as an additional check before deploying to the 'live' server; Rails lets you set up an arbitrary number of environments ('development', 'production', 'test' are the defaults, but more can be added), or you could use a deployment solution which ignores these settings and uses a different approach (such as Heroku).
通常的做法是开发人员仍然可以在他们自己的系统上本地开发,使用版本控制系统(VCS)克隆代码,例如git。然后,您要么从他们给您的位置“拉”新代码,要么允许他们将代码“推送”到您给他们的位置。但是,可能会设置“暂存”服务器,在部署到“实时”服务器之前将应用程序部署为附加检查; Rails允许您设置任意数量的环境(“开发”,“生产”,“测试”是默认设置,但可以添加更多),或者您可以使用忽略这些设置并使用不同方法的部署解决方案(比如Heroku)。
#2
0
You need to have source control, preferrably svn, then access that source code anywhere you want. Give a user id and password to the contractor and yourself to access the svn and install local development environment using local development database on your/contractor's pc. Anyone can deploy to dev. env. Or production env only if he/she has the authentication.
你需要有源代码控制,最好是svn,然后在你想要的任何地方访问源代码。向承包商和您自己提供用户ID和密码以访问svn并使用您/承包商的PC上的本地开发数据库安装本地开发环境。任何人都可以部署到dev。 ENV。或者只有在他/她具有身份验证的情况下才能生成env。
#3
0
I am doing something similar. We use GITs to manage the code. To manage those different environments, I think using the GIT workflow is great, but the next step is configuring a remote database for development that all the developers access. They would just need to pull the code via git, once you are able to configure a remote database in the yaml., everyone would be in sync because you are developing on the same "dev" database.
我正在做类似的事情。我们使用GIT来管理代码。为了管理这些不同的环境,我认为使用GIT工作流程非常棒,但下一步是为所有开发人员访问的开发配置远程数据库。一旦你能够在yaml中配置一个远程数据库,他们只需要通过git提取代码。每个人都会同步,因为你是在同一个“dev”数据库上开发的。