ここでは、CI Managementを旧バージョンから本バージョンにアップデートする手順について説明します。
以下の事項が前提です。
Automation Managerが本バージョンにアップデート済みであること。
GitLabサーバーおよびGitLab RunnerサーバーのOSが「設計ガイド(FJCS仕様)」-「システム構成」-「標準のリソース構成」-「仮想サーバー」に記載の条件を満たしていること。
「更新ツールの実行準備」の[更新時]の手順を実施済みであること。
注意
アップデート作業中、CI Managementの各サービスは使用できません。
更新ツールでは「概説書」のサポート範囲で、既存のデータおよびオープンソースの設定ファイルを、アップデート後のオープンソースに適用します。オープンソースの設定ファイルや機能に対して個別に追加・設定した場合は更新後、設定を引き継げない場合があります。個別に機能・設定を追加した場合は、該当のオープンソースを業務とは異なる環境で再現・更新することで引き継ぎ可能であることを検証し、更新ツールを実行してください。
オープンソースのアップデートの際、非互換である機能の取り込みが含まれる可能性があります。切り戻しによっても更新前に復元できない場合に備え、更新前に必ずバックアップを取得してください。バックアップ方法は「運用ガイド(FJCS仕様)」を参照してください。
更新、および、切り戻しの操作は多重実行できません。各操作はシーケンシャルに実行してください。
Automation Managerコンテナにログインし、以下の手順を行うことでCI Managementのアップデートができます。
CI Managementのアップデート
以下のコマンドを実施しCI Managementをアップデートできます。
<環境識別子>は、「第2章 インストール手順」実施時に環境を一意に識別するために指定した任意の文字列を指定します。
# cd /data/playbook # ansible-playbook -i inventories/<環境識別子>/hosts play_update_ci_mng.yml
コマンドを実行すると、以下のメッセージが表示されます。誤って実行した場合や前提条件を満たしていない場合は、「n」を入力し、Enterキーを押下することでアップデートを中断できます。アップデートを継続する場合は「y」を入力し、Enterキーを押下します。
[Please confirm] ============================================================== [WARNING] Do you want to run Update CI Management? (y/n) ============================================================== :
またアップデート中に以下のメッセージが出力された場合は、出力に従って、http://<GitLabサーバーのIPアドレス>:9000/setupにアクセスし、"Upgrade"ボタンをクリックしてから、コンソール上でEnterキーを入力します
============================================================== 1. Access http://<GitLab server IPaddress>:9000/setup via a web browser. 2. Click the "Upgrade" button then the sonarqube web console will be displayed. 3. If you have done, please press enter key. ==============================================================
参考
【オプション説明】
Ansibleのコマンドオプションを利用することで、CI Managementのアップデートをサーバー単位およびオープンソース単位で実施できます。
これにより、CI Managementの利用状況に合わせてアップデートを計画することができます。
ただし、旧バージョンと本バージョンが混在する状態での動作は保証されません。本オプションを利用する場合は、速やかに全てのサーバーおよびオープンソースをアップデートすることを推奨します。
--limitオプション
指定したサーバーを対象にアップデートを実行します。
# ansible-playbook -i inventories/<環境識別子>/hosts play_update_ci_mng.yml --limit=<サーバー>
指定値 | 対象サーバー |
---|---|
gitlab | GitLabサーバー |
gitlab_runner | GitLab Runnerサーバー |
--tagsオプション
指定したtagのオープンソースを対象にアップデートを実行します。
# ansible-playbook -i inventories/<環境識別子>/hosts play_update_ci_mng.yml --tags=<tag>
指定値 | 対象オープンソース |
---|---|
gitlab | GitLab、GitLab Mattermost |
gitlab_runner | GitLab Runner |
redmine | Redmine |
sonarqube | SonarQube |
docker | Docker |
【正常終了時】
正常終了時は下記のようにunreachable=0, failed=0となり、XX、YYは任意の整数が記載されています。
PLAY RECAP ********************************************************************* 127.0.0.1 : ok=XX changed=YY unreachable=0 failed=0
【異常終了時】
異常終了時は下記のようにunreachable, failedのAAおよびBBは任意の整数が記載されています。
PLAY RECAP ********************************************************************* 127.0.0.1 : ok=XX changed=YY unreachable=AA failed=BB
SonarQubeをメンテナンス状態から復帰させる
CI Managementのアップデートの実施が完了すると、SonarQubeはメンテナンス状態となります。
"http://<SonarQubeのアクセス先>/setup"にアクセスすることで、メンテナンス状態から復帰させることができます。
<SonarQubeのアクセス先>は「操作ガイド(FJCS仕様)」の「CI Managementの利用」-「CI Managementの各サービスへのアクセス先」を参照してください。