Содержание
-
Функции
-
Запись журналов активности и задач в файл (PRO)
Сохраняйте постоянную запись всех журналов активности, сохраняя их непосредственно в файл. Доступно в версии PRO.
Узнать больше » -
Страница токенов API
Теперь вам не нужно использовать cURL для создания токена API.
Узнать больше » -
Просмотр необработанных журналов задач
Теперь вы можете получить доступ к необработанному, сырому выводу журнала для любой задачи — идеально для отладки.
Узнать больше » -
Очистка кэша проекта и исполнителя
Освободите место и начните с чистого листа, вручную очистив кэш для проектов и исполнителей.
Узнать больше » -
Переопределение ветки в шаблонах и задачах
Гибко переключайте ветки, не редактируя весь шаблон — просто переопределите его для каждой задачи или шаблона.
Узнать больше » -
Новая переменная окружения для конфигурации OIDC провайдера
Добавлена новая переменная окружения для упрощения настройки и интеграции OIDC провайдеров.
Узнать больше » -
Новая структура временных директорий
Мы улучшили структуру временных директорий для обеспечения лучшей изоляции и упрощения понимания.
Узнать больше » -
Возможность вручную добавлять внешних (LDAP и OIDC) пользователей
Теперь вы можете добавлять пользователей LDAP и OIDC в Semaphore до того, как они войдут в систему в первый раз.
Узнать больше » -
Значения по умолчанию для переменных опроса
Теперь вы можете устанавливать значения по умолчанию для переменных опроса, что упрощает предварительное заполнение общих вводов во время выполнения задач.
Узнать больше » -
Поддержка TLS для соединений с SMTP сервером Semaphore теперь поддерживает безопасные TLS соединения при отправке электронных писем через SMTP сервер.
Узнать больше » -
Настраиваемые уровни подробности Ansible playbook Теперь вы можете выбрать желаемый уровень подробности при выполнении задач Ansible playbook, что помогает в отладке и устранении неполадок.
Узнать больше » -
Поддержка Chroot и выполнение задач от имени другого пользователя Semaphore теперь может выполнять задачи в среде chroot и от имени указанного пользователя, улучшая безопасность и изоляцию.
Узнать больше » -
Поддержка аутентификации вебхуков Bitbucket Интеграции теперь можно настраивать с использованием аутентификации вебхуков Bitbucket.
Узнать больше » -
Настройки часового пояса расписаний Semaphore больше не использует системный часовой пояс. Вместо этого вы теперь можете явно установить часовой пояс для расписаний.
Узнать больше »
-
Функции
Запись журналов активности и задач в файл (PRO)
Semaphore Pro теперь поддерживает запись журналов активности и задач в файл. Чтобы включить это, добавьте следующую конфигурацию в ваш config.json
:
{
"log": {
"events": {
"enabled": true,
"logger": {
"filename": "./events.log"
}
},
"task": {
"enabled": true,
"logger": {
"filename": "./tasks.log"
}
}
}
}
Или вы можете сделать это, используя следующие переменные окружения:
export SEMAPHORE_EVENT_LOG_ENABLED=True
export SEMAPHORE_EVENT_LOG_PATH=./tasks.log
export SEMAPHORE_TASK_LOG_ENABLED=True
export SEMAPHORE_TASK_LOG_PATH=./tasks.log
Каждая строка в файле имеет следующий формат:
2024-01-03 12:00:34 user=234234 object=template action=delete ...
Запись в файл также поддерживает ротацию. Более подробная информация доступна в документации.
Страница токенов API

Просмотр необработанных журналов задач
Теперь вы можете открыть сырой журнал задачи, нажав кнопку RAW LOG в правом нижнем углу окна журнала задачи.

Очистка кэша проекта и исполнителя
Semaphore теперь предоставляет вам больше контроля над управлением кэшем.
Ранее неиспользуемый кэш автоматически очищался при удалении шаблонов или проектов. Однако в некоторых случаях остатки кэша могли оставаться и храниться бесконечно.
С новой функцией Очистка кэша вы можете вручную очистить:
- Кэш для конкретного проекта
- Кэш для исполнителя проекта
- Весь кэш для исполнителя
- Или даже весь кэш сервера Semaphore
Это помогает освободить место на диске, улучшить производительность и поддерживать порядок в вашей среде.

