ランナー
semaphore runner コマンドは、Semaphore をランナーモードで実行し、サーバーへの
ランナーの登録を管理します。ランナーは、Semaphore サーバーとは別のマシン上でタスクを
実行します。
semaphore runner --help
ヒント
ランナーの仕組みとサーバー側の設定方法については、 ランナーガイドを参照してください。
サブコマンドなしで semaphore runner を実行すると、ヘルプが表示されるだけです。
次のサブコマンドがあります:
| コマンド | 用途 |
|---|---|
runner setup | ランナーの設定ファイルを対話的に作成します (トークンが指定された場合は登録も行います)。 |
runner register | 登録トークンを使ってサーバーにランナーを登録します。 |
runner start | ランナーモードで実行し、タスクの受け付けを開始します。 |
runner unregister | サーバーからランナーの登録を削除します。 |
すべてのサブコマンドは、ランナーの設定ファイルを指定するグローバルフラグ --config <path>
(および環境変数のみで実行するための --no-config) を受け付けます。
対話型セットアップ (runner setup)
対話型のセットアップを順に進め、ランナーの設定ファイルを書き出します。登録トークンが
利用可能な場合 (プロンプトで入力するか、SEMAPHORE_RUNNER_REGISTRATION_TOKEN で設定)、
すぐにサーバーにランナーを登録します。
semaphore runner setup --config /path/to/config.runner.json
設定ファイルの書き出し先を選択するには --config <path> を渡します。指定しない場合、
セットアップは出力ディレクトリ (デフォルト: カレントディレクトリ) を尋ね、そこに
config.runner.json を書き出します。
完了すると、ランナーを起動するためのコマンドが表示されます。例:
# Run in the foreground:
./semaphore runner start --config /path/to/config.runner.json
# Run as a daemon:
nohup ./semaphore runner start --config /path/to/config.runner.json &
セットアップを再実行する代わりに、生成された設定ファイルを後から手動で編集することも できます。
ランナーの設定オプション
設定ファイルの runner ブロック内のフィールド:
| フィールド | 環境変数 | 説明 |
|---|---|---|
token / token_file | SEMAPHORE_RUNNER_TOKEN / SEMAPHORE_RUNNER_TOKEN_FILE | ランナーの認証トークン (登録時に発行されます)。 |
| — | SEMAPHORE_RUNNER_REGISTRATION_TOKEN | 登録トークン。環境変数のみで指定でき、ファイルには書き込まれません。 |
registration_token_file | SEMAPHORE_RUNNER_REGISTRATION_TOKEN_FILE | 登録トークンを含むファイルのパス。 |
name | SEMAPHORE_RUNNER_NAME | サーバー上に表示されるランナー名。 |
tags | SEMAPHORE_RUNNER_TAGS | プロジェクトのランナー振り分けに使用するタグの JSON 配列。 |
webhook | SEMAPHORE_RUNNER_WEBHOOK | このランナーにタスクがキューイングされたときにサーバーが呼び出す URL。 |
enabled | SEMAPHORE_RUNNER_ENABLED | ランナーがタスクを受け付けるかどうか。 |
project_id | SEMAPHORE_RUNNER_PROJECT_ID | プロジェクトレベルのランナーのプロジェクト ID。グローバルランナーの場合は省略します。 |
check_interval_seconds | SEMAPHORE_RUNNER_CHECK_INTERVAL_SECONDS | ポーリング間隔 (秒)。デフォルト: 5。 |
connection.timeout_seconds | SEMAPHORE_RUNNER_CONNECTION_TIMEOUT_SECONDS | サーバーへの接続とレスポンスヘッダーの待機のタイムアウト (秒)。デフォルト: 3。 |
max_parallel_tasks | SEMAPHORE_RUNNER_MAX_PARALLEL_TASKS | 同時実行タスクの最大数。デフォルト: 9999。 |
one_off | SEMAPHORE_RUNNER_ONE_OFF | 1 つのジョブを処理した後に終了します。Webhook によってオンデマンドで起動されるランナーに便利です。 |
セットアップの詳細はランナーを、オプションの全一覧は 設定を参照してください。