Tabela de conteúdos
-
Recursos
-
Gravar logs de atividade e tarefas em um arquivo (PRO)
Mantenha um registro persistente de todos os logs de atividade salvando-os diretamente em um arquivo. Disponível na versão PRO.
Saiba mais » -
Página de tokens da API
Você não precisa mais usar cURL para criar tokens da API.
Saiba mais » -
Visualizar logs de tarefas brutos
Agora você pode acessar a saída de log bruta e não processada para qualquer tarefa — perfeito para depuração.
Saiba mais » -
Limpar cache de projeto e runner
Libere espaço e comece do zero limpando manualmente o cache para projetos e runners.
Saiba mais » -
Substituir branch em templates e tarefas
Mude de branch de forma flexível sem editar todo o seu template — basta substituir por tarefa ou template.
Saiba mais » -
Nova variável de ambiente para configuração do provedor OIDC
Uma nova variável de ambiente foi adicionada para simplificar a configuração e integração do provedor OIDC.
Saiba mais » -
Nova estrutura de diretório temporário
Melhoramos a estrutura dos diretórios temporários para fornecer melhor isolamento e torná-los mais fáceis de entender.
Saiba mais » -
Capacidade de adicionar usuários externos (LDAP e OIDC) manualmente
Agora você pode adicionar usuários LDAP e OIDC ao Semaphore antes que eles façam login pela primeira vez.
Saiba mais » -
Valores padrão para variáveis de pesquisa
Agora você pode definir valores padrão para variáveis de pesquisa, facilitando o preenchimento de entradas comuns durante a execução de tarefas.
Saiba mais » -
Suporte a TLS para conexões de servidor SMTP
O Semaphore agora suporta conexões seguras TLS ao enviar e-mails através de um servidor SMTP.
Saiba mais » -
Níveis de verbosidade configuráveis para playbooks do Ansible
Agora você pode selecionar o nível de verbosidade desejado ao executar tarefas de playbook do Ansible, ajudando na depuração e solução de problemas.
Saiba mais » -
Suporte a Chroot e execução de tarefas como usuário diferente
O Semaphore agora pode executar tarefas dentro de um ambiente chroot e sob um usuário especificado, melhorando a segurança e o isolamento.
Saiba mais » -
Suporte à autenticação de Webhook do Bitbucket
As integrações agora podem ser configuradas usando autenticação de webhook do Bitbucket.
Saiba mais » -
Configurações de fuso horário de agendamentos
O Semaphore não usa mais o fuso horário do sistema. Em vez disso, agora você pode definir explicitamente um fuso horário para os agendamentos.
Saiba mais »
-
Recursos
Gravar logs de atividade e tarefas em um arquivo (PRO)
O Semaphore Pro agora suporta a gravação dos logs de atividade e tarefas em um arquivo. Para habilitar isso, adicione a seguinte configuração ao seu config.json
:
{
"log": {
"events": {
"enabled": true,
"logger": {
"filename": "./events.log"
}
},
"task": {
"enabled": true,
"logger": {
"filename": "./tasks.log"
}
}
}
}
Ou você pode fazer isso usando as seguintes variáveis de ambiente:
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
Cada linha no arquivo segue este formato:
2024-01-03 12:00:34 user=234234 object=template action=delete ...
A gravação de arquivos também suporta rotação. Mais detalhes estão disponíveis na documentação.
Página de tokens da API

Visualizar logs de tarefas brutos
Agora você pode abrir o log bruto de uma tarefa clicando no botão RAW LOG no canto inferior direito da janela de log da tarefa.

Limpar cache de projeto e runner
O Semaphore agora oferece mais controle sobre a gestão de cache.
Anteriormente, o cache não utilizado era automaticamente limpo quando você removia templates ou projetos. No entanto, em alguns casos, o cache restante poderia permanecer e ser armazenado indefinidamente.
Com o novo recurso Limpar Cache, você pode limpar manualmente:
- Cache para um projeto específico
- Cache para um runner de projeto
- Todo o cache para um runner
- Ou até mesmo todo o cache do servidor Semaphore
Isso ajuda a liberar espaço em disco, melhorar o desempenho e manter seu ambiente organizado.

