独自のDockerイメージのビルド
Docker Build & Push Stepを使うと、Bitriseビルド中に独自のDockerイメージを作成し、コンテナレジストリにプッシュできます。
Stepはdocker buildコマンドを使用します。ビルド手順を含むDockerfileとビルドコンテキストが必要です。ビルドコンテ キストとは、指定したパスにあるファイル群を指します。Stepでは、ビルドにオプションやビルド引数を渡すことができます。
ビルドを高速化するために、Stepはキーベースのキャッシュもサポートしています。
ビルドオプション、ビルド引数、キャッシュを使用してイメージをビルドするには、次のようにします。
- Workflow Editor
- Configuration YAML
-
Docker Build & Push StepをWorkflowに追加します。
-
Stepに必要な入力を設定します。
- Imageタグ: ビルドされたイメージの名前に適用するタグのリストです。1行に1つのタグを追加できます。イメージタグの詳細、その機能、必要な形式については、Dockerのドキュメントを参照してください。
- Buildコンテキストパス: ビルドコンテキストを構成するファイルへのパスです。Bitriseの作業ディレクトリからの相対パスで指定します。
- Dockerfileのパス: 使用するDockerfileへのパスです。Bitriseの作業ディレクトリからの相対パスで指定します。
-
ビルドしたイメージをコンテナレジストリにプッシュする場合は、Push docker imageの入力をtrueに設定します。
-
イメージをキャッシュするには、Use Bitrise key-value cacheの入力をtrueに設定します。
この入力では、以下のcache keysを使用します。
docker-imagename-{{ .OS }}-{{ .Arch }}-{{ .Branch }}-{{ .CommitHash }}docker-imagename-{{ .OS }}-{{ .Arch }}-{{ .Branch }}docker-imagename-{{ .OS }}-{{ .Arch }}
代替のキャッシュ方法Stepでは、
docker buildコマンドの--cache-fromオプションと--cache-toオプションを使用したキャッシュもサポートしています。この機能はCache from argumentsとCache to argumentsの入力で提供されます。キーベースのキャッシュを使用する場合は、これらの入力を使用しないでください。空欄のままにしてください。
-
必要に応じて、ビルド引数やオプションを使ってビルドコマンドをカスタマイズします。
-
必要に応じて、ビルドコンテナでホストのネットワークを使用させる場合はEnables to use the host network with the buildkit build containerの入力をtrueに設定します。追加のトラブルシューティング出力が必要な場合はVerbose loggingの入力をtrueに設定します。
-
docker-build-pushStepをWorkflowに追加します。 -
Stepに必要な入力を設定します。
tags: ビルドされたイメージの名前に適用するタグのリストです。1行に1つのタグを追加できます。イメージタグの詳細、その機能、必要な形式については、Dockerのドキュメントを参照してください。context: ビルドコンテキストを構成するファイルへのパスです。Bitriseの作業ディレクトリからの相対パスで指定します。file: 使用するDockerfileへのパスです。Bitriseの作業ディレクトリからの相対パスで指定します。
workflow:steps:- docker-build-push:inputs:- tags: myregistry.com/myimage:latest- context: "./path"- file: "./Dockerfile" -
ビルドしたイメージをコンテナレジストリにプッシュする場合は、
pushの入力をtrueに設定します。workflow:steps:- docker-build-push:inputs:- tags: myregistry.com/myimage:latest- context: "./path"- file: "./Dockerfile"- push: "true" -
イメージをキャッシュするには、
use_bitrise_cacheの入力をtrueに設定します。この入力では、以下のcache keysを使用します。
docker-imagename-{{ .OS }}-{{ .Arch }}-{{ .Branch }}-{{ .CommitHash }}docker-imagename-{{ .OS }}-{{ .Arch }}-{{ .Branch }}docker-imagename-{{ .OS }}-{{ .Arch }}
代替のキャッシュ方法Stepでは、
docker buildコマンドの--cache-fromオプションと--cache-toオプションを使用したキャッシュもサポートしています。この機能はcache_fromとcache_toの入力で提供されます。キーベースのキャッシュを使用する場合は、これらの入力を使用しないでください。空欄のままにしてください。
workflow:steps:- docker-build-push:inputs:- tags: myregistry.com/myimage:latest- context: "./path"- file: "./Dockerfile"- push: "true"- use_bitrise_cache: "true" -
必要に応じて、ビルド引数やオプションを使ってビルドコマンドをカスタマイズします。
-
build_argの入力にビルド引数を追加します。1行に1つの引数をMY_ARG=my_value形式で指定します。 -
extra_optionsの入力にオプションを追加します。1行に1つの追加オプションを--option valueまたは--option=valueの形式で指定します。引用符を含む値引用符を含む値を使用する場合(値にスペースが含まれる場合など)は、イコール記号を使用しないでください。代わりにスペースで区切ります:
--option "value with spaces"。
workflow:steps:- docker-build-push:inputs:- tags: myregistry.com/myimage:latest- context: "./path"- file: "./Dockerfile"- push: "true"- use_bitrise_cache: "true"- build_arg: BUILD_ARG=my_value- extra_options: "--option value" -
-
必要に応じて、ビルドコンテナでホストのネットワークを使用させる場合は
buildx_host_networkの入力をtrueに設定します。追加のトラブルシューティング出力が必要な場合はverboseの入力をtrueに設定します。workflow:steps:- docker-build-push:inputs:- tags: myregistry.com/myimage:latest- context: "./path"- file: "./Dockerfile"- push: "true"- use_bitrise_cache: "true"- build_arg: BUILD_ARG=my_value- extra_options: "--option value"- buildx_host_network: "true"- verbose: "true"