第2章 Jenkins エージェント
OpenShift Dedicated には、Jenkins エージェントとして使用するためのベースイメージがあります。
Jenkins エージェントのベースイメージは次のことを行います。
-
必須のツール (ヘッドレス Java、Jenkins JNLP クライアント) と有用なツール (
git
、tar
、zip
、nss
など) の両方を取り入れます。 - JNLP エージェントをエントリーポイントとして確立します。
-
Jenkins ジョブ内からコマンドラインの操作を呼び出す
oc
クライアントツールが含まれます。 -
Red Hat Enterprise Linux (RHEL) および
localdev
イメージの両方の Dockerfile を提供します。
OpenShift Dedicated のリリースバージョンに合わせて、適切なエージェントイメージのバージョンを使用してください。OpenShift Dedicated のバージョンと互換性のない oc
クライアントバージョンを埋め込むと、予期しない動作が発生する可能性があります。
OpenShift Dedicated の Jenkins イメージでは、エージェントイメージを Jenkins Kubernetes プラグインで使用する方法を示す次のサンプル java-builder
Pod テンプレートも定義されています。
java-builder
Pod テンプレートは、次の 2 つのコンテナーを使用します。
-
OpenShift Dedicated の Base エージェントイメージを使用し、Jenkins エージェントの起動と停止のための JNLP コントラクトを処理する
jnlp
コンテナー。 -
java
OpenShift Dedicated のサンプル ImageStream を使用するJava
コンテナー。これには、コードをビルドするための、Maven バイナリーmvn
を含むさまざまな Java バイナリーが含まれています。
2.1. Jenkins エージェントイメージ
OpenShift Dedicated の Jenkins エージェントイメージは、Quay.io または registry.redhat.io で入手できます。
Jenkins イメージは、Red Hat レジストリーから入手できます。
$ docker pull registry.redhat.io/ocp-tools-4/jenkins-rhel8:<image_tag>
$ docker pull registry.redhat.io/ocp-tools-4/jenkins-agent-base-rhel8:<image_tag>
Jenkins イメージを使用するには、Quay.io または registry.redhat.io から直接アクセスするか、イメージを OpenShift Dedicated のコンテナーイメージレジストリーにプッシュします。