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
が最上位のプロパティでも可)
指定可能な子プロパティ — lfs、depth、enabled の各プロパティのうち、1 つ以上が必要です。clone
要素が step 内にある場合は、skip-ssl-verify が許可されます。
例 — clone と enabled を使用して、選択したステップでのみ Git クローンを許可する
clone:
enabled: false
pipelines:
default:
- step:
script:
- echo "No code cloned!"
- step:
clone:
enabled: true
script:
- echo "Repo cloned in this step!"
例 — clone を使用して、パイプラインのグローバル Git クローンの動作を設定する
clone:
lfs: true # See the lfs property documentation prior to enabling
depth: 2
pipelines:
default:
- step:
script:
- ls -R $BITBUCKET_CLONE_DIR
例 — clone を使用して、単一ステップでの Git クローンの動作をカスタマイズする
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
(全深度の場合) または任意の正の整数
既定値 — 50
指定可能な親プロパティ — clone
例 — depth オプションを使用して、パイプラインの各ステップで最後の 2 つのコミットだけを複製する
clone:
depth: 2
pipelines:
default:
- step:
script:
- ls $BITBUCKET_CLONE_DIR
例 — depth オプションを使用して、単一ステップ用に最後の 2 つのコミットだけを複製する
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 クローンを無効にする
clone:
enabled: false
pipelines:
default:
- step:
script:
- echo "No code cloned!"
例 — clone enabled オプションを使用して、パイプライン ステップで Git クローンを無効にする
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 ファイルをダウンロードする
clone:
lfs: true
pipelines:
default:
- step:
name: Clone and download
script:
- echo "Clone and download my LFS files!"
例 — lfs を使用して、LFS ファイルを選択的にダウンロードする
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 (clone を step に設定する場合)
例 — skip-ssl-verify を使用して、Git クローンの操作における SSL 認証を無効にする
pipelines:
default:
- step:
runs-on:
- 'self.hosted'
clone:
skip-ssl-verify: true
script:
- echo "Use git with a self-signed certificate"
この内容はお役に立ちましたか?