当前位置:  开发笔记 > 编程语言 > 正文

我应该使用git来部署网站吗?

如何解决《我应该使用git来部署网站吗?》经验,为你挑选了3个好方法。

我有一个在django上运行的网站,(但这个问题适用于任何东西,php等)

目前我正在使用unison来部署我的更改,而我(有点习惯)喜欢它,因为在此之前我手动操作!

现在,当我用git弄湿我的脚时,我开始喜欢它了!而且我在考虑是否应该使用它而不是一致地部署我的更改!

这样,如果以某种方式部署它们变成了灾难,我将能够恢复我的更改!

问题是:

git是否适合部署网站?

我应该注意的任何事情/问题/陷阱?

Jeremy Cantr.. 16

我使用git来跟踪我的网站,我像这样部署它:

git archive --format=tar --prefix="homepage/" master | gzip | ssh webserver "tar xvz -C ~/public_html"

这值得一点解释.git的archive命令将导出master分支的文件,该分支通过gzip压缩以最小化网络流量.它是通过ssh远程接收的,它被解压缩到最终的目标目录中.

我使用的部署脚本还有一些进展,但这是最重要的部分.



1> Jeremy Cantr..:

我使用git来跟踪我的网站,我像这样部署它:

git archive --format=tar --prefix="homepage/" master | gzip | ssh webserver "tar xvz -C ~/public_html"

这值得一点解释.git的archive命令将导出master分支的文件,该分支通过gzip压缩以最小化网络流量.它是通过ssh远程接收的,它被解压缩到最终的目标目录中.

我使用的部署脚本还有一些进展,但这是最重要的部分.



2> nabucosound..:

你可以看看面料,Djangonauts的青睐......



3> hyuan..:

如果问题是你是否可以使用git来部署你的django应用程序,答案是肯定的!

但是,流行应用程序的生产部署可能会变得复杂 - 并且不仅仅是回滚文件.您可能需要运行数据库脚本(升级和降级脚本),重新启动cron作业或移动文件.

作为部署过程的一部分,您可能希望完整备份代码库,以便可以回滚任意数量的版本.

一种方法是使用Capistrano为您自动完成整个部署过程.您在开发环境中编写脚本并发出以下命令:cap deploy,cap deploy_with_migrations,cap rollback等.从登录一直到备份过程和运行DB脚本,一切都是自动化的.通过自动部署,您可以消除生产环境中的错误.我最近采访了一个组织,他在部署过程中意外删除了整个数据库,需要从备份中恢复所有内容.部署错误确实会破坏您的业务,因此如果您认真对待它,您希望自动执行此操作.

虽然Capistrano是一种常用于Rails的基于Ruby的部署工具,但它在自动化功能方面却是不可知的.互联网上有很多帖子讨论了使用Capistrano(google - django capistrano)部署Django应用程序的好处.

您也可以在这里查看此链接

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有