Substituir branch em templates e tarefas
Agora você pode substituir a branch padrão do repositório de origem nas configurações do template.
Alternativamente, habilite a opção Prompt for branch on execution para escolher a branch cada vez que você executar uma tarefa.

Nova variável de ambiente para configuração do provedor OIDC
Introduzimos uma nova variável de ambiente: SEMAPHORE_OIDC_PROVIDERS
para configurar provedores OpenID Connect (OIDC).
Isso é especialmente útil ao executar o Semaphore dentro de um contêiner Docker.
A variável deve conter JSON válido no seguinte formato:
SEMAPHORE_OIDC_PROVIDERS='{
"github": {
"client_id": "***",
"client_secret": "***"
// campos adicionais...
}
}'
Nova estrutura de diretório temporário
Melhoramos a estrutura do diretório temporário introduzindo diretórios por projeto. Agora, cada projeto tem sua própria pasta dedicada sob o diretório tmp_path
.
Essa mudança facilita a gestão e limpeza do cache quando um projeto é removido.
Além disso, o diretório de inventário para templates agora segue um formato de nomenclatura claro, como:
tmp_path/project_0/repository_1_template_2_inventory_3
Essa estrutura ajuda a evitar a clonagem do repositório de inventário em cada execução de tarefa, melhorando o desempenho e reduzindo a redundância.
Capacidade de adicionar usuários externos (LDAP e OIDC) manualmente
Agora você pode adicionar usuários LDAP e OIDC ao Semaphore antes que eles façam login pela primeira vez.
Isso permite que você configure suas permissões e os atribua a projetos com antecedência.
Você precisa de direitos de administrador para adicionar um usuário através da interface da web (caixa de seleção External), ou pode usar a CLI com a flag --external
:
semaphore user add \
--external \
--login john \
--name John \
--email [email protected] \
--password=changeme
Valores padrão para variáveis de pesquisa
Agora você pode definir valores padrão para variáveis de pesquisa, facilitando o preenchimento de entradas comuns durante a execução de tarefas.

Suporte a TLS para conexões de servidor SMTP
O Semaphore agora suporta conexões seguras TLS ao enviar e-mails através de um servidor SMTP. Exemplo de configuração:
{
"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" // opcional (padrão 1.2)
}
Níveis de verbosidade configuráveis para playbooks do Ansible
Agora você pode selecionar o nível de verbosidade desejado ao executar tarefas de playbook do Ansible, ajudando na depuração e solução de problemas.

Chroot suporte e execução de tarefas como usuário diferente
O Semaphore agora pode executar tarefas dentro de um ambiente chroot e sob um usuário especificado, melhorando a segurança e o isolamento. Exemplo de configuração:
{
"process": {
"chroot": "/opt/semaphore/chroot",
"user": "semrun"
}
}
Exemplo de variáveis de ambiente:
SEMAPHORE_PROCESS_CHROOT=/opt/semaphore/chroot
SEMAPHORE_PROCESS_USER=semrun
Suporte à autenticação de Webhook do Bitbucket
As integrações agora podem ser configuradas usando autenticação de webhook do Bitbucket.

Configurações de fuso horário de agendamentos
O Semaphore não usa mais o fuso horário do sistema. Em vez disso, agora você pode definir explicitamente um fuso horário para os agendamentos usando a seguinte opção de configuração:
{
"schedule": {
"timezone": "Asia/Calcutta"
}
}
Ou usando a seguinte variável de ambiente:
SEMAPHORE_SCHEDULE_TIMEZONE=Asia/Calcutta
Correções de bugs
- Usar consistentemente o fuso horário UTC em toda a aplicação.
- Evitar a clonagem do repositório de inventário em cada execução de tarefa.
- As caixas de seleção de tarefas do Terraform agora funcionam corretamente.
- As caixas de seleção de dias da semana no Agendamento agora funcionam corretamente.
- Restaurada a capacidade de definir descrições para templates.