Начало работы
Semaphore UI — веб-интерфейс и API для повторяемой автоматизации с Ansible, Terraform/OpenTofu, Bash, PowerShell и Python. Он объединяет автоматизацию из Git, учётные данные, переменные, расписания, рабочие процессы и среды выполнения, сохраняя статус и журнал каждого запуска.
В этом руководстве первый рабочий пример использует Ansible. Возьмите playbook из своего репозитория или повторите пример со скриншотов с помощью публичного репозитория semaphoreui/semaphore-demo.
1. Установите Semaphore
Выберите способ установки с учётом того, где будет работать Semaphore. По умолчанию выбран системный пакет.
- Системный пакет
- Docker Compose
- Архив с исполняемым файлом
- Kubernetes с Helm
Для Debian или Ubuntu на amd64:
wget https://github.com/semaphoreui/semaphore/releases/download/v2.19.12/semaphore_2.19.12_linux_amd64.deb
sudo apt install ./semaphore_2.19.12_linux_amd64.deb
Для RHEL, Fedora, Rocky Linux, AlmaLinux или CentOS Stream на amd64:
curl -LO https://github.com/semaphoreui/semaphore/releases/download/v2.19.12/semaphore_2.19.12_linux_amd64.rpm
sudo dnf install ./semaphore_2.19.12_linux_amd64.rpm
Настройте базу данных и первого администратора, затем запустите Semaphore с созданной конфигурацией:
semaphore setup --config ./config.json
semaphore server --config ./config.json
Для локального ознакомления выберите SQLite, подтвердите или задайте пути к базе данных и playbook, укажите публичный URL и создайте первого администратора по запросу.
Создайте compose.yaml:
services:
semaphore:
image: semaphoreui/semaphore:v2.19.12
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- semaphore-data:/var/lib/semaphore
environment:
SEMAPHORE_DB_DIALECT: sqlite
SEMAPHORE_DB_PATH: /var/lib/semaphore
SEMAPHORE_ADMIN: admin
SEMAPHORE_ADMIN_NAME: Admin
SEMAPHORE_ADMIN_EMAIL: admin@localhost
SEMAPHORE_ADMIN_PASSWORD: ${SEMAPHORE_ADMIN_PASSWORD}
SEMAPHORE_ACCESS_KEY_ENCRYPTION: ${SEMAPHORE_ACCESS_KEY_ENCRYPTION}
volumes:
semaphore-data: