CI/CD da 2ID, com todas as ferramentas necessárias para build, deploy
1.2K
Este repositório contém a imagem Docker customizada para CI/CD da 2ID, com todas as ferramentas necessárias para build, deploy e gerenciamento de infraestrutura.
docker-2id - Operações Docker (push para Docker Hub e ACR)runner-2id - Deploy e infraestrutura (plan, deploy, destroy)sync-docker-to-acr.sh - Sincronização Docker Hub → ACRrun-terraform.sh - Script Terraform globalMakefile - Makefile global para automação# Build local
docker build -f Dockerfile.ci -t 2idcombr/2id-ci-runner:latest .
# Build e push para Docker Hub
./build-ci-image.sh latest
docker-2id - Operações Docker:# Push para Docker Hub e ACR
docker-2id push musicbrand-scheduling-service 1.0.0
# Ver status das ferramentas
docker-2id status
# Ajuda
docker-2id help
runner-2id - Deploy e Infraestrutura:# Deploy completo via Terraform
runner-2id deploy musicbrand-scheduling-service 1.0.0
# Plan Terraform (ver mudanças sem aplicar)
runner-2id plan musicbrand-scheduling-service 1.0.0
# Destroy infraestrutura
runner-2id destroy musicbrand-scheduling-service 1.0.0
# Ver status das ferramentas
runner-2id status
# Ajuda
runner-2id help
# GitLab CI/CD - Pipeline Simplificado
publish-docker-prod:
image: 2idcombr/2id-ci-runner:v1.1.6
services:
- docker:20.10.16-dind
script:
- docker build -t "2idcombr/${APP_NAME}:${APP_VERSION}" .
- docker-2id push "$APP_NAME" "$APP_VERSION"
deploy-azure-prod:
image: 2idcombr/2id-ci-runner:v1.1.6
script:
- APP_VERSION=$(jq -r '.version' package.json)
- runner-2id deploy "$APP_NAME" "$APP_VERSION"
# Azure (para login automático)
AZURE_CLIENT_ID=seu-client-id
AZURE_CLIENT_SECRET=seu-client-secret
AZURE_TENANT_ID=seu-tenant-id
AZURE_SUBSCRIPTION_ID=seu-subscription-id
AZURE_ACR_NAME=seu-registry-name
# Docker Hub
DOCKER_HUB_TOKEN=seu-docker-hub-token
# AWS (para Terraform backend)
AWS_ROOT_ACCESS_KEY=sua-access-key
AWS_ROOT_SECRET_ACCESS_KEY=sua-secret-key
2id-ci-runner/
├── Dockerfile.ci # ✅ Dockerfile da imagem customizada
├── docker-entrypoint.sh # ✅ Script de entrada
├── azure-auto-login.sh # ✅ Script de login automático Azure
├── sync-docker-to-acr.sh # ✅ Script de sincronização Docker Hub → ACR
├── docker-2id # ✅ Comando customizado para Docker
├── runner-2id # ✅ Comando customizado para Deploy
├── run-terraform.sh # ✅ Script Terraform global
├── Makefile # ✅ Makefile global
├── build-ci-image.sh # ✅ Script para build e push
├── README.md # ✅ Este arquivo
├── DOCKER-2ID-COMMAND.md # ✅ Documentação do comando docker-2id
└── docs/ # ✅ Documentação adicional
# Node.js já instalado
node --version # v20.18.1
npm --version # 9.8.1
npm install
npm run build
# Terraform já instalado
terraform version # v1.4.4
terraform init
terraform plan
terraform apply
# Docker já instalado
docker --version # 20.10.16
docker build -t myapp:latest .
docker push myapp:latest
# Azure CLI já instalado
az --version # 2.50.0
az login --service-principal # Login automático
az aks get-credentials --resource-group myRG --name myCluster
# kubectl já instalado
kubectl version --client # v1.28.0
kubectl get pods
kubectl apply -f deployment.yaml
docker-2id - Operações Docker:# Push para Docker Hub e ACR
docker-2id push myapp 1.0.0
# Faz: push para Docker Hub → tag para ACR → push para ACR
# Status das ferramentas
docker-2id status
# Mostra: versões de todas as ferramentas instaladas
runner-2id - Deploy e Infraestrutura:# Deploy completo via Terraform
runner-2id deploy myapp 1.0.0
# Faz: terraform plan + terraform apply + verificação
# Plan Terraform (ver mudanças sem aplicar)
runner-2id plan myapp 1.0.0
# Faz: terraform plan (sem aplicar)
# Destroy infraestrutura
runner-2id destroy myapp 1.0.0
# Faz: terraform destroy (remove infraestrutura)
# Status das ferramentas
runner-2id status
# Mostra: versões de todas as ferramentas instaladas
# Build da imagem
docker build -f Dockerfile.ci -t 2idcombr/2id-ci-runner:latest .
# Testar ferramentas
docker run --rm 2idcombr/2id-ci-runner:latest \
sh -c "docker --version && az --version && terraform version && kubectl version --client && node --version && npm --version"
🚀 Iniciando CI Runner customizado...
🐳 Configurando Docker-in-Docker...
✅ Docker está disponível!
🔍 Verificando ferramentas instaladas...
Docker version 20.10.16
Azure CLI 2.50.0
Terraform v1.4.4
kubectl v1.28.0
jq-1.6
v20.18.1
9.8.1
🔐 Configurando Azure...
✅ Login no Azure realizado com sucesso!
✅ CI Runner customizado pronto!
docker-2id e runner-2iddocker-2id e runner-2iddocker-2id2ID CI Runner - Imagem Docker customizada para CI/CD otimizado! 🚀
Content type
Image
Digest
sha256:af56d1fd0…
Size
411.5 MB
Last updated
about 1 year ago
docker pull 2idcombr/2id-ci-runner:v1.3.0