This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.5.4.4. Pipeline ビルドのチュートリアル
パイプラインビルドストラテジーは OpenShift Container Platform 4 では非推奨になりました。同等の機能および改善機能は、Tekton をベースとする OpenShift Container Platform Pipeline にあります。
OpenShift Container Platform の Jenkins イメージは完全にサポートされており、ユーザーは Jenkins ユーザーのドキュメントに従ってジョブで jenkinsfile を定義するか、またはこれをソースコントロール管理システムに保存します。
以下の例では、nodejs-mongodb.json テンプレートを使用して Node.js/MongoDB アプリケーションをビルドし、デプロイし、検証する OpenShift Container Platform Pipeline を作成する方法を紹介します。
手順
Jenkins マスターを作成するには、以下を実行します。
oc project <project_name>
$ oc project <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc new-project <project_name>で新規プロジェクトを使用するか、または作成するプロジェクトを選択します。oc new-app jenkins-ephemeral
$ oc new-app jenkins-ephemeral1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 永続ストレージを使用する場合は、
jenkins-persistentを代わりに使用します。以下の内容で
nodejs-sample-pipeline.yamlという名前のファイルを作成します。注記Jenkins Pipeline ストラテジーを使用して
Node.js/MongoDBのサンプルアプリケーションをビルドし、デプロイし、スケーリングするBuildConfigオブジェクトを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow jenkinsPipelineStrategyでBuildConfigオブジェクトを作成したら、インラインのjenkinsfileを使用して、Pipeline に指示を出します。注記この例では、アプリケーションに Git リポジトリーを設定しません。
以下の
jenkinsfileの内容は、OpenShift Container Platform DSL を使用して Groovy で記述されています。ソースリポジトリーにjenkinsfileを追加することが推奨される方法ですが、この例では YAML Literal Style を使用してBuildConfigにインラインコンテンツを追加しています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 使用するテンプレートへのパス
- 1 2
- 作成するテンプレート名
- 3
- このビルドを実行する
node.jsのエージェント Pod をスピンアップします。 - 4
- この Pipeline に 20 分間のタイムアウトを設定します。
- 5
- このテンプレートラベルが指定されたものすべてを削除します。
- 6
- このテンプレートラベルが付いたシークレットをすべて削除します。
- 7
templatePathから新規アプリケーションを作成します。- 8
- ビルドが完了するまで最大 5 分待機します。
- 9
- デプロイメントが完了するまで最大 5 分待機します。
- 10
- すべてが正常に完了した場合は、
$ {templateName}:latestイメージに$ {templateName}-staging:latestのタグを付けます。ステージング環境向けのパイプラインのビルド設定は、変更する$ {templateName}-staging:latestイメージがないかを確認し、このイメージをステージング環境にデプロイします。
注記以前の例は、宣言型のパイプラインスタイルを使用して記述されていますが、以前のスクリプト化されたパイプラインスタイルもサポートされます。
OpenShift Container Platform クラスターに Pipeline
BuildConfigを作成します。oc create -f nodejs-sample-pipeline.yaml
$ oc create -f nodejs-sample-pipeline.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 独自のファイルを作成しない場合には、以下を実行して Origin リポジトリーからサンプルを使用できます。
oc create -f https://raw.githubusercontent.com/openshift/origin/master/examples/jenkins/pipeline/nodejs-sample-pipeline.yaml
$ oc create -f https://raw.githubusercontent.com/openshift/origin/master/examples/jenkins/pipeline/nodejs-sample-pipeline.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Pipeline を起動します。
oc start-build nodejs-sample-pipeline
$ oc start-build nodejs-sample-pipelineCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記または、OpenShift Container Platform Web コンソールで Builds
Pipeline セクションに移動して、Start Pipeline をクリックするか、Jenkins コンソールから作成した Pipeline に移動して、Build Now をクリックして Pipeline を起動できます。 パイプラインが起動したら、以下のアクションがプロジェクト内で実行されるはずです。
- ジョブインスタンスが Jenkins サーバー上で作成される
- パイプラインで必要な場合には、エージェント Pod が起動される
Pipeline がエージェント Pod で実行されるか、またはエージェントが必要でない場合には master で実行される
-
template=nodejs-mongodb-exampleラベルの付いた以前に作成されたリソースは削除されます。 -
新規アプリケーションおよびそれに関連するすべてのリソースは、
nodejs-mongodb-exampleテンプレートで作成されます。 ビルドは
nodejs-mongodb-exampleBuildConfigを使用して起動されます。- Pipeline は、ビルドが完了して次のステージをトリガーするまで待機します。
デプロイメントは、
nodejs-mongodb-exampleのデプロイメント設定を使用して開始されます。- パイプラインは、デプロイメントが完了して次のステージをトリガーするまで待機します。
-
ビルドとデプロイに成功すると、
nodejs-mongodb-example:latestイメージがnodejs-mongodb-example:stageとしてトリガーされます。
-
パイプラインで以前に要求されていた場合には、スレーブ Pod が削除される
注記OpenShift Container Platform Web コンソールで確認すると、最適な方法で Pipeline の実行を視覚的に把握することができます。Web コンソールにログインして、Builds
Pipelines に移動し、Pipeline を確認します。