O Semaphore v2.18 introduz novos recursos e melhorias para automação de infraestrutura e equipes de DevOps. Esta versão foca em aprimorar a experiência do desenvolvedor e simplificar os fluxos de trabalho de infraestrutura como código.

Integração com gerenciadores de segredos na nuvem

Organizações que usam plataformas de nuvem precisam de uma forma de obter segredos diretamente do serviço de gerenciamento de segredos do seu provedor de nuvem em tempo de execução, evitando a duplicação de credenciais e aproveitando as políticas de rotação existentes. Este recurso adiciona integrações nativas com AWS Secrets Manager e Azure Key Vault como capacidades exclusivas da edição Enterprise.

Enterprise

  • Integração com AWS Secrets Manager — obtenha segredos em tempo de execução do AWS Secrets Manager usando roles IAM, chaves de acesso ou roles assumidas. Suporta segredos estruturados em JSON com extração de campos e rotação automática. (#2248)
  • Integração com Azure Key Vault — obtenha segredos em tempo de execução do Azure Key Vault usando autenticação por identidade gerenciada ou service principal. Suporta segredos, chaves e certificados com rotação automática. (#2248, #3170)

Leia mais…

Carregar segredos de armazenamento remoto

O Semaphore agora pode importar automaticamente segredos do HashiCorp Vault, AWS Secrets Manager, Azure Key Vault e Devolutions Server para o armazenamento de chaves e mantê-los sincronizados.

Aponte um armazenamento de segredos para o HashiCorp Vault, AWS Secrets Manager, Azure Key Vault ou Devolutions Server e, em seguida, defina um ou mais caminhos de sincronização para controlar a importação:

  • Caminho — de qual pasta/subárvore do armazenamento remoto importar.
  • Prefixo — uma string adicionada ao início do nome de cada chave gerada, permitindo separar as importações por namespace (por exemplo, prod-).
  • Separador — como os locais de segredos aninhados são achatados em um único nome de chave legível (padrões sensatos por provedor são aplicados).

O Semaphore detecta automaticamente o tipo de chave correto (chave SSH, login/senha ou string de segredo). As importações são executadas sob demanda via Sincronizar agora ou em um agendamento em segundo plano definido por você em minutos. Cada sincronização reconcilia totalmente o espelho — adicionando, atualizando e removendo chaves para corresponder à origem — sem tocar nas chaves criadas manualmente. Em implantações de alta disponibilidade, as sincronizações agendadas são executadas em um único nó para evitar importações duplicadas.

Os caminhos de sincronização funcionam tanto no nível do armazenamento de chaves (chaves compartilhadas do projeto) quanto no nível do grupo de variáveis (variáveis de ambiente).

Múltiplos grupos de variáveis por modelo

O Semaphore agora suporta anexar múltiplos grupos de variáveis (Environments) a cada modelo de tarefa. Anteriormente, apenas um único grupo de variáveis podia ser anexado, obrigando os usuários a duplicar variáveis entre grupos quando vários modelos compartilhavam configurações comuns, ou a criar grupos de variáveis monolíticos que continham tudo. Os modelos agora podem compor múltiplos grupos de variáveis, e esta versão corrige diversos bugs no tratamento de variáveis — serialização, precedência, propagação e ciclo de vida das variáveis de survey.

Ignorar a instalação do galaxy

Antes de executar um playbook, o Semaphore executa uma etapa ansible-galaxy install para baixar as roles e collections declaradas no seu requirements.yml. Em muitas configurações essa etapa é desnecessária: as dependências já estão incorporadas na imagem do runner, versionadas dentro do repositório ou servidas a partir de um espelho interno. Executá-la em cada tarefa apenas adiciona latência — e em ambientes isolados (air-gapped) sem acesso à internet ela simplesmente falha.

Esta versão adiciona a opção Ignorar a instalação do galaxy às configurações do modelo de tarefa. Quando habilitada, o Semaphore pula a etapa de preparação ansible-galaxy install e passa diretamente à execução do playbook. Isso acelera o início das tarefas e elimina a dependência rígida de acesso ao Ansible Galaxy e ao Git em tempo de execução, o que é especialmente útil para runners offline e pré-provisionados.