我是孤显影剂。我们有一对夫妇的托管一个虚拟主机的网站上。该svn库也是虚拟主机上。在家里,我们有一个开发机,这是现场环境的足够接近的复制。

有关实际网站,我有颠覆的出口,以版本号适当命名。活网站的文档根目录实际上是一个符号链接到该目录。这样一来,我可以很容易地通过简单地改变符号链接指向哪里回滚或来回导出版本而无需停机。

在谈到时间,实际部署,我会版本的树干出口到直播网站的子目录,作为一个临时区域,并做一些测试。这样,我看它是如何表现在实际环境中,在不改变任何东西,用户看到。然后,如果一切正常,我会做的另一个出口到我的帐户根和改变符号链接(再次和测试!)

这是矫枉过正?什么是这样做的其他方式?

有帮助吗?

解决方案

有Capistrano的是,它可以帮助您在这个过程中。使用SSH和钥匙,它使得过程相当无缝部署的变化和这样的。虽然这是一个Ruby应用程序,你可以用它仍然部署PHP或其他应用程序,看一看的此处为一些信息

和它这篇文章的会谈,使用共享文件夹与您的发行文件夹一起。共享文件夹可以容纳配置文件对于那些网站的生命周期内上传您的个性化部署服务器(URL,数据库连接等),以及资产,并没有SVN。你可以有Capistrano的您处理该问题也。

虽然有人不知道设置可能有一定的困难,第一个看到这个,那真叫部署方便。我认为Capistrano的确实是非常简单,也许可以写在另一种语言来处理您的具体方案。

和另一个想法扎入SVN,或任何存储库这一点。就是用自己的钩子来执行这些部署。即每次提交干路将更新开发服务器。和分支将它推到你的暂存环境。

但是此链接确实展示了如何建立这种类型的环境的一个伟大的工作。我觉得你有什么设置是很好的做法,是不是做得不够。这可以帮助你的唯一的事情是自动部署到不同的环境和脚本,以帮助新部署的设置。

更新::结果 另外,我想指出,SVN可以处理符号链接。所以,如果你在Unix做部署的服务器,你可以只是把符号链接在你的仓库,并使用相对符号链接。

所以,如果你有

./releases/200912231043
./shared/uploads

您可以把您的符号链接为

./releases/200912231043/uploads -> ../../shared/uploads

这会给你一个简单的方法,在不使用svn管理资产,而无需使用大量的脚本没有部署的。现在,您可以只使用一个承诺部署到您的开发和/或升级。

其他提示

我想这也正是这样做的正确方法。看起来理想的对我说:直播更新会作为一个全面的测试版本,变化也佐证的是提交的消息,回滚(来回)是很简单的从一个版本到另一个开关是原子的,所以没有停机时间。我努力做到与每个项目的方式相同。

什么是你的问题?你是不确定的东西吗?难道不工作适合你?那么,是什么它的一部分是什么呢?

这是什么样的,我做了近一年度的一对夫妇的项目 - 从未有过一个问题,做事情的这样

“回退”与符号链接的可能性,可能会被视为有点大材小用,是的......但是你需要它,以节省您部署一个版本有严重错误的网站的那一天,你真的很感激具有能力! 结果我用这个像2次3年 - 但是,每一次,它真的帮了^^

,点击 有一两件事似乎很奇怪对我来说,虽然:如果我理解正确的,你是活(生产)数据库上测试该网站的新版本

如果是这样,如果在应用程序中的错误,你可以摧毁你的生产数据库 - 这很明显,将是坏

我会用另一个数据库为测试环境,personnaly - 只是作为一种安全措施

,点击 另外:?你是做了很多的测试,这是很好的......但是,为什么不自动执行某些那些

这将允许您测试更快,更多的时候,你会花更少的时间测试,更多的时间深化发展; - )

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top