Capistrano MUTEX - 阻止并发执行

时间:2016-02-24 18:29:38

标签: capistrano mutex

我们正在使用Capistrano 3.0,并允许我们的开发人员使用自己的用户帐户从各自的计算机部署到各种服务器。

我们需要阻止并发执行(单例,互斥模式等)。

我们目前的想法是设置一个“锁定”状态。在部署开始时在目标上的文件,然后在完成后清理文件锁。但是,如果抛出异常,则永远不会到达:finished完成的代码。我正在试验开始,救援,确保删除文件锁,但我真的不想用这包装所有的部署代码。

我们如何阻止在给定目标计算机上进行并发部署?

1 个答案:

答案 0 :(得分:2)

如果部署因任何原因失败,Capistrano还会执行deploy:failed任务。你可以在那里进行清理。

您还可以搜索GitHub中的术语“capistrano”和“锁定”,以查看其他人是如何解决此问题的。不过,我认为这些项目目前都没有。