bitbucket-pipelines.yml でランナーを設定する

Pipelines でランナーを使用するには、bitbucket-pipelines.yml ファイルのステップに実行パラメーターを追加します。ランナーは、すべての必要なラベルが付けられている、次に使用可能なランナー上で実行されます。

  • 一致するすべてのランナーがビジー状態の場合、1 つのランナーが再び利用可能になるまでステップは待機します。

  • リポジトリ内にすべてのラベルに一致するオンライン ランナーがない場合、ステップは失敗します。

bitbucket-pipelines.yml

1 2 3 4 5 6 7 8 9 10 11 12 13 14 pipelines: custom: customPipelineWithRunnerStep: - step: name: Step 1 runs-on: - 'self.hosted' - 'my.custom.label' script: - echo "This step will run on a self hosted runner."; - step: name: Step 2 script: - echo "This step will run on Atlassian's infrastructure as usual.";

ビルド設定で Linux Shell ランナーを使用する

Linux Shell ランナーを Pipelines で使用するには、少なくとも linux.shell ラベルを持つ runs-on パラメーターをステップに追加します。ステップは、必要なラベルがすべて付いている次に利用可能な Linux Shell ランナーで実行されます。

注意

  • linux.shell ラベルを指定しない場合、スケジューラーはそれが Linux Docker ステップであると想定して、Linux Docker ランナーとして実行しようとします。

  • 一致するすべての Linux Shell ランナーがビジー状態の場合は、1 つのランナーが再び利用可能になるまでステップを待機します。

  • リポジトリ内にすべてのラベルに一致するオンライン ランナーがない場合、ステップは失敗します。

bitbucket-pipelines.yml

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 pipelines: custom: customPipelineWithRunnerStep: - step: name: Step 1 runs-on: - 'self.hosted' - 'linux.shell' - 'customlabel' script: - echo 'This step will run on a self-hosted Linux Shell runner.'; - step: name: Step 2 script: - echo "This step will run on Atlassian's infrastructure as usual.";

ビルド設定で Linux Docker ARM ランナーを使用する

Linux Shell ランナーを Pipelines で使用するには、少なくとも linux.arm64 ラベルを持つ runs-on パラメーターをステップに追加します。ステップは、必要なラベルがすべて付いている次に利用可能な Linux Docker ARM ランナーで実行されます。

ステップに atlassian/default-image を使用する場合は、ARM サポート用に atlassian/default-image:4 以上を使用する必要があります。

注意

  • linux.arm64 ラベルを指定しない場合、スケジューラーはそれが Linux Docker ステップであると想定して、Linux Docker ランナーとして実行しようとします。

  • 一致するすべての Linux ARM ランナーがビジー状態の場合は、1 つのランナーが再び利用可能になるまでステップを待機します。

  • リポジトリ内にすべてのラベルに一致するオンライン ランナーがない場合、ステップは失敗します。


bitbucket-pipelines.yml

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 image: atlassian/default-image:4 pipelines: custom: customPipelineWithRunnerStep: - step: name: Step 1 runs-on: - 'self.hosted' - 'linux.arm64' - 'customlabel' script: - echo 'This step will run on a self-hosted Linux ARM runner.'; - step: name: Step 2 script: - echo "This step will run on Atlassian's infrastructure as usual.";

ビルド設定で Windows Runner を使用する

Pipelines で Windows ランナーを使用するには、少なくとも windows ラベルを持つ runs-on パラメーターをステップに追加します。ステップは、必要なラベルがすべて付いている次に利用可能な Windows ランナーで実行されます。

注意

  • windows ラベルを指定しない場合、スケジューラーはそれが Linux Docker ステップであると想定して、Linux Docker ランナーとして実行しようとします。

  • 一致するすべての Windows Runner がビジー状態の場合は、1 つのランナーが再び利用可能になるまでステップを待機します。

  • リポジトリ内にすべてのラベルに一致するオンライン ランナーがない場合、ステップは失敗します。

bitbucket-pipelines.yml

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 pipelines: custom: customPipelineWithRunnerStep: - step: name: Step 1 runs-on: - 'self.hosted' - 'windows' - 'customlabel' script: - > Write-Host 'This step will run on a self hosted Windows runner.'; - step: name: Step 2 script: - echo "This step will run on Atlassian's infrastructure as usual.";

