CircleCI Server のアップグレード
CircleCI Server version 2.x は、リリースのサポートが終了しています。 リリースがサポートされているバージョンへのアップグレードについては、お客様のアカウントチームにご相談ください。 |
ここでは、CircleCI Server を v2.19 にアップグレードするプロセスについて説明します。
Nomad の起動設定
Before upgrading to v2.19, follow this guide to update your nomad launch configuration. |
組織名変更スクリプト
v2.17 (またはそれ以前) から直接アップグレードする場合で、CircleCI 内の組織名の変更で問題が発生したことのある場合、または*いずれかの時点で組織名の変更が発生した可能性がある場合*は、以下の手順に従ってください。 既に CircleCI Server v2.18.x をお使いの場合、このセクションは省略できます。 |
-
Services マシンに SSH で接続します。
-
sudo docker exec -it workflows-conductor lein repl :connect 6005
を実行して、workflows-conductor
で REPL を実行します。 -
こちらのリンクにアクセスし、組織名変更スクリプトを参照します。 このスクリプトを REPL セッションにコピー & ペーストします。 移行が実行され、現在の進捗状況が出力されます。
-
出力に何らかの
ERROR
メッセージが表示された場合は、担当のカスタマー サクセス マネージャーに報告するか、サポートに問い合わせてください。
アップグレード手順の概要
CircleCI Server バージョンをアップグレードするには、以下の手順を実行します。
1. ロールバック用スナップショットの作成
この手順は任意ですが、実行しておくことをお勧めします。 |
以下の説明に従って、お使いの環境のスナップショットを作成します。
-
管理コンソール (
your-circleci-hostname.com:8800
など) にアクセスし、[Stop Now (今すぐ停止)] をクリックして CircleCI サービスを停止します。Figure 1. CircleCI の停止 -
nomad status
を実行して、Nomad クライアントでジョブが実行されていないことを確認します。 -
AWS EC2 管理コンソールにアクセスし、Services マシンのインスタンスを選択します。
-
[Actions (アクション)] > [Image (イメージ)] > [Create Image (イメージの作成)] の順に選択します。 ダウンタイムを回避する場合は、このときに [No reboot (再起動なし)] オプションを選択します。 ここでのイメージ作成では、お使いの環境を復元するための新しい EC2 インスタンスとして簡単に起動できる AMI を作成します。
Figure 2. スナップショット イメージの作成
また、AWS APIを使用して、このプロセスを自動化することもできます。 以後の AMI やスナップショットは、最後に取得したスナップショットからの差分 (変更されたブロック) と同じ大きさになるため、頻繁にスナップショットを作成してもストレージ コストを抑えられる場合があります。 スナップショットを取得したら、Services マシンに自由に変更を加えることができます。 |
ロールバックが必要になった場合は、 バックアップからの復元に関するガイド をご覧ください。
2. Replicated の更新
a. 前提条件
-
Ubuntu 14.04 または 16.04 ベースの環境を使用していること。
-
お使いの環境が孤立して*おらず*、インターネットにアクセスできること。
-
ここでは Replicated v2.38.6 への更新を行いますが、その前に Services マシンで v2.10.3 以上が実行されていることを確認する必要があります。 これを行うには、Services マシンに SSH で接続し、次のコマンドを実行します。
replicated --version
Replicated v2.10.3 未満のバージョンを実行している場合は、 support@circleci.com までご連絡ください。 既に v2.38.6 以上を実行している場合は、次の手順をスキップして、 CircleCI アプリケーションのアップグレードに進んでください。
b. 準備
Replicated の更新プロセスを開始する前に、(上記の説明に従い) スナップショットを作成してください。 |
-
ダッシュボードの [Stop Now (今すぐ停止)] ボタンをクリックして、CircleCI アプリケーションを停止させます。 アプリケーションのシャットダウンには数分かかります。 ステータスが [Stopped (停止)] になってから次の手順に進んでください。
Figure 3. CircleCI アプリケーションの停止または、Services マシンに SSH で接続しコマンドラインで次のコマンドを実行することで、CircleCI アプリケーションを停止させることもできます。
replicatedctl app stop
ステータスは、次のコマンドを実行して確認できます。
replicatedctl app status inspect
以下のように出力されます。
[ { "AppID": "edd9471be0bc4ea04dfca94718ddf621", "Sequence": 2439, "State": "stopped", "DesiredState": "stopped", "Error": "", "IsCancellable": false, "IsTransitioning": false, "LastModifiedAt": "2018-10-23T22:00:21.314987894Z" } ]
-
Replicated の更新を完了するには、Docker が推奨バージョンの 17.12.1 である必要があります。
docker version
を実行して実行中のバージョンを確認します。 更新が必要な場合は、以下のコマンドを実行します。sudo apt-get install docker-ce=17.12.1~ce-0~ubuntu
-
以下のコマンドを使用して Docker のバージョンを固定します。
sudo apt-mark hold docker-ce
c. 更新の実行
-
以下のコマンドで更新スクリプトを実行して、Replicated の更新を実行します。
curl -sSL "https://get.replicated.com/docker?replicated_tag=2.38.6" | sudo bash
Replicated と Docker の両方のバージョンをチェックしてください。
replicatedctl version # 2.38.6 docker -v # 17.12.1
-
以下のコマンドでアプリケーションを再起動します。
replicatedctl app start
アプリケーションのスピンアップには数分かかります。 以下のコマンドを実行するか、管理ダッシュボードにアクセスして進行状況を確認できます。
replicatedctl app status inspect
以下のように出力されます。
[ { "AppID": "edd9471be0bc4ea04dfca94718ddf621", "Sequence": 2439, "State": "started", "DesiredState": "started", "Error": "", "IsCancellable": true, "IsTransitioning": true, "LastModifiedAt": "2018-10-23T22:04:05.00374451Z" } ]
3. CircleCI Server のアップグレード
-
最新バージョンの Replicated を実行したら、管理コンソール ダッシュボードの [View Update (更新の表示)] ボタンをクリックします。
Figure 4. 利用可能な更新の表示 -
インストールするバージョンの横にある [Install (インストール)] をクリックします。
インストール プロセス中に不要な待ち時間が発生するのを避けるため、断続的に画面を更新してください。 Figure 5. 利用可能なリリースの表示インストール プロセスには数分間かかる場合があります。 インストールの状況は [Releases (リリース)] ページとメイン ダッシュボードの両方に表示されます。
-
最新バージョンを実行している場合には、ダッシュボードの中央のボックスに "CircleCI is up to date (CircleCI は最新の状態です)" と表示されます。
ドキュメントの改善にご協力ください
このガイドは、CircleCI の他のドキュメントと同様にオープンソースであり、 GitHub でご利用いただけます。 ご協力いただき、ありがとうございます。
- このページの編集をご提案ください (最初に「コントリビューションガイド」をご覧ください)。
- ドキュメントの問題点を報告する、またはフィードバックやコメントを送信するには、GitHub で issue を作成してください。
- CircleCI は、ユーザーの皆様の弊社プラットフォームにおけるエクスペリエンスを向上させる方法を常に模索しています。 フィードバックをお寄せいただける場合は、リサーチコミュニティにご参加ください。
サポートが必要ですか
CircleCI のサポートエンジニアによる、サービスに関する問題、請求およびアカウントについての質問への対応、設定の構築に関する問題解決のサポートを行っています。 サポートチケットを送信して、CircleCI のサポートエンジニアにお問い合わせください。日本語でお問い合わせいただけます。
または、 サポートサイト から、サポート記事やコミュニティフォーラム、トレーニングリソースをご覧いただけます。
CircleCI Documentation by CircleCI is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.