Переопределение ветки в шаблонах и задачах
Теперь вы можете переопределить ветку по умолчанию исходного репозитория в настройках шаблона.
В качестве альтернативы включите опцию Запрашивать ветку при выполнении, чтобы выбирать ветку каждый раз, когда вы запускаете задачу.

Новая переменная окружения для конфигурации OIDC провайдера
Мы представили новую переменную окружения: SEMAPHORE_OIDC_PROVIDERS
для настройки провайдеров OpenID Connect (OIDC).
Это особенно полезно при запуске Semaphore внутри контейнера Docker.
Переменная должна содержать действительный JSON в следующем формате:
SEMAPHORE_OIDC_PROVIDERS='{
"github": {
"client_id": "***",
"client_secret": "***"
// дополнительные поля...
}
}'
Новая структура временных директорий
Мы улучшили структуру временных директорий, введя директории для каждого проекта. Теперь у каждого проекта есть собственная выделенная папка в директории tmp_path
.
Это изменение упрощает управление и очистку кэша, когда проект удаляется.
Кроме того, директория инвентаря для шаблонов теперь следует четкому формату именования, например:
tmp_path/project_0/repository_1_template_2_inventory_3
Эта структура помогает избежать клонирования инвентарного репозитория при каждом выполнении задачи, улучшая производительность и уменьшая избыточность.
Возможность вручную добавлять внешних (LDAP и OIDC) пользователей
Теперь вы можете добавлять пользователей LDAP и OIDC в Semaphore до того, как они войдут в систему в первый раз.
Это позволяет вам заранее настраивать их разрешения и назначать их на проекты.
Вам нужны права администратора, чтобы добавить пользователя через веб-интерфейс (флажок Внешний), или вы можете использовать CLI с флагом --external
:
semaphore user add \
--external \
--login john \
--name John \
--email [email protected] \
--password=changeme
Значения по умолчанию для переменных опроса
Теперь вы можете устанавливать значения по умолчанию для переменных опроса, что упрощает предварительное заполнение общих вводов во время выполнения задач.

Поддержка TLS для соединений с SMTP сервером
Semaphore теперь поддерживает безопасные TLS соединения при отправке электронных писем через SMTP сервер. Пример конфигурации:
{
"email_alert": true,
"email_sender": "[email protected]",
"email_host": "smtp.example.com",
"email_username": "user123",
"email_password": "changeme",
"email_tls": true,
"email_port": "587",
"email_tls_min_version": "1.1" // необязательный (по умолчанию 1.2)
}
Настраиваемые уровни подробности Ansible playbook
Теперь вы можете выбрать желаемый уровень подробности при выполнении задач Ansible playbook, что помогает в отладке и устранении неполадок.

Chroot поддержка и выполнение задач от имени другого пользователя
Semaphore теперь может выполнять задачи в среде chroot и от имени указанного пользователя, улучшая безопасность и изоляцию. Пример конфигурации:
{
"process": {
"chroot": "/opt/semaphore/chroot",
"user": "semrun"
}
}
Пример переменных окружения:
SEMAPHORE_PROCESS_CHROOT=/opt/semaphore/chroot
SEMAPHORE_PROCESS_USER=semrun
Поддержка аутентификации вебхуков Bitbucket
Интеграции теперь можно настраивать с использованием аутентификации вебхуков Bitbucket.

Настройки часового пояса расписаний
Semaphore больше не использует системный часовой пояс. Вместо этого вы теперь можете явно установить часовой пояс для расписаний, используя следующую конфигурационную опцию:
{
"schedule": {
"timezone": "Asia/Calcutta"
}
}
Или с использованием следующей переменной окружения:
SEMAPHORE_SCHEDULE_TIMEZONE=Asia/Calcutta
Исправления ошибок
- Используйте часовой пояс UTC последовательно по всему приложению.
- Избегайте клонирования инвентарного репозитория при каждом выполнении задачи.
- Чекбоксы задач Terraform теперь работают корректно.
- Чекбоксы дней недели в расписании теперь работают корректно.
- Восстановлена возможность устанавливать описания для шаблонов.