macOS への CircleCI セルフホストランナーのインストール
このページでは、CircleCI セルフホストランナーを macOS にインストールする方法を説明します。
このページはセルフホストランナーのインストールの続きです。 下記の手順を進めるには、既存の名前空間とリソースクラスが必要です。 これは、https://app.circleci.com/[CircleCI Web アプリ] で Self-Hoseted Runners に移動して実行できます ( Web アプリのインストールのドキュメントを参照)。 また、 CLI もご使用いただけます。 |
CircleCI セルフホストランナー設定ファイルを作成する
CircleCI エージェントを実行するユーザーを選択します。 以下の手順では、選択するユーザーを USERNAME
としています。 USERNAME
は、エージェントがインストールされるマシンのユーザーのことであり、CircleCI アカウントのユーザー名では_ありません_。
大文字で記載されたパラメーターを適切な値に置き換えて、下記のテンプレートを完成させます。 完成したら、launch-agent-config.yaml
として保存します。
api:
auth_token: AUTH_TOKEN
# CircleCI Server の場合 url に CircleCI Server のホスト名を設定します。 例:
# url: https://circleci.example.com
runner:
name: RUNNER_NAME
command_prefix : ["sudo", "-niHu", "USERNAME", "--"]
working_directory: /var/opt/circleci/workdir
cleanup_working_directory: true
logging:
file: /Library/Logs/com.circleci.runner.log
Update the Working Directory Permission
The CircleCI agent requires write permission to the directory containing the working directory. Change the ownership of that directory to USERNAME
:
sudo chown USERNAME /var/opt/circleci
CircleCI セルフホストランナー設定ファイルをインストールする
CircleCI セルフホストランナー設定ファイルの保存ディレクトリを root
として作成します。
sudo mkdir -p '/Library/Preferences/com.circleci.runner'
先程作成した launch-agent-config.yaml
をディレクトリにコピーし、権限を`600` に変更します。
sudo cp "launch-agent-config.yaml" "/Library/Preferences/com.circleci.runner/launch-agent-config.yaml"
sudo chmod 600 "/Library/Preferences/com.circleci.runner/launch-agent-config.yaml"
launchd .plist
を作成しインストールする
com.circleci.runner.plist
ファイルを作成します。 Vim でファイルを作成する場合、コマンドにはプレフィックス sudo
が必要になるのでご注意ください。 ファイルへのパスは、/Library/LaunchDaemons/com.circleci.runner.plist
になります。 所有者を root
に、権限を 644
に設定します。
sudo chown root: /Library/LaunchDaemons/com.circleci.runner.plist
sudo chmod 644 /Library/LaunchDaemons/com.circleci.runner.plist
下記を新しく作成した /Library/LaunchDaemons/com.circleci.runner.plist
ファイルにコピーします。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.circleci.runner</string>
<key>Program</key>
<string>/var/opt/circleci/circleci-launch-agent</string>
<key>ProgramArguments</key>
<array>
<string>circleci-launch-agent</string>
<string>--config</string>
<string>/Library/Preferences/com.circleci.runner/launch-agent-config.yaml</string>
</array>
<key>RunAtLoad</key>
<true/>
<!-- The agent needs to run at all times -->
<key>KeepAlive</key>
<true/>
<!-- This prevents macOS from limiting the resource usage of the agent -->
<key>ProcessType</key>
<string>Interactive</string>
<!-- Increase the frequency of restarting the agent on failure, or post-update -->
<key>ThrottleInterval</key>
<integer>3</integer>
<!-- Wait for 10 minutes for the agent to shut down (the agent itself waits for tasks to complete) -->
<key>ExitTimeOut</key>
<integer>600</integer>
<!-- The agent uses its own logging and rotation to file -->
<key>StandardOutPath</key>
<string>/dev/null</string>
<key>StandardErrorPath</key>
<string>/dev/null</string>
</dict>
</plist>
launchd
サービスを有効にする
これで、サービスをロードできます。
sudo launchctl load '/Library/LaunchDaemons/com.circleci.runner.plist'
これまでに有効化手順を実行したことがある場合は、下記コマンドで既存サービスをアンロードしてください。 アンロード後、上記コマンドにより新しいサービスをロードできます。 |
sudo launchctl unload '/Library/LaunchDaemons/com.circleci.runner.plist'
ジョブでセルフホストランナーを参照する
セルフホストランナーのセットアップが完了したら、 .circleci/config.yml
ファイルのフィールドを設定してジョブでセルフホストランナーを参照する必要があります。 セルフホストランナーを使って実行するジョブについて、以下のフィールドを指定します。
-
machine: true
-
resource_class: your-namespace/your-resource
以下に、ジョブのセットアップ方法の簡単な例を示します。
version: 2.1
workflows:
testing:
jobs:
- runner
jobs:
runner:
machine: true
resource_class: your-namespace/your-resource
steps:
- run: echo "Hi I'm on Runners!"
この設定ファイルを VCS プロバイダーにプッシュすると、セルフホストランナーを使ってジョブが実行されます。
サービスの実行状態を確認する
プリインストールされている macOS アプリケーション、 コンソール を開きます。 このアプリケーションでは、 ログレポート で CircleCI エージェントのログを閲覧することができます。 リストから com.circleci.runner.log
というログを探します。 このファイルは、 ライブラリ > ログ に移動しても見つけられます。
ドキュメントの改善にご協力ください
このガイドは、CircleCI の他のドキュメントと同様にオープンソースであり、 GitHub でご利用いただけます。 ご協力いただき、ありがとうございます。
- このページの編集をご提案ください (最初に「コントリビューションガイド」をご覧ください)。
- ドキュメントの問題点を報告する、またはフィードバックやコメントを送信するには、GitHub で issue を作成してください。
- CircleCI は、ユーザーの皆様の弊社プラットフォームにおけるエクスペリエンスを向上させる方法を常に模索しています。 フィードバックをお寄せいただける場合は、リサーチコミュニティにご参加ください。
サポートが必要ですか
CircleCI のサポートエンジニアによる、サービスに関する問題、請求およびアカウントについての質問への対応、設定の構築に関する問題解決のサポートを行っています。 サポートチケットを送信して、CircleCI のサポートエンジニアにお問い合わせください。日本語でお問い合わせいただけます。
または、 サポートサイト から、サポート記事やコミュニティフォーラム、トレーニングリソースをご覧いただけます。
CircleCI Documentation by CircleCI is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.