8

我必须将我的 php/html/css/etc 代码部署到多个服务器,并且我正在寻找可以轻松安全地部署到多个服务器的软件选项。

如果它可以绑定到我的 SVN 也有帮助。

有什么建议么?

4

11 回答 11

12

Capistrano非常方便。有几个人使用它(1、2、3 来部署PHP代码,这可以通过快速搜索来证明。

于 2008-09-18T20:38:37.267 回答
4

使用 ssh 设置无密码公钥身份验证将允许您非常快速地将文件 scp 到任何服务器(或通过 shell 脚本自动执行)。

这是一个简单的教程:http ://rcsg-gsir.imsb-dsgi.nrc-cnrc.gc.ca/documents/internet/node31.html

于 2008-09-18T20:14:16.870 回答
2

如果您在 Redhat 或 Debian 上运行,请考虑将您的代码打包到 RPM 或 Debs 中。然后构建一个 yum 或 dpkg 存储库并将你的包放在那里。然后,您可以使用系统的包管理进行升级/回滚等。您甚至可以使用puppet来自动化该过程。

如果你想把它绑定到颠覆中,你可以为每个新版本创建一个分支。当目录中出现新分支时,使用提交脚本构建 RPM。

于 2008-09-18T20:31:00.107 回答
2

我会第二个Capistrano。它非常强大和灵活。我们当前的项目使用 Capistrano 部署到不同的服务器以及多台服务器。我们将两个参数传递给 cap 命令:1)要运行的机器特定配置选项集的名称和 2)要运行的操作的名称

最终看起来像这样:

cap -f deploy.rb live deploy

或者

cap -f deploy.rb dev deploy

当然,默认用例——一次部署到多台机器——对 Capistrano 来说是轻而易举的事,而且你不需要在要部署的机器上安装 Capistrano。总而言之,美味的技术。

于 2008-09-18T23:45:10.843 回答
1

我以前使用过Automated Build Studio来完成类似的任务。它为您提供了很大的灵活性,您可以做什么。

于 2008-09-18T20:15:00.317 回答
1

我同意 - 设置您的 svn 树,并使用 rsync over ssh 将树复制到远程位置。rsync 将使其快速高效,仅复制更改而不是完整文件。

您想将 svn 树导出到某个目录,然后从那里 rsync 到远程主机的目录树。

于 2008-09-18T20:18:04.240 回答
1

我还忘了提到,如果你使用 rsync,你可以设置 rsync 使用 ssh,这样你只会传输已经改变的文件,节省时间和带宽。

于 2008-09-18T20:25:28.373 回答
1

您还可以使用免费的kwateeSDCM,它允许通过 ssh 进行远程安装。它还使您能够从一个中心位置管理特定于服务器的配置,并使升级变得无懈可击。

于 2011-04-18T16:01:23.650 回答
0

我已经标记了一篇关于如何使用 Subversion 部署您的网站的帖子:http ://blog.lavablast.com/post/2008/02/I2c-for-one2c-welcome-our-new-revision-control-overlords!.aspx

于 2008-09-19T08:09:01.333 回答
0

我发现 capistrano 设置后非常易于使用。对于更复杂的环境,配置文件一开始可能会有点混乱,但很快就会变得有价值。我在生产环境中部署到 14 台服务器。我还使用多个环境部署到登台服务器。一个怪癖是,Ruby 中有一个错误会破坏并行部署,但对于 svn 导出,串行部署并不算太糟糕。

于 2009-12-07T17:04:15.903 回答
0

Capistrano 设置太复杂了。我们发现 KwateeSDCM 使用起来非常简单,只需一个简单的 Web 界面,无需编写脚本。我们很快就完成了 Windows 和 linux 服务器上的 Dev 和 QA 配置的部署配置。

于 2011-06-13T21:11:18.203 回答