Skip to Content
Docker Build Cloud ドキュメント継続的インテグレーション(CI)

CIでDocker Build Cloudを使用する

CIでDocker Build Cloudを使用することで、ビルドパイプラインのスピードを向上させ、待ち時間やコンテキストスイッチングを減らすことができます。通常通りCIワークフローを管理し、ビルドの実行をDocker Build Cloudに委任します。

CIでDocker Build Cloudを使用してビルドするには、次のステップを実行します:

  1. Dockerアカウントにサインインする。
  2. Buildxをセットアップし、ビルダーに接続する。
  3. ビルドを実行する。

CIでDocker Build Cloudを使用する場合、イメージをロードしてからプッシュするのではなく、ビルド結果を直接レジストリにプッシュすることを推奨します。これにより、ビルドが高速化し、不必要なファイル転送を回避できます。

ビルドして結果を破棄したい場合は、結果をビルドキャッシュにエクスポートするか、イメージにタグを付けずにビルドします。Docker Build Cloudを使用する際、タグ付きイメージをビルドすると、Buildxは自動的にビルド結果をロードします。詳細はビルド結果のロードをご覧ください。

Docker Build Cloudのビルドには2時間のタイムアウト制限があります。2時間以上実行されるビルドは自動的にキャンセルされます。

docker/build-push-actionおよびdocker/bake-actionのバージョン4.0.0以降では、デフォルトでProvenance Attestationsを使用してイメージをビルドします。Docker Build Cloudは、イメージをレジストリにプッシュしない場合、自動的にローカルのイメージストアにロードしようとします。

これにより、タグ付きイメージをビルドしてレジストリにプッシュしない場合、Docker Build CloudがAttestationsを含むイメージをロードしようとしても、GitHubランナーのローカルイメージストアがAttestationsをサポートしていないため、イメージのロードに失敗します。

docker/build-push-actionでDocker Build Cloudを使用してイメージをロードしたい場合は、GitHub Actionの入力(またはdocker-bake.hcl内でBakeを使用する場合)でprovenance: falseを設定してProvenance Attestationsを無効にする必要があります。

name: ci on: push: branches: - "main" jobs: docker: runs-on: ubuntu-latest steps: - name: Log in to Docker Hub uses: docker/login-action@v3 with: username: ${{ vars.DOCKER_USER }} password: ${{ secrets.DOCKER_PAT }} - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 with: version: "lab:latest" driver: cloud endpoint: "<ORG>/default" install: true - name: Build and push uses: docker/build-push-action@v6 with: tags: "<IMAGE>" # プルリクエストの場合は結果をビルドキャッシュにエクスポートし、 # それ以外の場合はレジストリにプッシュします。 outputs: ${{ github.event_name == 'pull_request' && 'type=cacheonly' || 'type=registry' }}
Last updated on