メインコンテンツまでスキップ

CLI

semaphore バイナリは、サーバーであると同時に完全な管理ツールでもあります。引数なしで (または semaphore help を) 実行すると、すべてのコマンドが一覧表示されます:

semaphore help

ほとんどの管理タスクには専用のコマンドグループがあります:

コマンドグループ用途
semaphore usersユーザーの追加、変更、削除、参照。API トークンと TOTP (2FA) の管理。
semaphore projectsプロジェクトのエクスポートとインポート (バックアップ)。
semaphore vaults保存されたシークレットの再暗号化と、暗号化キーの使用状況の確認。
semaphore runnerランナーモードでの実行と、ランナーの登録/登録解除。
semaphore migrateデータベースマイグレーションの適用またはロールバック。

いくつかのコマンドグループには短いエイリアスがあります: users/userprojects/projectvaults/vaultserver/service

備考

データベースにアクセスするすべてのコマンド (usersprojectsvaultsmigrateserver) は、実行前に保留中のスキーママイグレーションを適用します。新しいバージョンの Semaphore の CLI を既存のデータベースに対して実行する前に、データベースのバックアップを 取得してください。

グローバルオプション

これらのフラグはすべてのコマンドで使用できます:

オプション説明
--config <path>設定ファイルのパス。
--no-config設定ファイルを一切読み込まず、環境変数のみを使用します。
--log-level <level>ログの詳細度: DEBUGINFOWARNERRORFATALPANIC のいずれか。未指定の場合は環境変数 SEMAPHORE_LOG_LEVEL が使用されます。
--debug-filter <spec>DEBUG 出力を特定の名前空間に絞り込みます。例: 'runner,task_*''*,-db'。ログレベルが DEBUG の場合にのみ有効です。未指定の場合は SEMAPHORE_DEBUG_FILTER が使用されます。

設定ファイルの検索方法

--config が省略された場合、Semaphore は次の順序でファイルを探し、最初に見つかったものを 使用します:

  1. 環境変数 SEMAPHORE_CONFIG_PATH に指定されたパス。
  2. カレントディレクトリの config.jsonconfig.yaml、または config.yml
  3. /usr/local/etc/semaphore/config.json (または .yaml / .yml)。
  4. /etc/semaphore/config.json (または .yaml / .yml)。

環境変数はファイルの上に適用されるため、ファイルの値を上書きします。--no-config を 指定した場合は、環境変数とデフォルト値のみが使用されます。オプションの全一覧は 設定を参照してください。

バージョン

現在のバージョンを表示します。

semaphore version

対話型セットアップ

初回設定に使用します。シークレットを生成し、対話型の質問に順に答えていくことで 設定ファイルを書き出し、データベースマイグレーションを実行して、最初の管理者ユーザーを 作成します。

semaphore setup

設定ファイルの書き出し先を選択するには --config <path> を渡します。指定しない場合、 セットアップは出力ディレクトリ (デフォルト: カレントディレクトリ) を尋ね、そこに config.json を書き出します。

入力したユーザー名またはメールアドレスがすでに存在する場合、セットアップは新しいユーザーを 作成せず、既存のユーザーをそのまま使用します。

完了すると、サーバーを起動するためのコマンドが表示されます。例:

./semaphore server --config /path/to/config.json

サーバーモード

Semaphore サーバー (Web UI と API) を起動します。serviceserver のエイリアスです。

semaphore server --config /path/to/config.json

サーバーは起動時に保留中のデータベースマイグレーションを適用し、使用している データベース、一時パス、インターフェース、ポートを表示します。

ランナーモード

Semaphore をタスクランナーとして実行します。サブコマンドの全一覧 (setupregisterstartunregister) はランナーを参照してください。

semaphore runner start --config /path/to/runner-config.json

データベースマイグレーション

データベーススキーマを最新の状態にします。特定のバージョンへの適用またはロールバックに ついてはデータベースマイグレーションを参照してください。

semaphore migrate --config /path/to/config.json