推奨事項: yaml ファイルにエスケープ文字、区切り文字、引用符などの特殊文字を含む PowerShell スクリプトが含まれていると、問題が発生する可能性があります。PowerShell スクリプト コマンドには常に折りたたみスタイルを使用することをお勧めします。


MacOS ランナーをビルド設定で使用する

MacOS ランナーを Pipelines で使用するには、少なくとも macos ラベルを持つ runs-on パラメーターをステップに追加します。ステップは、必要なラベルがすべて付いている次に利用可能な MacOS ランナーで実行されます。

注意

  • macos ラベルを指定しない場合、スケジューラーはそれが Linux Docker ステップであると想定して、Linux Docker ランナーとして実行しようとします。

  • 一致するすべての MacOS ランナーがビジー状態の場合は、1 つのランナーが再び利用可能になるまでステップをキューに入れます。

  • リポジトリ内にすべてのラベルに一致するオンライン ランナーがない場合、ステップは失敗します。

bitbucket-pipelines.yml

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 pipelines: custom: customPipelineWithRunnerStep: - step: name: Step 1 runs-on: - 'self.hosted' - 'macos' - 'customlabel' script: - echo 'This step will run on a self hosted MacOS runner.'; - step: name: Step 2 script: - echo "This step will run on Atlassian's infrastructure as usual.";

大きなステップ サイズ

runs-on パラメーターには self.hosted ラベルを含める必要があります。

自社ホスト ランナーで実行されるステップに、追加のメモリを割り当てられます。
現時点では、有効なサイズは、1x2x4x8x です。対応可能なメモリで利用できるのは、4GB、8GB、16GB、32GBです。

例: 自社ホスト ランナーで実行されるステップのメモリを増やす

1 2 3 4 5 6 7 8 9 pipelines: default: - step: runs-on: - 'self.hosted' - 'my.custom.label' size: 8x script: - echo "This step will run on a self hosted runner with 32 GB of memory."

カスタム docker-in-docker イメージ

この機能をサポートする最小ランナー バージョンは 1.179 です。

runs-on パラメーターには self.hosted ラベルを含める必要があります。

ランナーによって、docker-in-docker デーモンをより詳細に制御できます。これで Docker サービスのカスタム イメージを指定できますが、ステップが自社ホスト ランナーで実行されている場合にのみ使用できます。また、Docker サービスにカスタム名を使用できます。以下の例をご参照ください。

例: 自社ホスト ランナーで実行されるステップにカスタム Docker イメージを使用する

既定名の Docker サービス:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 definitions: services: docker: # can only be used with a self-hosted runner image: docker:dind pipelines: default: - step: runs-on: - 'self.hosted' - 'my.custom.label' services: - docker script: - docker info

カスタム名の Docker サービス:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 definitions: services: docker-custom: type: docker image: docker:dind pipelines: default: - step: runs-on: - 'self.hosted' - 'my.custom.label' services: - docker-custom script: - docker info

複数の Docker サービスを定義する

Docker 値を持つタイプ パラメーターをサービス定義に追加して、複数の Docker サービスを使用します。これによって、自社ホスト ランナーでカスタム Docker イメージを使用して、クラウドで実行されるステップに既定の Docker サービスを使用できます。

例: 複数の Docker サービスを使用する

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 definitions: services: docker: # default docker service memory: 512 docker-custom: type: docker image: docker:dind pipelines: default: - step: name: Step 1 runs-on: - 'self.hosted' - 'my.custom.label' services: - docker-custom script: - docker info - step: name: Step 2 services: - docker script: - docker info - echo "This step will use the defult docker service defenition.";

git クローンで SSL をスキップする

runs-on パラメーターには self.hosted ラベルを含める必要があります。

git クローン中に SSL 検証を無効にして自己署名証明書の使用を許可する、skip-ssl-verify パラメーターを追加します。

1 2 3 4 5 6 7 8 9 pipelines: default: - step: runs-on: - 'self.hosted' clone: skip-ssl-verify: true script: - echo "Use git with a self-signed certificate"

その他のヘルプ