Documentation for this version is no longer maintained.
View documentation for the latest supported version.Builds の操作
第1章 ビルドの実行 リンクのコピーリンクがクリップボードにコピーされました!
Builds をインストールした後、buildah または source-to-image ビルドを作成できます。ビルドに必要のないカスタムリソースを削除することもできます。
1.1. buildah ビルドの作成 リンクのコピーリンクがクリップボードにコピーされました!
buildah ビルドを作成し、作成したイメージをターゲットレジストリーにプッシュできます。
前提条件
- OpenShift Container Platform クラスターに Builds for Red Hat OpenShift Operator がインストールされている。
-
ocCLI がインストールされている。 -
オプション:
shpCLI がインストールされている。
手順
Buildリソースを作成し、次のいずれかの CLI を使用して OpenShift Container Platform クラスターに適用します。例:
ocCLI の使用Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ソースコードが配置される場所。
- 2
- コンテナーの構築に使用するビルドストラテジー。
- 3
- ビルドストラテジーで定義されるパラメーター。
dockerfileストラテジーパラメーターの値を設定するには、出力イメージの構築に必要な Dockerfile の場所を指定します。 - 4
- ビルドイメージがプッシュされる場所。この手順例では、ビルドされたイメージが OpenShift Container Platform クラスターの内部レジストリーにプッシュされます。
buildah-exampleは現在のプロジェクトの名前です。イメージのプッシュを許可するために、指定されたプロジェクトが存在することを確認します。
例:
shpCLI の使用shp build create buildah-golang-build \ --source-url="https://github.com/redhat-openshift-builds/samples" --source-context-dir="buildah-build" \ --strategy-name="buildah" \ --dockerfile="Dockerfile" \ --output-image="image-registry.openshift-image-registry.svc:5000/buildah-example/go-app"
$ shp build create buildah-golang-build \ --source-url="https://github.com/redhat-openshift-builds/samples" --source-context-dir="buildah-build" \1 --strategy-name="buildah" \2 --dockerfile="Dockerfile" \3 --output-image="image-registry.openshift-image-registry.svc:5000/buildah-example/go-app"4 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ソースコードが配置される場所。
- 2
- コンテナーの構築に使用するビルドストラテジー。
- 3
- ビルドストラテジーで定義されるパラメーター。
dockerfileストラテジーパラメーターの値を設定するには、出力イメージの構築に必要な Dockerfile の場所を指定します。 - 4
- ビルドイメージがプッシュされる場所。この手順例では、ビルドされたイメージが OpenShift Container Platform クラスターの内部レジストリーにプッシュされます。
buildah-exampleは現在のプロジェクトの名前です。イメージのプッシュを許可するために、指定されたプロジェクトが存在することを確認します。
Buildリソースが CLI のいずれかを使用して作成されていることを確認します。例:
ocCLI の使用oc get builds.shipwright.io buildah-golang-build
$ oc get builds.shipwright.io buildah-golang-buildCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
shpCLI の使用shp build list
$ shp build listCopy to Clipboard Copied! Toggle word wrap Toggle overflow BuildRunリソースを作成し、次のいずれかの CLI を使用して OpenShift Container Platform クラスターに適用します。例:
ocCLI の使用Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
spec.build.nameフィールドは、実行するそれぞれのビルドを示し、同じ namespace で使用できる必要があります。
例:
shpCLI の使用shp build run buildah-golang-build --follow
$ shp build run buildah-golang-build --follow1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- オプション:
--followオプションのフラグを使用すると、出力結果のビルドログを表示できます。
次のいずれかのコマンドを実行して、
BuildRunリソースが作成されているかどうかを確認します。例:
ocCLI の使用oc get buildrun buildah-golang-buildrun
$ oc get buildrun buildah-golang-buildrunCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
shpCLI の使用shp buildrun list
$ shp buildrun listCopy to Clipboard Copied! Toggle word wrap Toggle overflow BuildRunリソースはTaskRunリソースを作成し、その後ビルドストラテジーの手順を実行する Pod を作成します。
検証
すべてのコンテナーがタスクを完了したら、以下を確認します。
Pod で
STATUSフィールドがCompletedとして表示されるかどうかを確認します。oc get pods -w
$ oc get pods -wCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READY STATUS RESTARTS AGE buildah-golang-buildrun-dtrg2-pod 2/2 Running 0 4s buildah-golang-buildrun-dtrg2-pod 1/2 NotReady 0 7s buildah-golang-buildrun-dtrg2-pod 0/2 Completed 0 55s
NAME READY STATUS RESTARTS AGE buildah-golang-buildrun-dtrg2-pod 2/2 Running 0 4s buildah-golang-buildrun-dtrg2-pod 1/2 NotReady 0 7s buildah-golang-buildrun-dtrg2-pod 0/2 Completed 0 55sCopy to Clipboard Copied! Toggle word wrap Toggle overflow それぞれの
TaskRunリソースにSUCCEEDEDフィールドがTrueと表示されているかどうかを確認します。oc get tr
$ oc get trCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME SUCCEEDED REASON STARTTIME COMPLETIONTIME buildah-golang-buildrun-dtrg2 True Succeeded 11m 8m51s
NAME SUCCEEDED REASON STARTTIME COMPLETIONTIME buildah-golang-buildrun-dtrg2 True Succeeded 11m 8m51sCopy to Clipboard Copied! Toggle word wrap Toggle overflow それぞれの
BuildRunリソースにSUCCEEDEDフィールドがTrueと表示されているかどうかを確認します。oc get br
$ oc get brCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME SUCCEEDED REASON STARTTIME COMPLETIONTIME buildah-golang-buildrun True Succeeded 13m 11m
NAME SUCCEEDED REASON STARTTIME COMPLETIONTIME buildah-golang-buildrun True Succeeded 13m 11mCopy to Clipboard Copied! Toggle word wrap Toggle overflow 検証中にビルドの実行が失敗した場合は、
BuildRunリソースのstatus.failureDetailsフィールドをチェックして、Pod またはコンテナー内で失敗が発生した正確なポイントを特定できます。注記コンテナーの 1 つがタスクを完了したため、Pod が
NotReady状態に切り替わる可能性があります。これは想定される動作です。
build.spec.output.imageフィールドで指定されたレジストリーにイメージがプッシュされたかどうかを検証します。内部レジストリーにアクセスできるノードから次のコマンドを実行して、イメージのプルを試みることができます。podman pull image-registry.openshift-image-registry.svc:5000/<project>/<image>
$ podman pull image-registry.openshift-image-registry.svc:5000/<project>/<image>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
Buildリソースの作成時に使用されるプロジェクト名とイメージ名。たとえば、buildah-exampleをプロジェクト名として、sample-go-appをイメージ名として使用できます。
1.1.1. ネットワークが制限された環境での buildah ビルドの作成 リンクのコピーリンクがクリップボードにコピーされました!
buildah ビルドストラテジーに必要なイメージのミラーリングを行い、ネットワーク制限環境で buildah ビルドを作成できます。
前提条件
- クラスターが buildah ビルドを作成するのに使用できる git ソースに接続し、操作できる。
手順
以下のコマンドを実行して、
buildahビルドストラテジーに必要なイメージのミラーリングを行います。oc image mirror --insecure -a <registry_authentication> registry.redhat.io/ubi8/buildah@sha256:1c89cc3cab0ac0fc7387c1fe5e63443468219aab6fd531c8dad6d22fd999819e <mirror_registry>/<repo>/ubi8_buildah
$ oc image mirror --insecure -a <registry_authentication> registry.redhat.io/ubi8/buildah@sha256:1c89cc3cab0ac0fc7387c1fe5e63443468219aab6fd531c8dad6d22fd999819e <mirror_registry>/<repo>/ubi8_buildahCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 「buildah ビルドの作成」セクションで説明されている手順を実行します。
1.2. source-to-image ビルドの作成 リンクのコピーリンクがクリップボードにコピーされました!
source-to-image ビルドを作成し、作成したイメージをカスタム Quay リポジトリーにプッシュできます。
前提条件
- OpenShift Container Platform クラスターに Builds for Red Hat OpenShift Operator がインストールされている。
-
ocCLI がインストールされている。 -
オプション:
shpCLI がインストールされている。
手順
Buildリソースを作成し、次のいずれかの CLI を使用して OpenShift Container Platform クラスターに適用します。例:
ocCLI の使用Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ソースコードが配置される場所。
- 2
- コンテナーの構築に使用するビルドストラテジー。
- 3
- ビルドストラテジーで定義されるパラメーター。
builder-imageストラテジーパラメーターの値を設定するには、出力イメージのビルドに必要なビルダーイメージの場所を指定します。 - 4
- ビルドイメージがプッシュされる場所。ビルドされたイメージをカスタム Quay.io リポジトリーにプッシュできます。
repoは、有効な Quay.io 組織または Quay ユーザー名に置き換えます。 - 5
- コンテナーイメージをプッシュするための認証情報を保存するシークレット名。認証用に
docker-registryタイプのシークレットを生成するには、「コンテナーレジストリーへの認証」を参照してください。
例:
shpCLI の使用Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ソースコードが配置される場所。
- 2
- コンテナーの構築に使用するビルドストラテジー。
- 3
- ビルドストラテジーで定義されるパラメーター。
builder-imageストラテジーパラメーターの値を設定するには、出力イメージのビルドに必要なビルダーイメージの場所を指定します。 - 4
- ビルドイメージがプッシュされる場所。ビルドされたイメージをカスタム Quay.io リポジトリーにプッシュできます。
repoは、有効な Quay.io 組織または Quay ユーザー名に置き換えます。 - 5
- コンテナーイメージをプッシュするための認証情報を保存するシークレット名。認証用に
docker-registryタイプのシークレットを生成するには、「コンテナーレジストリーへの認証」を参照してください。
Buildリソースが CLI のいずれかを使用して作成されていることを確認します。例:
ocCLI の使用oc get builds.shipwright.io s2i-nodejs-build
$ oc get builds.shipwright.io s2i-nodejs-buildCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
shpCLI の使用shp build list
$ shp build listCopy to Clipboard Copied! Toggle word wrap Toggle overflow BuildRunリソースを作成し、次のいずれかの CLI を使用して OpenShift Container Platform クラスターに適用します。例:
ocCLI の使用Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
spec.build.nameフィールドは、実行するそれぞれのビルドを示し、同じ namespace で使用できる必要があります。
例:
shpCLI の使用shp build run s2i-nodejs-build --follow
$ shp build run s2i-nodejs-build --follow1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- オプション:
--followオプションのフラグを使用すると、出力結果のビルドログを表示できます。
次のいずれかのコマンドを実行して、
BuildRunリソースが作成されているかどうかを確認します。例:
ocCLI の使用oc get buildrun s2i-nodejs-buildrun
$ oc get buildrun s2i-nodejs-buildrunCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
shpCLI の使用shp buildrun list
$ shp buildrun listCopy to Clipboard Copied! Toggle word wrap Toggle overflow BuildRunリソースはTaskRunリソースを作成し、その後ビルドストラテジーの手順を実行する Pod を作成します。
検証
すべてのコンテナーがタスクを完了したら、以下を確認します。
Pod で
STATUSフィールドがCompletedとして表示されるかどうかを確認します。oc get pods -w
$ oc get pods -wCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READY STATUS RESTARTS AGE s2i-nodejs-buildrun-phxxm-pod 2/2 Running 0 10s s2i-nodejs-buildrun-phxxm-pod 1/2 NotReady 0 14s s2i-nodejs-buildrun-phxxm-pod 0/2 Completed 0 2m
NAME READY STATUS RESTARTS AGE s2i-nodejs-buildrun-phxxm-pod 2/2 Running 0 10s s2i-nodejs-buildrun-phxxm-pod 1/2 NotReady 0 14s s2i-nodejs-buildrun-phxxm-pod 0/2 Completed 0 2mCopy to Clipboard Copied! Toggle word wrap Toggle overflow それぞれの
TaskRunリソースにSUCCEEDEDフィールドがTrueと表示されているかどうかを確認します。oc get tr
$ oc get trCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME SUCCEEDED REASON STARTTIME COMPLETIONTIME s2i-nodejs-buildrun-phxxm True Succeeded 2m39s 13s
NAME SUCCEEDED REASON STARTTIME COMPLETIONTIME s2i-nodejs-buildrun-phxxm True Succeeded 2m39s 13sCopy to Clipboard Copied! Toggle word wrap Toggle overflow それぞれの
BuildRunリソースにSUCCEEDEDフィールドがTrueと表示されているかどうかを確認します。oc get br
$ oc get brCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME SUCCEEDED REASON STARTTIME COMPLETIONTIME s2i-nodejs-buildrun True Succeeded 2m41s 15s
NAME SUCCEEDED REASON STARTTIME COMPLETIONTIME s2i-nodejs-buildrun True Succeeded 2m41s 15sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 検証中にビルドの実行が失敗した場合は、
BuildRunリソースのstatus.failureDetailsフィールドをチェックして、Pod またはコンテナー内で失敗が発生した正確なポイントを特定できます。注記コンテナーの 1 つがタスクを完了したため、Pod が
NotReady状態に切り替わる可能性があります。これは想定される動作です。
build.spec.output.imageフィールドで指定されたレジストリーにイメージがプッシュされたかどうかを検証します。レジストリーにログインした後、以下のコマンドを実行してイメージをプルできます。podman pull quay.io/<repo>/<image>
$ podman pull quay.io/<repo>/<image>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
Buildリソースの作成時に使用されるリポジトリー名とイメージ名。たとえば、イメージ名としてs2i-nodejs-exampleを使用できます。
1.2.1. ネットワークが制限された環境での source-to-image ビルドの作成 リンクのコピーリンクがクリップボードにコピーされました!
source-to-image ビルドストラテジーに必要なイメージのミラーリングを行い、ネットワークが制限された環境で source-to-image ビルドを作成できます。
前提条件
- クラスターが source-to-image ビルドの作成に使用できる git ソースに接続し、操作できる。
-
ローカルレジストリーで
source-to-imageビルドを作成するために必要な builder-image がある。ローカルレジストリーに builder-image がない場合は、ソースイメージをミラーリングします。
手順
以下のコマンドを実行して、
source-to-imageビルドストラテジーに必要なイメージのミラーリングを行います。oc image mirror --insecure -a <registry_authentication> registry.redhat.io/source-to-image/source-to-image-rhel8@sha256:d041c1bbe503d152d0759598f79802e257816d674b342670ef61c6f9e6d401c5 <mirror_registry>/<repo>/source-to-image-source-to-image-rhel8
$ oc image mirror --insecure -a <registry_authentication> registry.redhat.io/source-to-image/source-to-image-rhel8@sha256:d041c1bbe503d152d0759598f79802e257816d674b342670ef61c6f9e6d401c5 <mirror_registry>/<repo>/source-to-image-source-to-image-rhel8Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 「source-to-image ビルドの作成セクション」で説明されている手順を実行します。
1.3. ログの表示 リンクのコピーリンクがクリップボードにコピーされました!
ビルド実行のログを表示して、実行時エラーを特定し、解決することができます。
前提条件
-
ocCLI がインストールされている。 -
オプション:
shpCLI がインストールされている。
手順
いずれかの CLI を使用して、ビルド実行のログを表示します。
ocCLI の使用oc logs <buildrun_resource_name>
$ oc logs <buildrun_resource_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow shpCLI の使用shp buildrun logs <buildrun_resource_name>
$ shp buildrun logs <buildrun_resource_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.4. リソースの削除 リンクのコピーリンクがクリップボードにコピーされました!
プロジェクトで不要な場合は、Build、BuildRun、または BuildStrategy リソースを削除できます。
前提条件
-
ocCLI がインストールされている。 -
オプション:
shpCLI がインストールされている。
手順
CLI のいずれかを使用して
Buildリソースを削除します。ocCLI の使用oc delete builds.shipwright.io <build_resource_name>
$ oc delete builds.shipwright.io <build_resource_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow shpCLI の使用shp build delete <build_resource_name>
$ shp build delete <build_resource_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow CLI のいずれかを使用して
BuildRunリソースを削除します。ocCLI の使用oc delete buildrun <buildrun_resource_name>
$ oc delete buildrun <buildrun_resource_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow shpCLI の使用shp buildrun delete <buildrun_resource_name>
$ shp buildrun delete <buildrun_resource_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
BuildStrategyリソースを削除します。ocCLI の使用oc delete buildstrategies <buildstartegy_resource_name>
$ oc delete buildstrategies <buildstartegy_resource_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Legal Notice
リンクのコピーリンクがクリップボードにコピーされました!
Copyright © 2025 Red Hat
OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
Modified versions must remove all Red Hat trademarks.
Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.
Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.