Ela*_*ich 9 git deployment version-control mercurial
我有一个包含许多大图像文件的网站.使用git维护源(以及图像).我希望通过ftp将其部署到类似bluehost的廉价服务器上.
我不希望每次都部署所有网站(这样我就不必一遍又一遍地上传太多未更改的文件),但大致如下:
它在精神上类似于svn2web.但我想要DVCS.将考虑Mercurial替代方案.
这是一个非常简单的编写脚本,但如果网上有类似的脚本,我宁愿不重新发明轮子.
Capistrano和fab似乎只知道如何在他们的SCM集成中推动整个修订版.所以我认为我目前不能使用它们.
在GIT-FTP脚本可能是你在找什么.它需要更改本地git存储库并将其同步到ftp上的远程git仓库.
我通过托管使用--bare选项创建的git repo来使用它.把它放在我的ftp服务器上.
跑了./git-ftp.py.它提示输入ftp用户名,密码,ftp主机,本地git repo路径,远程git repo路径(裸存储库的位置).
然后它连接到ftp git repo,然后单独发送差异.(它使用git-python库来获取所需的信息).
该脚本几乎没有问题.它似乎总是提示用户名详细信息,我不得不评论第68行.
#ftp.voidcmd('SITE CHMOD 755 ' + node.name).
Run Code Online (Sandbox Code Playgroud)
但这些事情很容易解决.
替代
如果您使用的是nix平台,则可以选择使用curlftpfs.它会将您的ftp帐户挂载为设备目录,您可以从中执行所有正常的git操作(推送,拉取).当然这个解决方案不是特定于git的.
您需要在FTP上共享的repo上使用上面提到的bare选项,并在repo中运行 git update-server-info,然后再通过FTP共享它.
警告:如果您计划让多个用户写入您的git仓库,这不是一个好主意.由于FTP没有LOCK访问机制.你最终会得到一个腐败的回购.在投入生产之前进行测试.
| 归档时间: |
|
| 查看次数: |
6144 次 |
| 最近记录: |