Pular para o conteúdo

Variáveis e Credenciais

No GitSES (Forgejo), informações sensíveis nunca devem ser versionadas em arquivos de código ou diretamente no arquivo .yaml do workflow. Para manter as esteiras de CI/CD seguras, a plataforma oferece suporte nativo para Segredos (Secrets) e Variáveis (Variables).

Recurso Finalidade Visibilidade Acesso no Workflow
Secrets Senhas, tokens de API, chaves privadas, certificados. Mascarado com *** nos logs; oculto na interface após salvar. ${{ secrets.NOME_DO_SEGREDO }}
Variables Portas, nomes de ambiente, flags de build, URLs públicas. Visível e editável a qualquer momento na interface. ${{ vars.NOME_DA_VARIAVEL }}

Você pode cadastrar variáveis e credenciais em dois níveis hierárquicos:

  • Nível de Organização:

    • Caminho: Organização > Configurações > Ações > Segredos (ou Variáveis)
    • Aplicação: Compartilhado por todos os repositórios daquela organização.
    • Uso recomendado: Credenciais compartilhadas por múltiplos serviços do setor (ex.: token de acesso ao registry institucional, notificações de webhook).
  • Nível de Repositório:

    • Caminho: Repositório > Configurações > Ações > Segredos (ou Variáveis)
    • Aplicação: Acessível estritamente pelo repositório onde foi cadastrado.
    • Uso recomendado: Senhas de bancos de dados locais, chaves de deploy e parâmetros exclusivos do projeto.
  1. Acesse o repositório ou organização desejada no GitSES.
  2. No menu superior, clique em Configurações.
  3. Na barra lateral esquerda, expanda o menu Ações e selecione Segredos.
  4. Clique no botão azul Adicionar Segredo.
  5. Preencha os campos:
    • Nome: Utilize letras maiúsculas e separação por underline (padrão SCREAMING_SNAKE_CASE), por exemplo: REGISTRY_PASSWORD, API_KEY_HOMOLOG.
    • Conteúdo: Cole o valor confidencial.
  6. Clique em Salvar.

Para consumir variáveis e segredos dentro de um job, mapeie-os para o bloco env do job ou de um step específico:

name: Deploy Homologação
on:
push:
branches:
- main
jobs:
deploy:
runs-on: cicd
steps:
- name: Baixar Código
uses: actions/checkout@v4
- name: Executar Deploy com Credenciais Seguras
env:
# Variável pública
AMBIENTE: ${{ vars.ENVIRONMENT_NAME }}
URL_BASE: ${{ vars.API_BASE_URL }}
# Segredos protegidos
DEPLOY_TOKEN: ${{ secrets.DEPLOY_API_TOKEN }}
SENHA_REGISTRY: ${{ secrets.REGISTRY_PASSWORD }}
run: |
echo "Iniciando processo no ambiente: $AMBIENTE"
echo "Apontando para: $URL_BASE"
# O valor das variáveis sensíveis será mascarado automaticamente nos logs
./scripts/deploy.sh --token "$DEPLOY_TOKEN" --password "$SENHA_REGISTRY"