CircleCI Server 上での CircleCI セルフホストランナーのアップグレード
このページの内容
- マシンランナーのサーバーとの互換性
- サーバー上のマシンランナーのアップグレード
- コンテナ化された環境におけるマシンランナーのアップグレード
- Kubernetes のマシンランナーのアップグレード
- Docker のマシンランナーのアップグレード
- コンテナ化されていない環境におけるマシンランナーのアップグレード
- 1. 既存の circleci-launch-agent バイナリを新しいバージョンに置き換える
- 2. 現在実行中のマシンランナーを停止する
- Linux でのマシンランナーの停止
- Mac でのマシンランナーの停止
- Windows でのマシンランナーの停止
- 3. 新しいマシンランナーを起動する
- Linux での起動
- Mac での起動
- Windows での起動
- 関連リソース
ここでは、CircleCI Server 上で CircleCI *マシンランナー*を更新する方法を説明します。
サーバー上のマシンランナーのアップグレード
クラウド版 CircleCI とは異なり、CircleCI Server は circleci-launch-agent
を自動的に更新しないため、手動による操作が必要です。 以下では、さまざまな環境で CircleCI Server のマシンランナーをアップグレードする方法を詳しく説明します。
コンテナ化された環境におけるマシンランナーのアップグレード
ここでは、Kurbernetes や Docker のコンテナ化された環境でセルフホストランナーをアップグレードする方法について詳しく説明します。
Kubernetes のマシンランナーのアップグレード
Kubernetes のインストールガイドを参照してください。
Docker のマシンランナーのアップグレード
-
現在実行中のすべてのセルフホストランナーコンテナを停止する
docker stop <container-name>
-
セルフホストランナーのコンテナを削除する
docker stop <container-name>; docker rm <container-name>;
-
新しいマシンランナーの Docker コンテナを起動する
CIRCLECI_RESOURCE_CLASS=<resource-class> CIRCLECI_API_TOKEN=<runner-token> agent_version=<agent_version_for_server> docker run --env agent_version --env CIRCLECI_API_TOKEN --env CIRCLECI_RESOURCE_CLASS --name <container-name> <image-id-from-previous-step>
サーバー上で Docker コンテナを起動する場合、 --env
フラグを使ってagent_version
の環境変数を渡す必要があります。
コンテナ化されていない環境におけるマシンランナーのアップグレード
コンテナ化されていない環境では、`circleci-launch-agent`バイナリを手動で更新するプロセスは 3 つのステップに分けられます。 各ステップの詳細は次のセクションで説明します。
-
既存の
circleci-launch-agent
バイナリを新しいバージョンに置き換える -
現在実行中の
circleci-launch-agent
プロセスを停止する -
新しいバージョンの
circleci-launch-agent
バイナリを起動する
1. 既存の circleci-launch-agent
バイナリを新しいバージョンに置き換える
ローンチエージェントバイナリのダウンロード と同じ手順で、agent_version
の環境変数を CircleCI Server 用のセルフホストランナーの互換性リスト に記載されている正しいバージョンに更新します。
export agent_version="<launch-agent-version>" && sh ./download-launch-agent.sh
$Env:agentVer = "<launch-agent-version>"
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;
./Install-CircleCIRunner.ps1
2. 現在実行中のマシンランナーを停止する
新しく更新されたバイナリを開始する前に現在実行中の circleci-launch-agent
プロセスを停止する必要があります。 各プラットフォームの停止方法は以下のとおりです。
Linux でのマシンランナーの停止
次のコマンドを実行します。
sudo systemctl stop circleci.service
sudo systemctl disable circleci.service
Mac でのマシンランナーの停止
次のコマンドを実行します。
sudo launchctl unload '/Library/LaunchDaemons/com.circleci.runner.plist'
Windows でのマシンランナーの停止
次のコマンドを実行します。
Stop-ScheduledTask -TaskName "CircleCI Launch Agent"
3. 新しいマシンランナーを起動する
各プラットフォームの起動方法は以下のとおりです。
Linux での起動
次のコマンドを実行します。
sudo systemctl reload circleci.service
sudo systemctl enable circleci.service
sudo systemctl start circleci.service
Mac での起動
次のコマンドを実行します。
sudo launchctl load '/Library/LaunchDaemons/com.circleci.runner.plist'
Windows での起動
次のコマンドを実行します。
Start-ScheduledTask -TaskName "CircleCI Launch Agent"