3.2. Jenkins イメージストリームタグのカスタマイズ
デフォルトのアップグレード動作をオーバーライドし、Jenkins イメージのアップグレード方法を制御するには、Jenkins デプロイメント設定で使用するイメージストリームタグの値を設定します。
デフォルトのアップグレード動作は、Jenkins イメージがインストールペイロードの一部であったときに存在した動作です。jenkins-rhel.json
イメージストリームファイル内のイメージストリームタグ名 2
および ocp-upgrade-redeploy
は、SHA 固有のイメージ参照を使用します。したがって、これらのタグが新しい SHA で更新されると、Red Hat OpenShift Service on AWS のイメージ変更コントローラーが、jenkins-ephemeral.json
や jenkins-persistent.json
などの関連テンプレートから Jenkins デプロイメント設定を自動的に再デプロイします。
新しいデプロイメントの場合、そのデフォルト値をオーバーライドするには、jenkins-ephemeral.json
Jenkins テンプレートの JENKINS_IMAGE_STREAM_TAG
の値を変更します。たとえば、"value": "jenkins:2"
の 2
を次のイメージストリームタグのいずれかに置き換えます。
-
ocp-upgrade-redeploy
(デフォルト値) を指定すると、Red Hat OpenShift Service on AWS をアップグレードするときに Jenkins イメージが更新されます。 -
user-maintained-upgrade-redeploy
を指定した場合、Red Hat OpenShift Service on AWS をアップグレードした後、$ oc import-image jenkins:user-maintained-upgrade-redeploy -n openshift
を実行して Jenkins を手動で再デプロイする必要があります。 -
schedule-upgrade-redeploy
は、指定された<image>:<tag>
の組み合わせの変更を定期的にチェックし、変更されたときにイメージをアップグレードします。イメージ変更コントローラーは、変更されたイメージをプルし、テンプレートによってプロビジョニングされた Jenkins デプロイ設定を再デプロイします。このスケジュールされたインポートポリシーの詳細は、次の関連情報に記載される「イメージストリームへのタグの追加」を参照してください。
既存のデプロイメントの現在のアップグレード値をオーバーライドするには、それらのテンプレートパラメーターに対応する環境変数の値を変更します。
前提条件
- Red Hat OpenShift Service on AWS 4 で 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>'
行を更新します。