来自 Web 开发人员的 DevOps 问题提醒 :) 我想将所有本地修改的文件复制到远程服务器。现在我知道我可以使用 rsync,例如:
rsync -cavzu / [email protected]:/file/path/
但我想知道现在是否有一个方便的 rsync 包装器?理想情况下,最好具有以下功能:
- 配置我不想复制的文件(例如
localsettings.py
Django 项目) - 存储远程文件路径,这样我就不必每次都指定它
- 存储部署到开发或生产服务器的不同选项,使用单个标志指定
再次,我想我可以通过围绕 rsync 编写自己的 shell 脚本来完成所有这些操作,但我只是想知道现在是否有更简单的实用程序可以完成上述操作。
答案1
如果你使用 Ruby on Rails,Capistrano 就是你要找的。我认为 Python/Django 也有类似的东西(更新:它叫织物)。其他语言和框架应该也有类似的工具。
Capistrano 不使用 rsync,而是从您的 Git(或其他 VCS)服务器运行签出。您可以轻松定义自己的部署任务并设置不同的环境。