Script shell/Bash
Semaphore può eseguire script shell tramite /bin/bash. Per farlo, creare un Task Template di tipo Bash Script.
Creazione di un Task Template Bash
- Andare nella sezione Task Templates e fare clic sul pulsante New Template.
- Selezionare Bash come tipo di App.
- Configurare il Task Template:
| Campo | Descrizione |
|---|---|
| Name | Un nome descrittivo per il Task Template |
| Repository | Il Repository che contiene lo script shell |
| Playbook / Script | Percorso relativo dello script, ad esempio scripts/deploy.sh |
| Variable Groups | I Variable Group i cui valori vengono iniettati come variabili d'ambiente |
- Fare clic su Create.
- Fare clic su Run per eseguire il Task Template. La finestra di dialogo New Task per un Task Template di script contiene solo il messaggio facoltativo, oltre alle variabili di survey e ai prompt se il Task Template li definisce.
Passaggio delle variabili agli script
Le variabili dei Variable Group selezionati vengono iniettate come variabili d'ambiente. Nello script è possibile accedervi con $VARIABLE_NAME:
#!/bin/bash
echo "Deploying to $TARGET_HOST"
Note
- Rendere lo script eseguibile (
chmod +x) oppure assicurarsi che inizi con uno shebang valido (#!/bin/bash). - Gli script vengono eseguiti in modo non interattivo. Evitare richieste che attendono l'input dell'utente.
- Il codice di uscita
0indica il successo; qualsiasi codice di uscita diverso da zero segna il Task come fallito. - Se uno script molto breve non produce alcun output nel log, vedere L'output dello script Bash è mancante o incompleto nella guida alla risoluzione dei problemi.
- Per eseguire comandi su host remoti, utilizzare invece Ansible.