5.4. パイプラインビルド
Pipeline ビルドストラテジーは OpenShift Container Platform 4 では非推奨になりました。同等の機能および改善機能は、Tekton をベースとする OpenShift Pipeline にあります。
OpenShift の Jenkins イメージは完全にサポートされており、ユーザーは Jenkins ユーザーのドキュメントに従ってジョブで Jenkinsfile を定義するか、またはこれをソースコントロール管理システムに保存します。
開発者は、Pipeline ビルドストラテジーを利用して Jenkins Pipeline プラグインで実行できるように Jenkins Pipeline を定義することができます。このビルドは他のビルドタイプの場合と同様に OpenShift Container Platform での起動、モニターリング、管理が可能です。
Pipeline ワークフローは、ビルド設定に直接組み込むか、または Git リポジトリーに配置してビルド設定で参照して Jenkinsfile で定義します。
5.4.1. OpenShift Container Platform Pipeline について
Pipeline により、OpenShift Container Platform でのアプリケーションのビルド、デプロイ、およびプロモートに対する制御が可能になります。Jenkins Pipeline ビルドストラテジー、Jenkinsfiles、および OpenShift Container Platform のドメイン固有言語 (DSL) (Jenkins クライアントプラグインで提供される) の組み合わせを使用することにより、すべてのシナリオにおける高度なビルド、テスト、デプロイおよびプロモート用の Pipeline を作成できます。
OpenShift Container Platform Jenkins 同期プラグイン
OpenShift Container Platform Jenkins 同期プラグインは、BuildConfig
および Build オブジェクトを Jenkins ジョブおよびビルドと同期し、以下を提供します。
- Jenkins での動的なジョブ/実行の作成。
- ImageStreams、ImageStreamTag、または ConfigMap からのスレーブ Pod テンプレートの動的作成。
- 環境変数の挿入。
- OpenShift Web コンソールでの Pipeline の可視化。
- Jenkins Git プラグインとの統合。 ここからコミット情報が渡されます。
- OpenShift が Jenkins git プラグインに対して作成する Jenkins 認証情報エントリーに対するシークレットの同期。
OpenShift Container Platform Jenkins クライアントプラグイン
OpenShift Container Platform Jenkins Client プラグインは、OpenShift Container Platform API Server との高度な対話を実現するために、読み取り可能かつ簡潔で、包括的で Fluent (流れるような) スタイルの Jenkins Pipeline 構文を提供することを目的とした Jenkins プラグインです。このプラグインは、スクリプトを実行するノードで使用できる必要がある OpenShift コマンドラインツール (oc
) を活用します。
OpenShift Jenkins クライアントプラグインは Jenkins マスターにインストールされ、OpenShift Container Platform DSL がアプリケーションの JenkinsFile 内で利用可能である必要があります。このプラグインは、OpenShift Container Platform Jenkins イメージの使用時にデフォルトでインストールされ、有効にされます。
プロジェクト内で OpenShift Container Platform Pipeline を使用するには、Jenkins Pipeline ビルドストラテジーを使用する必要があります。このストラテジーはソースリポジトリーのルートで jenkinsfile
を使用するようにデフォルト設定されますが、以下の設定オプションも提供します。
-
BuildConfig
内のインラインのjenkinsfile
フィールド。 -
ソース
contextDir
との関連で使用するjenkinsfile
の場所を参照するBuildConfig
内のjenkinsfilePath
。
オプションの jenkinsfilePath
フィールドは、ソース contextDir
との関連で使用するファイルの名前を指定します。contextDir
が省略される場合、デフォルトはリポジトリーのルートに設定されます。jenkinsfilePath
が省略される場合、デフォルトは jenkinsfile
に設定されます。