我有一组大约 150Kb 大小的二进制资产(swf 文件)。我正在我的家用计算机上本地开发它们,我想定期部署它们以供审查。我目前的策略是:
- 将 .swf 复制到一个传输目录中,该目录也是一个 hg (mercurial) 存储库。
hg push
我的 slicehost VPN 的变化ssh
到我的 slicehost VPNcd
到我的传输目录和hg up
su www
并将cp
更改后的文件放入我的公共文件夹以供查看。
我想自动化这个过程。最好的情况是:
- 将 .swf 复制到“快速部署”目录中
- 运行一个本地脚本来完成上述所有操作。
我对感兴趣:
- 关于将密码放在哪里的建议,因为我需要
su www
将文件传输到公共网络目录。 - 如何处理本地机器和服务器之间的责任划分。
我认为使用 rsync 是比 hg 更好的工具,因为我真的不需要这些类型更改的修订历史。我可以将其编写为 python 脚本、shell 脚本,或者被认为是最佳实践。
最终,我想将它构建到一个可以处理我适度部署需求的系统中。也许有一个开源部署系统可以处理这种情况和其他类型的情况?我可能会为当前的需求自行开发,但从长远来看,我想要一些相对灵活的东西。
注意:我的家用开发计算机是 OS X,目标服务器是一些最新版本的 Ubuntu。我更喜欢基于 python 的解决方案,但如果最好从 shell 处理,我可以毫无问题地将它放在一起。