メインコンテンツまでスキップ

Workflowsの管理

BitriseのWorkflow Editorでは、複数のWorkflowsをチェーンさせたり、チェーン内のWorkflowsの順序を並べ替えたりできます。ユーティリティWorkflowsを活用すれば、複数の異なるコンテキストでコンポーネントを再利用できます。

設定をローカルで編集する

オフラインWorkflow Editorは、お使いのコンピューター上で動作します。bitrise.ioにログインしなくてもプロジェクトの設定YAMLファイルを編集でき、設定がネットワークの外に出ることはありません。Workflow Editorの機能のほとんどを利用できます。

WorkflowsをチェーンするClick to copy link​

複数のWorkflowsを設定して、順番に実行できます。これらのWorkflowsの順序はいつでも並べ替えることができ、新しいWorkflowsをチェーンに追加したり、既存のWorkflowsをチェーンから削除したりすることもできます。

  1. Bitrise にアクセスして Log in、左側の Bitrise CI を選択し、プロジェクトを選択します。

  2. メインページの Workflows ボタンをクリックします。

  3. Workflowカードにカーソルを合わせ、表示されるChain Workflowsアイコンボタンをクリックします。

    Chain WorkflowsアイコンボタンがハイライトされたWorkflowカード

  4. Chain Workflowsドロワーで、select a Workflowをリストから選択し、Add beforeまたはAdd afterをクリックします。

  5. 右上にあるSave changesをクリックします。

YAMLでのWorkflowsのチェーン

この例では、before_runおよびafter_runパラメーターを使用して、3つのWorkflows(test、deploy、ci)をチェーンさせています。

workflows:
test:
envs:
- IS_TEST: "true"
steps:
# test Steps to run

deploy:
before_run:
- test
steps:
# steps to deploy

ci:
before_run:
- test
after_run:
- deploy

bitrise.ymlファイルで直接Workflowsを管理する方法については、Workflowレベルのプロパティをご確認ください。

チェーンされたWorkflowsの並べ替えClick to copy link​

チェーンを作成すると、ドラッグ&ドロップメニューでWorkflowsの順序を簡単に並べ替えられます。

  1. Bitrise にアクセスして Log in、左側の Bitrise CI を選択し、プロジェクトを選択します。

  2. メインページの Workflows ボタンをクリックします。

  3. Workflowカードで、チェーンされたWorkflowの左側にあるドラッグハンドルを押しながら、目的の位置までドラッグします。

    左側にドラッグハンドルがあるチェーンされたWorkflowカード

  4. 右上にあるSave changesをクリックします。

Workflowの優先度Click to copy link​

個々のWorkflowごとに優先度を設定できます。この優先度設定によって、build queue内でのWorkflowの単独ビルドの位置が決まります。優先度が高いほど、Workflowのビルドがより早く実行されます。

優先度は、Workflow Editor内、またはプロジェクトのconfiguration YAMLファイルのいずれかで割り当てることができます。優先度は必ず-100から100までの整数で指定し、数値が大きいほど優先度が高くなります。デフォルトの優先度は0です。

build priorityや、さまざまな種類の優先度間の優先順位については、Build priorityをご覧ください。

ユーティリティWorkflowsClick to copy link​

Step bundles

ユーティリティWorkflowsの代わりに、Step bundlesの使用を強くおすすめします。これにより、複数のStepsを1つの単位にまとめ、Workflowの任意の場所で再利用できます。

Bitriseは、ユーティリティWorkflowと呼ばれる特別な種類のWorkflowをサポートしています。ユーティリティWorkflowのIDは常にアンダースコア文字で始まります。例:_setup。これらは通常、複数の異なるWorkflowsの開始時または終了時に必要なタスクを実行するために使用されます。たとえば、gitのクローン作成とSSHキーの有効化を、アプリのすべてのWorkflowにStepsを追加する代わりに、ユーティリティWorkflowに分離できます。

ユーティリティWorkflowは、通常のものを作成するのとまったく同じ方法で作成できます。ユーティリティWorkflowとして指定するには、名前の先頭にアンダースコアを付けるだけです。

ユーティリティWorkflowsは単独で実行できません

ユーティリティWorkflowsは、単独のWorkflowsとして実行することはできません。Workflowの前または後に、通常のWorkflowとチェーンさせる必要があります。Workflowsをチェーンするをご覧ください。

YAMLでのユーティリティWorkflow

この例では、_setupと_send-notificationsという2つのユーティリティWorkflowsがあります。これらは、before_runおよびafter_runパラメーターを使用して、testとciという2つのWorkflowsとチェーンされています。

workflows:
_send-notifications:
steps:
# send notifications

_setup:
steps:
# setup Steps to run

test:
before_run:
- _setup
envs:
- IS_TEST: "true"
steps:
# test Steps to run

ci:
before_run:
- test
after_run:
- _send-notifications

bitrise.ymlファイルで直接Workflowsを管理する方法については、Workflowレベルのプロパティをご確認ください。