私のプロジェクトには、クロール、NLPなどのいくつかのステップが含まれているマルチステップパイプラインがありますが、私はそれらをStep1、Step2などと呼んでいます。さまざまな環境(dev、prodなど)に展開することができます。特定のロールのみのCapistranoタスクを実行しています
私はさまざまな環境に展開するために、Capistrano用に多段階コンポーネントを使用します(例:cap dev deploy vs cap prod deploy)。
また、パイプラインステップごとに役割を使用することは直感的に理解できるようです。ただし、各ステップはパイプラインの残りの部分とは独立して実行されるため、各ステップは他のステップとは独立して再始動/デプロイできます。 Capistranoが特定の役割のためだけに実行中のタスクを明示的にサポートしているようには思われません。これを行うには良い方法は何ですか?
これは、役割ごとに具体的に定義されたタスクを実行する最善の方法ですか?ロール間で共通のタスクがある場合はどうなりますか?たぶんヘルパーメソッドは答えですか?
私が探しているものではありません。例えば、私は仕事を持っていた場合のように: ' タスク:clear_logsは 実行「のrm -f /tmp/blah.log」 展開の一環として、 ' を終了する操作を行い、私はすべての私の上でそれを実行したいと思います私のパイプラインにすべてのステップを導入していたのですか?しかし、私がパイプラインのステップ2だけを展開しているのであれば、ステップ2の役割を持つすべてのマシンのログをクリアしたいだけです。 私が直面している役割の問題は、タスクを実行するマシンを指定することに優れていることですが、特定の配置に対して実際に実行するかどうかを指定できないようです。 – JZC