Git クローンの動作

bitbucket-pipelines.yml の Git clone オプション セクションでは、Bitbucket Pipelines の Git クローンの動作を変更できます。たとえば、Git クローンの操作を無効化するか、選択的に有効化できます (各ステップの開始時に実行)。これらの設定のほとんどは、グローバルに適用することも、個々のステップに適用することもできます。

パイプラインの Git クローン オプション

clone オプションで、次のオプションを設定できます。

clone

clone プロパティは、ビルド中に Bitbucket Pipelines によってリポジトリをクローンする方法を制御するオプションを提供します。

パイプライン全体の Git クローンの動作を制御するには、次のオプションを利用できます。

  • lfs — Git LFS のサポート。

  • depth — Git クローンの深度。

  • enabled — Git クローンの無効化を可能にする。

さらに、skip-ssl-verify オプションは、自社ホストのパイプライン ランナーでステップを実行する際に、clone プロパティが個々の step に適用される場合にも利用できます。

プロパティclone

必須 — いいえ

データ タイプ — 改行で区切られたキーと値のペアのブロック (YAML 仕様 - ブロック マッピング)

指定可能な親プロパティstep、または YAML ルート (clone が最上位のプロパティでも可)

指定可能な子プロパティlfsdepthenabled の各プロパティのうち、1 つ以上が必要です。clone 要素が step 内にある場合は、skip-ssl-verify が許可されます。

例 — clone と enabled を使用して、選択したステップでのみ Git クローンを許可する

1 2 3 4 5 6 7 8 9 10 11 12 13 clone: enabled: false pipelines: default: - step: script: - echo "No code cloned!" - step: clone: enabled: true script: - echo "Repo cloned in this step!"

例 — clone を使用して、パイプラインのグローバル Git クローンの動作を設定する

1 2 3 4 5 6 7 8 9 clone: lfs: true # See the lfs property documentation prior to enabling depth: 2 pipelines: default: - step: script: - ls -R $BITBUCKET_CLONE_DIR

例 — clone を使用して、単一ステップでの Git クローンの動作をカスタマイズする

1 2 3 4 5 6 7 8 9 10 11 12 pipelines: default: - step: runs-on: - self.hosted - linux clone: lfs: true # See the lfs property documentation prior to enabling depth: 2 skip-ssl-verify: true script: - ls -R $BITBUCKET_CLONE_DIR

depth

すべてのパイプラインまたはパイプライン ステップの Git クローンの深度を定義します。フル クローンには full を使用します。指定しない場合、初期設定は最後の 50 回のコミットです。Git クローンの深度オプションに関する詳細は「Git ドキュメント — git クローン」をご参照ください。

プロパティdepth

必須 — いいえ

データ タイプ — 整数または文字列

指定可能な値full (full depth 用) または任意の正の整数

既定値50

指定可能な親プロパティclone

例 — depth オプションを使用して、パイプラインの各ステップで最後の 2 つのコミットだけを複製する

1 2 3 4 5 6 7 8 clone: depth: 2 pipelines: default: - step: script: - ls $BITBUCKET_CLONE_DIR

例 — depth オプションを使用して、単一ステップ用に最後の 2 つのコミットだけを複製する

1 2 3 4 5 6 7 pipelines: default: - step: clone: depth: 2 script: - ls $BITBUCKET_CLONE_DIR

有効

clone enabled オプションは、各ステップの開始時に実行される Git クローン操作を無効化します。enabled オプションは、単一の step、またはすべてのステップで、Git クローンの操作を無効化できます。

プロパティenabled

必須 — いいえ

データ タイプ — ブール値

指定可能な値true または false

既定値true

指定可能な親プロパティclone

例 — clone enabled オプションを使用して、すべてのステップで Git クローンを無効にする

1 2 3 4 5 6 7 8 clone: enabled: false pipelines: default: - step: script: - echo "No code cloned!"

例 — clone enabled オプションを使用して、パイプライン ステップで Git クローンを無効にする

1 2 3 4 5 6 7 8 9 10 pipelines: default: - step: clone: enabled: false script: - ls -R $BITBUCKET_CLONE_DIR - step: script: - ls -R $BITBUCKET_CLONE_DIR

lfs

lfs オプションは、Git クローン操作中にリポジトリのすべての LFS ファイルをダウンロードするように Git に指示します。lfs が、グローバル オプションとして true を設定すると、すべての LFS ファイルが各ステップの開始時にダウンロードされます。lfs が、true を個々のステップで設定すると、そのステップのすべての LFS ファイルがダウンロードされます。ビルド時間とリソース使用量を減らすために、個々のステップで LFS を使用するか、各ステップに必要なファイルのみをダウンロードすることをお勧めします。

プロパティlfs

必須 — いいえ

データ タイプ — ブール値

指定可能な値true または false

既定値false

指定可能な親プロパティclone

例 — lfs を使用して、全ステップですべての LFS ファイルをダウンロードする

1 2 3 4 5 6 7 8 9 clone: lfs: true pipelines: default: - step: name: Clone and download script: - echo "Clone and download my LFS files!"

例 — lfs を使用して、LFS ファイルを選択的にダウンロードする

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 pipelines: default: - step: name: Clone with lfs on clone: lfs: true script: - ls -lh large-file.zip # 26M large-file.zip - step: name: Clone with lfs off clone: lfs: false script: - apt-get update && apt-get install -y git-lfs # Download only desired files - git lfs pull --include=large-file.zip - ls -lh large-file.zip # 26M large-file.zip

SSL 認証をスキップする

skip-ssl-verify オプションは、Git クローン中の SSL 認証を無効にして、自己署名証明書の使用を許可します。

プロパティskip-ssl-verify

必須 — いいえ

データ タイプ — ブール値

指定可能な値true または false

既定値false

指定可能な親プロパティclone (clonestep に設定する場合)

例 — skip-ssl-verify を使用して、Git クローンの操作における SSL 認証を無効にする

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"

その他のヘルプ