如何组织开发生命周期?
是的,我知道这是一个非常困难的问题;然而,我正在努力在数千篇文章/文档等中找到组织我的开发过程的最佳方式。然而,我害怕可能导致损害的痛苦的错误。
有一个项目;让我们称它为titan。该项目以Ruby on rails和postgresql作为数据库实现。当前结构是
[developer]->[dev-server]
{
(load-balancer)->app_server_1<---write/read--->Postgresql(master)
|
|replication
|
->app_server_2<---read.only---->Postgresql(slave)
}这是应用程序的预期结构;此应用程序仅供开发人员使用,因此无法从Internet访问。在这一点上,首先会出现问题。我打算在亚马逊云服务中部署我的应用程序。
当然,我可以在云中创建一个虚拟机,复制项目的文件,配置我的所有员工,但是这需要很多时间,而且有时会导致不同的问题和错误。我想为开发人员(我)创建环境,帮助我通过单击按钮来部署我的应用程序。
我认为有软件可以很容易地处理我的部署任务,但现在我坚持使用它。所以这里有一个我认为适合我的结构
[amazon]---------{
^ (load-balancer)->app_server_1<---write/read--->Postgresql(master) |
| |
| |replication |
| |
| ->app_server_2<---read.only---->Postgresql(slave) |
|
| }
|(a)
[developer]->[dev-server]
{
(load-balancer)->app_server_1<---write/read--->Postgresql(master)
|
|replication
|
->app_server_2<---read.only---->Postgresql(slave)
}在(a)这一点上,有许多问题。在这个阶段,我想测试我的应用程序(单元测试),根据亚马逊的服务器配置重新配置,将其状态更改为production,而不是dev。诸若此类。我希望它应该是一个可以帮助我做到这一点的软件,否则你会给我一些有用的提示。
发布于 2015-12-04 23:47:30
在Rails中,development环境打算在您的机器(或某种类型的虚拟机)上本地运行,如果需要,您可以在intranet上共享它,但千万不要在服务器上使用development设置运行Rails,因为它们可能不安全。您可以将您的生产服务器镜像到您的开发环境中,但是dev和test永远不应该连接到您的生产数据库,因为这是一种糟糕且不安全的做法。
如果您想要有一个环境,您可以在其中测试功能并在将它们部署到生产之前向利益相关者展示它们,那么您可以创建所谓的staging环境。通常,暂存环境在实时数据库的镜像上工作,并具有额外的访问控制。
Rails允许您创建任意数量的环境-其名称基本上只是告诉rails加载特定于该环境的/config/environments/{name}.rb和gem。
作为你工作流程的一部分,你应该已经在使用GIT (或者至少是某种版本控制)。亚马逊网络服务有很多工具可以让你使用deploy from your Github repository或其他代码托管存储库。
https://stackoverflow.com/questions/34091181
复制相似问题