build立testing和生活环境 – 如何?

我对服务器和东西有点新,所以有一个问题。 我有我的开发团队在我的网站上工作。 他们在不同的国家,现在他们把所有的工作都放在testing现场。 但是testing网站对任何知道URL的人开放。 它在一个目录后面,但是这会影响我的QA过程,因为我无法使用准确的URL结构来阻止大众看到它。 所以我想要做的是:

让我的网站在网上生活,但只为我和我的团队,所以像一个内部networking。 当我把它放到现场时,我也需要把这个镜像反映到我的现场。 所以我想这就像build立一个舞台和生活环境。

  1. 那么如何做到这一点,并在同一台物理服务器上的环境,或者我需要购买两台服务器?
  2. 如果我设置一个临时环境,我将如何访问它和我的团队,因为我们都展开,所以我假设我们需要login到访问它的东西?
  3. 怎么样的URL – 我需要一个不同的testing网站的URL或我可以使用相同的testing网站的实时url?

我打算为我的网站获得一个专用的服务器+ CDN。 平台是PHP codeignitor和MySQL。

一般来说,你的testing环境应该完全独立于你的生产环境 – 这样你就可以在软件更新之前testing一些东西,比如软件更新,所以如果它们被破坏了,你可以决定在没有时间压力的情况下你的生活环境下降。


对于一个理想的情况,我的build议是build立一个与你的生产环境完全相同的开发环境 – 所有软件的相同版本,相同的数据库内容等等。这个环境可以被公开访问,或者被锁在防火墙的后面您的开发人员和QA会在VPN中进行工作(您往往依赖于您的工作stream程和stream程,但我个人喜欢VPN解决scheme)。

使用像VMWare这样的开发环境来build立开发环境通常也是有利的,在这个环境中,你可以在做大的改动之前快照环境。

您还需要一个适当的stream程来促进您对生产的更改。 如果您现在有时间投资于像Puppet或radmind这样的解决scheme,它将使未来的部署变得更加容易(VMWare在这里也派上用场 – 您可以在虚拟机上testing您的部署过程并对其进行debugging,以便在生产环境中运行时知道它将如何performance)。

我的基本方法是有两个目录,相同的物理服务器。

我在apache中为dev.sitename.com和www.sitename.com设置了一个单独的VirtualHost。 当我对dev上的某些东西感到满意时,我将代码推送到www。

随便我通常用dropbox共享文件夹来做,并创build一个符号链接到/ var / www。 这样,我很容易修改文件并查看结果。

如果你正在和多个用户一起工作,那么让开发环境版本控制的版本库会更好。 设置一个git服务器,并将资源库链接到apache的http目录。