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

シェル/Bash スクリプト

Semaphore は /bin/bash を使用してシェルスクリプトを実行できます。そのためには、Bash Script タスクテンプレートを作成します。

Bash テンプレートの作成​

  1. タスクテンプレート セクションに移動し、新しいテンプレート ボタンをクリックします。
  2. アプリの種類として Bash を選択します。
  3. テンプレートを設定します。
フィールド説明
名前テンプレートを説明する名前
リポジトリシェルスクリプトを含むリポジトリ
Playbook/スクリプトスクリプトへの相対パス。例: scripts/deploy.sh
変数グループ値が環境変数として注入される変数グループ
  1. 作成 をクリックします。
  2. 実行 をクリックしてテンプレートを実行します。スクリプトテンプレートの新しいタスクのダイアログには、任意のメッセージのみが表示されます。テンプレートで定義されている場合は、サーベイ変数とプロンプトも表示されます。

Bash テンプレートの新しいタスクのダイアログ

スクリプトへの変数の渡し方​

選択した 変数グループ の変数は、環境変数として注入されます。スクリプト内では $VARIABLE_NAME でアクセスします。

#!/bin/bash
echo "Deploying to $TARGET_HOST"

注意事項​

  • スクリプトに実行権限を付与する(chmod +x)か、有効なシバン(#!/bin/bash)で始まっていることを確認してください。
  • スクリプトは非対話的に実行されます。ユーザーの入力を待つプロンプトは避けてください。
  • 終了コード 0 は成功を意味し、0 以外の終了コードはタスクを失敗として扱います。
  • ごく短いスクリプトでログ出力がまったく得られない場合は、トラブルシューティングガイドの Bash スクリプトの出力が欠けている、または不完全を参照してください。
  • リモートホストでコマンドを実行したい場合は、代わりに Ansible を使用してください。