Перейти к основному содержимому

Shell/Bash-скрипты

Semaphore может выполнять shell-скрипты с помощью /bin/bash. Для этого создайте шаблон задачи Bash Script.

Создание шаблона Bash​

  1. Перейдите в раздел Task Templates и нажмите кнопку New Template.
  2. Выберите Bash в качестве типа приложения.
  3. Настройте шаблон:
ПолеОписание
NameПонятное имя шаблона
RepositoryРепозиторий, содержащий ваш shell-скрипт
Playbook / ScriptОтносительный путь к скрипту, например scripts/deploy.sh
Variable GroupsГруппы переменных, значения которых передаются как переменные окружения
  1. Нажмите Create.
  2. Нажмите Run, чтобы выполнить шаблон. Диалог New Task для шаблона со скриптом содержит только необязательное сообщение, а также переменные опроса и подсказки, если они заданы в шаблоне.

Диалог New Task для шаблона Bash

Передача переменных в скрипты​

Переменные из выбранных Variable Groups передаются как переменные окружения. Обращайтесь к ним в скрипте через $VARIABLE_NAME:

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

Примечания​

  • Сделайте скрипт исполняемым (chmod +x) или убедитесь, что он начинается с корректного shebang (#!/bin/bash).
  • Скрипты выполняются в неинтерактивном режиме. Избегайте запросов, ожидающих ввода пользователя.
  • Код выхода 0 означает успех; любой ненулевой код выхода помечает задачу как неуспешную.
  • Если очень короткий скрипт не выводит ничего в лог, см. Вывод Bash-скрипта отсутствует или неполный в руководстве по устранению неполадок.
  • Для выполнения команд на удалённых хостах используйте Ansible.