it-swarm.cn

部署网站最有效的方法是什么?

我知道部署网站的几种方法:

  • FTP
  • 从源代码管理中导出
  • 将站点基于源控件检出

我可以看到每个的一些好处和缺点。关于部署新站点OR站点修改的最有效方法是否有任何共识?

8
Grant Palin

Stack Overflow上最适合我们的(并且符合 Joel Test的第2点 )是一个 持续集成 解决方案,允许一键构建我们的生产站点,如以及在新代码签入时自动构建我们的开发人员层。

我们使用 CruiseControl 的.NET风格,带有令人兴奋的名字.. CruiseControl.NET :)

一些 关键特征 包括:

  • 与各种源控制系统集成
  • 与其他外部工具集成,例如NAnt和Visual Studio
  • 可以在一台服务器上构建多个项目
  • 远程管理和报告

我们对这个开源软件非常满意,并会推荐给任何希望简化构建过程的团队。

6
Jarrod Dixon

我更喜欢自动化和可重复的部署。您肯定希望从源代码控制标记开始,这样您就可以确切地知道自己部署了什么,并且可以随时重新部署它。然后使用脚本将其推送到服务器,类似于Capistrano,或者只是一个自制的bash脚本或其他东西。

对于使用已编译代码的站点,如果测试服务器与生产服务器匹配,则最好一次编译代码,并在测试后将相同的编译版本推送到生产中。

3
Matthew Shanley

我使用自定义脚本。对于静态(基于HTML)的网站,我使用具有新版本和已安装版本的双目录,然后该脚本在新版本和已安装版本上运行递归diff,并仅上载已更改的文件。

1
delete

我使用带有几个自定义钩子的git进行部署。这甚至有一个优点,我可以为dev/test/beta/production站点运行几个分支并执行一些CI。对于紧急补丁,git总是允许从一个分支到下一个分支中挑选特定的提交。

0
txwikinger