Capistrano&将静态文件同步到远程位置

时间:2015-07-18 22:51:01

标签: deployment capistrano web-deployment

作为Capistrano部署的一部分,我想将我的CSS,JS和图像同步到远程位置(Amazon S3)。但是,我担心如果Capistrano部署失败,这将为我留下更新的CSS,JS和图像..但主要的应用程序代码仍将在之前的版本中。

我想知道如果部署标记为完成并且current文件夹指向新部署的版本文件夹,Capistrano是否有办法只触发任务?这至少允许我只知道主源已更新后才更新静态文件..

当然,我仍然会遇到这样的问题 - 如果与S3的同步失败怎么办?但我认为这种方式在失败点方面会有更好的平衡。

1 个答案:

答案 0 :(得分:1)

Capistrano有一堆你可以在部署期间使用的钩子。

http://capistranorb.com/documentation/getting-started/flow/

您可能希望使用' deploy:finished'例如,挂钩用于您的用例。

after 'deploy:finished', 'deploy:sync_assets_to_S3'

然后创建一个上限任务来执行文件上传。