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