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

Приложения

Приложение — это инструмент, который запускает шаблон задачи. В Semaphore встроено семь приложений; администраторы могут включать и отключать их, а также регистрировать собственные.

ПриложениеИдентификаторЧто запускает шаблонРуководство
Ansible Playbookansibleansible-playbook с выбранным инвентарёмAnsible
Terraform Codeterraformterraform в выбранном подкаталоге и рабочем пространствеTerraform/OpenTofu
OpenTofu Codetofutofu с теми же опциями, что и TerraformTerraform/OpenTofu
Terragrunt Codeterragruntterragrunt поверх Terraform или OpenTofuTerragrunt
Bash Scriptbashshell-скрипт через /bin/bashShell
PowerShell Scriptpowershellскрипт .ps1 через pwshPowerShell
Python Scriptpythonскрипт .py через python3Python

Сам инструмент должен быть установлен на машине, которая выполняет задачи: на сервере Semaphore или на раннере. Официальный Docker-образ содержит Ansible, Terraform, OpenTofu, Bash и Python.

Управление приложениями

Администраторы открывают раздел Applications из меню учётной записи внизу боковой панели.

Страница приложений

Переключатель в каждой строке включает или отключает приложение. Отключённое приложение не предлагается в форме шаблона, но существующие шаблоны продолжают работать. При создании шаблона доступны только включённые приложения, поэтому отключите инструменты, которые не установлены на вашем сервере.

Щёлкните по приложению, чтобы изменить его название, значок, путь к исполняемому файлу и приоритет (порядок в форме шаблона).

Пользовательские приложения

Кнопка New App регистрирует как приложение любой инструмент командной строки:

ПолеОписание
IDКороткий идентификатор, используемый в API и в шаблонах, например pulumi.
IconЗначок, отображаемый рядом с названием.
NameНазвание, отображаемое в форме шаблона.
PathПуть к исполняемому файлу на сервере или раннере.
PriorityПозиция в списке приложений.
ActiveПредлагается ли приложение в шаблонах.

Шаблон пользовательского приложения запускает исполняемый файл, передавая ему файл скрипта из репозитория в качестве аргумента, и получает группы переменных в виде переменных окружения — так же, как шаблоны Bash.

Приложения также можно заранее описать в конфигурации сервера, см. раздел apps в Конфигурации.