GitHub Action

Use a Action oficial do CriptEnv (@criptenv/action) para descriptografar e injetar suas variáveis de ambiente diretamente nos seus workflows do GitHub Actions.

Info

A GitHub Action do CriptEnv requer um token de API válido. Você pode gerar um em Painel → Tokens.

Configuração

1

Obtenha seu token de API

Acesse o painel do CriptEnv e gere um token de API com permissão de leitura. Adicione esse token como um Repository Secret no seu repositório GitHub.

Adicionar secret no GitHub
Settings → Secrets and variables → Actions → New repository secret
Nome: CRIPTENV_TOKEN
Valor: <seu-token-de-api>
2

Obtenha o ID do projeto

Copie o ID do seu projeto no painel do CriptEnv. Você precisará dele para que a action saiba qual projeto descriptografar.

3

Adicione a Action ao workflow

Configure o workflow do GitHub Actions para usar a action do CriptEnv antes dos seus comandos de build ou deploy.

.github/workflows/deploy.yml
name: Deploy

on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Carregar variáveis de ambiente
        uses: criptenv/action@v1
        with:
          token: ${{ secrets.CRIPTENV_TOKEN }}
          project-id: 'seu-project-id'
        env:
          CRIPTENV_TOKEN: ${{ secrets.CRIPTENV_TOKEN }}

      - name: Build
        run: npm run build

      - name: Deploy
        run: npm run deploy

Variáveis de Ambiente

A Action suporta as seguintes variáveis de entrada:

ParâmetroTipoDescrição
tokenobrigatóriostringToken de API do CriptEnv. Recomendado usar via GitHub Secrets.
project-idobrigatóriostringID do projeto no CriptEnv a ser descriptografado.
environmentstringAmbiente alvo (ex: production, staging). Padrão: production.
formatstringFormato de saída: env (padrão) ou json.

Exemplo Completo

Workflow com múltiplos ambientes
name: CI/CD

on:
  push:
    branches: [main, staging]

jobs:
  deploy-staging:
    if: github.ref == 'refs/heads/staging'
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: criptenv/action@v1
        with:
          token: ${{ secrets.CRIPTENV_TOKEN }}
          project-id: 'seu-project-id'
          environment: staging

      - run: npm run build
      - run: npm run deploy:staging

  deploy-production:
    if: github.ref == 'refs/heads/main'
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: criptenv/action@v1
        with:
          token: ${{ secrets.CRIPTENV_TOKEN }}
          project-id: 'seu-project-id'
          environment: production

      - run: npm run build
      - run: npm run deploy:production

Info

Nunca exponha o token do CriptEnv em logs públicos. Use sempre o GitHub Secrets para armazenar tokens e credenciais sensíveis.