All checks were successful
BCards Deployment Pipeline / Run Tests (push) Successful in 4s
BCards Deployment Pipeline / PR Validation (push) Has been skipped
BCards Deployment Pipeline / Build and Push Image (push) Successful in 15m22s
BCards Deployment Pipeline / Deploy to Production (ARM - OCI) (push) Successful in 1m54s
BCards Deployment Pipeline / Deploy to Test (x86 - Local) (push) Has been skipped
BCards Deployment Pipeline / Cleanup Old Resources (push) Has been skipped
BCards Deployment Pipeline / Deployment Summary (push) Successful in 0s
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
5.0 KiB
5.0 KiB
🔧 CONFIGURAÇÃO DE VARIÁVEIS NO GITEA
📋 VISÃO GERAL
Agora o deploy é 100% automatizado! O YAML cria o appsettings.Production.json dinamicamente usando variáveis do Gitea.
⚙️ COMO CONFIGURAR NO GITEA
1. Acessar Configurações
1. Vá para: https://seu-gitea.com/seu-usuario/vcart.me.novo
2. Clique em: Settings (Configurações)
3. Na sidebar: Secrets and variables → Actions
2. Criar SECRETS (dados sensíveis)
Clique em "New repository secret" para cada um:
# STRIPE (obrigatório)
STRIPE_SECRET_KEY = sk_test_51RjUmIBMIadsOxJVeqsMFxnZ8ePR7d8IbnaF4sAwBVJv9rrfODPEQ2C9fF3beoABpITdfzEk0ZDzGTTQfvKv63xI00PeZoABGO
STRIPE_WEBHOOK_SECRET = whsec_SEU_WEBHOOK_SECRET_AQUI
# OAUTH (obrigatório)
GOOGLE_CLIENT_SECRET = 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
MICROSOFT_CLIENT_SECRET = T0.8Q~an.51iW1H0DVjL2i1bmSK_qTgVQOuEmapK
# SENDGRID (obrigatório)
SENDGRID_API_KEY = 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
3. Criar VARIABLES (dados não-sensíveis)
Clique em "New repository variable" para cada um:
# STRIPE
STRIPE_PUBLISHABLE_KEY = pk_test_51RjUmIBMIadsOxJVP4bWc54pHEOSf5km1hpOkOBSoGVoKxI46N4KSWtevpXCSq68OjFazBuXmPJGBwZ1KDN5MNJy003lj1YmAS
STRIPE_ENVIRONMENT = test
# OAUTH
GOOGLE_CLIENT_ID = 472850008574-nmeepbdt4hunsk5c8krpbdmd3olc4jv6.apps.googleusercontent.com
MICROSOFT_CLIENT_ID = b411606a-e574-4f59-b7cd-10dd941b9fa3
# SENDGRID
SENDGRID_FROM_EMAIL = ricardo.carneiro@jobmaker.com.br
SENDGRID_FROM_NAME = Ricardo Carneiro
# MODERAÇÃO
MODERATOR_EMAIL = ricardo.carneiro@jobmaker.com.br
MODERATOR_EMAIL_1 = rrcgoncalves@gmail.com
MODERATOR_EMAIL_2 = rirocarneiro@gmail.com
🎯 PASSO-A-PASSO COMPLETO
FASE 1: TESTE ONLINE (ATUAL)
1.1 Configure Webhook no Stripe
- Stripe Dashboard → Developers → Webhooks
- Add endpoint:
https://bcards.site/api/stripe/webhook - Select events:
customer.subscription.createdcustomer.subscription.updatedcustomer.subscription.deletedinvoice.payment_succeededinvoice.payment_failed
- Copiar: Signing secret (
whsec_...)
1.2 Desativar Modo Restrito no Stripe
- Stripe Dashboard → Settings → Account settings
- Business settings → "Restricted mode" → DESATIVAR ✅
1.3 Configurar Variáveis no Gitea
Use os valores atuais (modo teste):
# Para TESTE ONLINE
STRIPE_ENVIRONMENT = test
STRIPE_PUBLISHABLE_KEY = pk_test_... (sua chave atual)
STRIPE_SECRET_KEY = sk_test_... (sua chave atual)
STRIPE_WEBHOOK_SECRET = whsec_... (do webhook configurado)
1.4 Commit e Deploy
git add .
git commit -m "feat: deploy automatizado com configuração dinâmica via Gitea
- YAML cria appsettings.Production.json automaticamente
- Configuração via variáveis/secrets do Gitea
- Mount do arquivo no container Docker
- Suporte para teste online e produção
🔧 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>"
git push origin main
FASE 2: MIGRAÇÃO PARA LIVE (QUANDO PRONTO)
2.1 Obter Chaves Live
1. Stripe Dashboard → Toggle "Test mode" OFF
2. Developers → API Keys
3. Copiar: pk_live_... e sk_live_...
2.2 Configurar Webhook Live
1. Stripe Dashboard (Live) → Webhooks
2. Add endpoint: https://bcards.site/api/stripe/webhook
3. Copiar: whsec_live_...
2.3 Criar Produtos Live
# No Stripe Dashboard (Live mode):
Products → Create products para cada plano
Copiar todos os price_live_xxx IDs
2.4 Atualizar Variáveis no Gitea
# Mudar apenas estas variáveis:
STRIPE_ENVIRONMENT = live
STRIPE_PUBLISHABLE_KEY = pk_live_... (nova)
STRIPE_SECRET_KEY = sk_live_... (nova)
STRIPE_WEBHOOK_SECRET = whsec_live_... (nova)
2.5 Atualizar Price IDs
Editar appsettings.json com os novos price IDs live e fazer commit.
✅ VANTAGENS DESTA ABORDAGEM
🔒 Segurança:
- ✅ Secrets nunca vão para o git
- ✅ Variables ficam na interface do Gitea
- ✅ Deploy totalmente automatizado
🚀 Produtividade:
- ✅ Mudança de ambiente: apenas update de variáveis
- ✅ Sem arquivos manuais nos servidores
- ✅ Rollback fácil
- ✅ Configuração versionada via interface
🔧 Manutenibilidade:
- ✅ Uma única fonte de verdade
- ✅ Fácil adicionar novos ambientes
- ✅ Logs claros no deploy
- ✅ Validação automática
📊 FLUXO FINAL
graph TD
A[git push main] --> B[Gitea Actions]
B --> C[Create appsettings.Production.json]
C --> D[Build Docker Image]
D --> E[Upload Config to Servers]
E --> F[Deploy with Volume Mount]
F --> G[✅ Site Online]
Resultado: Configuração 100% automatizada, segura e versionada! 🎉