4.2. Jenkins イメージストリームタグのカスタマイズ
デフォルトのアップグレード動作をオーバーライドし、Jenkins イメージのアップグレード方法を制御するには、Jenkins デプロイメント設定で使用するイメージストリームタグの値を設定します。
デフォルトのアップグレード動作は、Jenkins イメージがインストールペイロードの一部であったときに存在した動作です。jenkins-rhel.json
イメージストリームファイル内のイメージストリームタグ名 2
および ocp-upgrade-redeploy
は、SHA 固有のイメージ参照を使用します。したがって、これらのタグが新しい SHA で更新されると、OpenShift Container Platform イメージ変更コントローラーは、関連するテンプレート (jenkins-ephemeral.json
や jenkins-persistent.json
など) から Jenkins デプロイメント設定を自動的に再デプロイします。
新しいデプロイメントの場合、そのデフォルト値をオーバーライドするには、jenkins-ephemeral.json
Jenkins テンプレートの JENKINS_IMAGE_STREAM_TAG
の値を変更します。たとえば、"value": "jenkins:2"
の 2
を次のイメージストリームタグのいずれかに置き換えます。
-
デフォルト値
の ocp-upgrade-redeploy
は、OpenShift Container Platform をアップグレードするときに Jenkins イメージを更新します。 -
user-maintained-upgrade-redeploy
では、OpenShift Container Platform のアップグレード後に$ oc import-image jenkins:user-maintained-upgrade-redeploy -n openshift
を実行して、Jenkins を手動で再デプロイする必要があります。 -
schedule-upgrade-redeploy
は、指定された<image>:<tag>
の組み合わせの変更を定期的にチェックし、変更されたときにイメージをアップグレードします。イメージ変更コントローラーは、変更されたイメージをプルし、テンプレートによってプロビジョニングされた Jenkins デプロイ設定を再デプロイします。このスケジュールされたインポートポリシーの詳細は、次の関連情報に記載される「イメージストリームへのタグの追加」を参照してください。
既存のデプロイメントの現在のアップグレード値をオーバーライドするには、それらのテンプレートパラメーターに対応する環境変数の値を変更します。
前提条件
- OpenShift Container Platform 4.13 で OpenShift Jenkins を実行している。
- OpenShift Jenkins がデプロイされている namespace を知ってる。
手順
<namespace>
を OpenShift Jenkins がデプロイされている namespace に置き換え、<image_stream_tag>
をイメージストリームタグに置き換えて、イメージストリームタグの値を設定します。例
$ oc patch dc jenkins -p '{"spec":{"triggers":[{"type":"ImageChange","imageChangeParams":{"automatic":true,"containerNames":["jenkins"],"from":{"kind":"ImageStreamTag","namespace":"<namespace>","name":"jenkins:<image_stream_tag>"}}}]}}'
ヒントまたは、Jenkins デプロイメント設定 YAML を編集するには、
$ oc edit dc/jenkins -n <namespace>
を入力し、value: 'jenkins:<image_stream_tag>'
行を更新します。