ファブリック スクリプトでデプロイの開始と終了をアナウンスしようとしています。これは簡単なはずですが、私の人生では、どうすればよいのかわかりません。
env.hosts = ['www1', 'www2', 'www3', 'www4']
def announce_start():
# code to connect to irc server and announce deployment begins
pass
def announce_finish():
# code to connect to irc server and announce deployment finishes
pass
def deploy():
# actual deployment code here
pass
これが私が試したことです:
デプロイ タスクに「announce_start」と「announce_finish」を含めるとします。各サーバーでこれらすべてのタスクを実行しようとします。
def deploy():
announce_start()
# actual deployment code here
announce_finish()
Announce_start() と Announce_end() を @hosts('localhost') でデコレートすると、localhost で実行されますが、それでも 4 回実行されます。ホストごとに 1 つ。
これを入力しているときに、最終的には、デコレーター @hosts('localhost') を Announce_start/end で使用し、fab コマンドを使用することで、機能するようになりました。
fab announce_start deploy announce_end
しかし、これは少しハッキーなようです。すべてを 1 つの deploy コマンドにまとめたいと思います。これを行う方法はありますか?