Shell/Bash-скрипты
Semaphore может выполнять shell-скрипты с помощью /bin/bash. Для этого создайте шаблон задачи Bash Script.
Создание шаблона Bash
- Перейдите в раздел Task Templates и нажмите кнопку New Template.
- Выберите Bash в качестве типа приложения.
- Настройте шаблон:
| Поле | Описание |
|---|---|
| Name | Понятное имя шаблона |
| Repository | Репозиторий, содержащий ваш shell-скрипт |
| Playbook / Script | Относительный путь к скрипту, например scripts/deploy.sh |
| Variable Groups | Группы переменных, значения которых передаются как переменные окружения |
- Нажмите Create.
- Нажмите Run, чтобы выполнить шаблон. Диалог New Task для шаблона со скриптом содержит только необязательное сообщение, а также переменные опроса и подсказки, если они заданы в шаблоне.
Передача переменных в скрипты
Переменные из выбранных Variable Groups передаются как переменные окружения. Обращайтесь к ним в скрипте через $VARIABLE_NAME:
#!/bin/bash
echo "Deploying to $TARGET_HOST"
Примечания
- Сделайте скрипт исполняемым (
chmod +x) или убедитесь, что он начинается с корректного shebang (#!/bin/bash). - Скрипты выполняются в неинтерактивном режиме. Избегайте запросов, ожидающих ввода пользователя.
- Код выхода
0означает успех; любой ненулевой код выхода помечает задачу как неуспешную. - Если очень короткий скрипт не выводит ничего в лог, см. Вывод Bash-скрипта отсутствует или неполный в руководстве по устранению неполадок.
- Для выполнения команд на удалённых хостах используйте Ansible.