那么,根据你的经验,最好的方法是什么?在构建自动化工具中,有没有一种安全的方式也是可脚本化/可触发的?
编辑:我应该提一下这是windows/.net,我将部署到iis6
发布于 2008-08-20 15:32:22
对于一些项目,我使用Capistrano进行推送。它构建在ruby之上,并且使用ssh使得部署脚本编写变得非常容易。
在其他项目中,我有一个小型部署应用程序,它使用bash将svn导出到一个临时目录,然后将其rsync到实时服务器。您可以使用ssh使rsync。
我非常喜欢Capistrano方法,即使你的项目不是ruby/rails。
发布于 2008-08-20 15:37:21
这似乎是使用SFTP可以轻松完成的事情。看看PuTTY (psftp和pscp)或者Windows的WinSCP,或者Unixes的rsync和OpenSSH。
发布于 2008-08-20 15:38:28
创建一个实时站点目录的副本,使用rsync将该副本更新为最新版本,然后重命名实时目录和更新后的目录,以便更新后的版本现在是实时的。
在bash中:
#!/bin/bash
set -e
cp -R /var/livesite /var/newversion
rsync user@devserver:/var/readytogolive /var/newversion
mv /var/livesite /var/oldlivesite
mv /var/newversion /var/livesite维奥拉!
编辑:@Ted Percival -这是个好主意。我甚至不知道"set -e“这个词。更新的脚本。Edit:在Ted的建议下再次更新(尽管我认为如果cp命令以某种方式失败了,它仍然可以工作,如果cp失败,您可能会遇到更严重的问题。)
https://stackoverflow.com/questions/18224
复制相似问题