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).
1. Diferença entre Secrets e Variables
Seção intitulada “1. Diferença entre Secrets e 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 }} |
2. Níveis de Escopo e Herança
Seção intitulada “2. Níveis de Escopo e Herança”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(ouVariá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).
- Caminho:
-
Nível de Repositório:
- Caminho:
Repositório > Configurações > Ações > Segredos(ouVariá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.
- Caminho:
3. Passo a Passo para Adicionar um Segredo
Seção intitulada “3. Passo a Passo para Adicionar um Segredo”- Acesse o repositório ou organização desejada no GitSES.
- No menu superior, clique em Configurações.
- Na barra lateral esquerda, expanda o menu Ações e selecione Segredos.
- Clique no botão azul Adicionar Segredo.
- 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.
- Nome: Utilize letras maiúsculas e separação por underline (padrão
- Clique em Salvar.
4. Como Utilizar no Workflow
Seção intitulada “4. Como Utilizar no Workflow”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"