LoginSignup
16
15

More than 5 years have passed since last update.

Fabricは直列、Capistranoは並列

Posted at

Fabric でも Capistrano でも

run("echo stop")
run("echo modify")
run("echo start")

っていう感じで書けるんですが、複数サーバで実行する場合の順序が全然違うので要注意です。ロードバランサから外して、更新して、戻すなんてことを考えてると、Capistrano で死にます。

Fabric の場合:

  • サーバAをロードバランサから外す
  • サーバAを更新する
  • サーバAをロードバランサに戻す
  • サーバBをロードバランサから外す
  • サーバBを更新する
  • サーバBをロードバランサに戻す

Capistrano の場合:

  • サーバAをロードバランサから外す
  • サーバBをロードバランサから外す
  • サーバAを更新する
  • サーバBを更新する
  • サーバAをロードバランサに戻す
  • サーバBをロードバランサに戻す

Capistrano で Fabric の実行順序にするきれいな方法があればいいんですが。きれいな、というからには、汚い方法はあって、Can Capistrano Execute Tasks on Hosts Consecutively? - Stack Overflow にいくつかの解決策が示されています。でもなー、これ cap っぽくないよなー、うーん。

16
15
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
15