シェル/Bash スクリプト
Semaphore は /bin/bash を使用してシェルスクリプトを実行できます。そのためには、Bash Script タスクテンプレートを作成します。
Bash テンプレートの作成
- タスクテンプレート セクションに移動し、新しいテンプレート ボタンをクリックします。
- アプリの種類として Bash を選択します。
- テンプレートを設定します。
| フィールド | 説明 |
|---|---|
| 名前 | テンプレートを説明する名前 |
| リポジトリ | シェルスクリプトを含むリポジトリ |
| Playbook/スクリプト | スクリプトへの相対パス。例: scripts/deploy.sh |
| 変数グループ | 値が環境変数として注入される変数グループ |
- 作成 をクリックします。
- 実行 をクリックしてテンプレートを実行します。スクリプトテンプレートの新しいタスクのダイアログには、任意のメッセージのみが表示されます。テンプレートで定義されている場合は、サーベイ変数とプロンプトも表示さ れます。
スクリプトへの変数の渡し方
選択した 変数グループ の変数は、環境変数として注入されます。スクリプト内では $VARIABLE_NAME でアクセスします。
#!/bin/bash
echo "Deploying to $TARGET_HOST"
注意事項
- スクリプトに実行権限を付与する(
chmod +x)か、有効なシバン(#!/bin/bash)で始まっていることを確認してください。 - スクリプトは非対話的に実行されます。ユーザーの入力を待つプロンプトは避けてください。
- 終了コード
0は成功を意味し、0 以外の終了コードはタスクを失敗として扱います。 - ごく短いスクリプトでログ出力がまったく得られない場合は、トラブルシューティングガイドの Bash スクリプトの出力が欠けている、または不完全を参照してください。
- リモートホストでコマンドを実行したい場合は、代わりに Ansible を使用してください。