2.7. 基本的なビルドの実行および設定
以下のセクションでは、ビルドの開始および中止、BuildConfigs
の編集、BuildConfig
の削除、ビルドの詳細の表示、およびビルドログへのアクセスを含む基本的なビルド操作についての方法を説明します。
2.7.1. ビルドの開始
現在のプロジェクトに既存のビルド設定から新規ビルドを手動で起動できます。
手順
手動でビルドを開始するには、以下のコマンドを入力します。
$ oc start-build <buildconfig_name>
2.7.1.1. ビルドの再実行
--from-build
フラグを使用してビルドを手動で再度実行します。
手順
手動でビルドを再実行するには、以下のコマンドを入力します。
$ oc start-build --from-build=<build_name>
2.7.1.2. ビルドログのストリーミング
--follow
フラグを指定して、stdout
のビルドのログをストリーミングします。
手順
stdout
でビルドのログを手動でストリーミングするには、以下のコマンドを実行します。$ oc start-build <buildconfig_name> --follow
2.7.1.3. ビルド開始時の環境変数の設定
--env
フラグを指定して、ビルドの任意の環境変数を設定します。
手順
必要な環境変数を指定するには、以下のコマンドを実行します。
$ oc start-build <buildconfig_name> --env=<key>=<value>
2.7.1.4. ソースを使用したビルドの開始
Git ソースプルまたは Dockerfile に依存してビルドするのではなく、ソースを直接プッシュしてビルドを開始することも可能です。ソースには、Git または SVN の作業ディレクトリーの内容、デプロイする事前にビルド済みのバイナリーアーティファクトのセットまたは単一ファイルのいずれかを選択できます。これは、start-build
コマンドに以下のオプションのいずれかを指定して実行できます。
オプション | 説明 |
---|---|
| アーカイブし、ビルドのバイナリー入力として使用するディレクトリーを指定します。 |
| 単一ファイルを指定します。これはビルドソースで唯一のファイルでなければなりません。 このファイルは、元のファイルと同じファイル名で空のディレクトリーのルートに置いてください。 |
|
ビルドのバイナリー入力として使用するローカルリポジトリーへのパスを指定します。 |
以下のオプションをビルドに直接指定した場合には、コンテンツはビルドにストリーミングされ、現在のビルドソースの設定が上書きされます。
バイナリー入力からトリガーされたビルドは、サーバー上にソースを保存しないため、ベースイメージの変更でビルドが再度トリガーされた場合には、ビルド設定で指定されたソースが使用されます。
手順
以下のコマンドを使用してソースからビルドを開始し、タグ
v2
からローカル Git リポジトリーの内容をアーカイブとして送信します。$ oc start-build hello-world --from-repo=../hello-world --commit=v2
2.7.2. ビルドの中止
Web コンソールまたは以下の CLI コマンドを使用して、ビルドを中止できます。
手順
手動でビルドを取り消すには、以下のコマンドを入力します。
$ oc cancel-build <build_name>
2.7.2.1. 複数ビルドのキャンセル
以下の CLI コマンドを使用して複数ビルドを中止できます。
手順
複数ビルドを手動で取り消すには、以下のコマンドを入力します。
$ oc cancel-build <build1_name> <build2_name> <build3_name>
2.7.2.2. すべてのビルドのキャンセル
以下の CLI コマンドを使用し、ビルド設定からすべてのビルドを中止できます。
手順
すべてのビルドを取り消すには、以下のコマンドを実行します。
$ oc cancel-build bc/<buildconfig_name>
2.7.2.3. 指定された状態のすべてのビルドのキャンセル
特定の状態にあるビルドをすべて取り消すことができます (例: new
または pending
)。この際、他の状態のビルドは無視されます。
手順
特定の状態のすべてのビルドを取り消すには、以下のコマンドを入力します。
$ oc cancel-build bc/<buildconfig_name>
2.7.3. BuildConfig の編集
ビルド設定を編集するには、Developer パースペクティブの Builds ビューで Edit BuildConfig オプションを使用します。
以下のいずれかのビューを使用して BuildConfig
を編集できます。
-
Form view を使用すると、標準のフォームフィールドおよびチェックボックスを使用して
BuildConfig
を編集できます。 -
YAML ビュー を使用すると、操作を完全に制御して
BuildConfig
を編集できます。
データを失うことなく、Form view と YAML view を切り替えることができます。Form ビュー のデータは YAML ビュー に転送されます (その逆も同様です)。
手順
- Developer パースペクティブの Builds ビューで、メニュー をクリックし、Edit BuildConfig オプションを表示します。
- Edit BuildConfig をクリックし、Form view オプションを表示します。
Git セクションで、アプリケーションの作成に使用するコードベースの Git リポジトリー URL を入力します。その後、URL は検証されます。
オプション: Show Advanced Git Options をクリックし、以下のような詳細を追加します。
- Git Reference: アプリケーションのビルドに使用するコードが含まれるブランチ、タグ、またはコミットを指定します。
- Context Dir: アプリケーションのビルドに使用するアプリケーションのコードが含まれるサブディレクトリーを指定します。
- Source Secret: プライベートリポジトリーからソースコードをプルするための認証情報で Secret Name を作成します。
Build from セクションで、ビルド元となるオプションを選択します。以下のオプションで使用できます。
- イメージストリームタグ は、所定のイメージストリームおよびタグのイメージを参照します。ビルド元およびプッシュ元の場所に指定するプロジェクト、イメージストリーム、およびタグを入力します。
- イメージストリームイメージ は、所定のイメージストリームのイメージとおよびイメージ名を参照します。ビルドするイメージストリームイメージを入力します。また、プッシュ先となるプロジェクト、イメージストリーム、およびタグも入力します。
- Docker image: Docker イメージは Docker イメージリポジトリーを使用して参照されます。また、プッシュ先の場所を参照するように、プロジェクト、イメージストリーム、タグを入力する必要があります。
- オプション: 環境変数 セクションでName と Value フィールドを使用して、プロジェクトに関連付けられた環境変数を追加します。環境変数を追加するには、Add Value または Add from ConfigMap と Secret を使用します。
オプション: 以下の高度なオプションを使用してアプリケーションをさらにカスタマイズできます。
- トリガー
- ビルダーイメージの変更時に新規イメージビルドをトリガーします。Add Trigger をクリックし、Type および Secret を選択して、トリガーを追加します。
- シークレット
- アプリケーションのシークレットを追加します。Add secret をクリックし、Secret および Mount point を選択して、さらにシークレットを追加します。
- Policy
- Run policy をクリックして、ビルド実行ポリシーを選択します。選択したポリシーは、ビルド設定から作成されるビルドを実行する順番を決定します。
- フック
- Run build hooks after image is built を選択して、ビルドの最後にコマンドを実行し、イメージを検証します。Hook type、Command および Arguments をコマンドに追加しあ m す。
-
Save をクリックして
BuildConfig
を保存します。
2.7.4. BuildConfig の削除
以下のコマンドで BuildConfig
を削除します。
手順
BuildConfig
を削除するには、以下のコマンドを入力します。$ oc delete bc <BuildConfigName>
これにより、この
BuildConfig
でインスタンス化されたビルドがすべて削除されます。BuildConfig
を削除して、BuildConfig
からインスタンス化されたビルドを保持するには、以下のコマンドの入力時に--cascade=false
フラグを指定します。$ oc delete --cascade=false bc <BuildConfigName>
2.7.5. ビルドの詳細表示
Web コンソールまたは oc describe
CLI コマンドを使用して、ビルドの詳細を表示できます。
これにより、以下のような情報が表示されます。
- ビルドソース
- ビルドストラテジー
- 出力先
- 宛先レジストリーのイメージのダイジェスト
- ビルドの作成方法
ビルドが Docker
または Source
ストラテジーを使用する場合、oc describe
出力には、コミット ID、作成者、コミットしたユーザー、メッセージなどのビルドに使用するソースのリビジョンの情報が含まれます。
手順
ビルドの詳細を表示するには、以下のコマンドを入力します。
$ oc describe build <build_name>
2.7.6. ビルドログへのアクセス
Web コンソールまたは CLI を使用してビルドログにアクセスできます。
手順
ビルドを直接使用してログをストリーミングするには、以下のコマンドを入力します。
$ oc describe build <build_name>
2.7.6.1. BuildConfig ログへのアクセス
Web コンソールまたは CLI を使用して BuildConfig
ログにアクセスできます。
手順
BuildConfig
の最新ビルドのログをストリーミングするには、以下のコマンドを入力します。$ oc logs -f bc/<buildconfig_name>
2.7.6.2. 特定バージョンのビルドについての BuildConfig ログへのアクセス
Web コンソールまたは CLI を使用して、BuildConfig
についての特定バージョンのビルドのログにアクセスすることができます。
手順
BuildConfig
の特定バージョンのビルドのログをストリームするには、以下のコマンドを入力します。$ oc logs --version=<number> bc/<buildconfig_name>
2.7.6.3. ログの冗長性の有効化
詳細の出力を有効にするには、BuildConfig
内の sourceStrategy
または dockerStrategy
の一部として BUILD_LOGLEVEL
環境変数を指定します。
管理者は、env/BUILD_LOGLEVEL
を設定して、OpenShift Container Platform インスタンス全体のデフォルトのビルドの詳細レベルを設定できます。このデフォルトは、指定の BuildConfig
で BUILD_LOGLEVEL
を指定することで上書きできます。コマンドラインで --build-loglevel
を oc start-build
に渡すことで、バイナリー以外のビルドについて優先順位の高い上書きを指定することができます。
ソースビルドで利用できるログレベルは以下のとおりです。
レベル 0 |
|
レベル 1 | 実行したプロセスに関する基本情報を生成します。 |
レベル 2 | 実行したプロセスに関する詳細情報を生成します。 |
レベル 3 | 実行したプロセスに関する詳細情報と、アーカイブコンテンツのリストを生成します。 |
レベル 4 | 現時点ではレベル 3 と同じ情報を生成します。 |
レベル 5 | これまでのレベルで記載したすべての内容と docker のプッシュメッセージを提供します。 |
手順
詳細の出力を有効にするには、
BuildConfig
内のsourceStrategy
またはdockerStrategy
の一部としてBUILD_LOGLEVEL
環境変数を渡します。sourceStrategy: ... env: - name: "BUILD_LOGLEVEL" value: "2" 1
- 1
- この値を任意のログレベルに調整します。