4.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 を手動で再デプロイする必要があります。 -
scheduled-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>"}}}]}}'$ oc patch dc jenkins -p '{"spec":{"triggers":[{"type":"ImageChange","imageChangeParams":{"automatic":true,"containerNames":["jenkins"],"from":{"kind":"ImageStreamTag","namespace":"<namespace>","name":"jenkins:<image_stream_tag>"}}}]}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow ヒントまたは、Jenkins デプロイメント設定 YAML を編集するには、
$ oc edit dc/jenkins -n <namespace>を入力し、value: 'jenkins:<image_stream_tag>'行を更新します。