Pular para o conteúdo principal

Integração CI/CD & Git Hooks

Automatizar a verificação com envguard impede que segredos entrem no repositório antes mesmo de um Pull Request ser aprovado ou antes do desenvolvedor concluir um commit.


1. GitHub Actions

Adicione um job simples ao seu arquivo .github/workflows/security.yml:

name: Security & Env Check

on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]

jobs:
envguard:
name: Check Env Files
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.22'

- name: Install envguard
run: go install github.com/joaooncode/envguard/cmd/envguard@latest

- name: Run envguard check
run: envguard check

2. Pre-commit Hook (Husky / Git Hooks)

Você pode impedir commits acidentais de arquivos .env diretamente na máquina do desenvolvedor.

Com Husky (Node.js)

No arquivo .husky/pre-commit:

#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

envguard check

Git Hook Nativo (.git/hooks/pre-commit)

#!/bin/sh
if command -v envguard >/dev/null 2>&1; then
envguard check
if [ $? -ne 0 ]; then
echo "envguard bloqueou o commit devido a arquivos de ambiente desprotegidos!"
exit 1
fi
fi

3. GitLab CI/CD

No seu .gitlab-ci.yml:

envguard_security:
stage: test
image: golang:1.22-alpine
script:
- go install github.com/joaooncode/envguard/cmd/envguard@latest
- envguard check