#!/bin/bash # ============================================ # Rivus Lab Landing Page — Deploy automatizado # ============================================ # Build, push imagem, atualiza tag no compose, commit, push. # Webhook do Gitea dispara redeploy no Portainer. # ============================================ set -e REGISTRY="registry.rivuslab.com" NAMESPACE="cauanneves" IMAGE="rivuslab-site" RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m' echo -e "${BLUE}==========================================${NC}" echo -e "${BLUE} Rivus Lab Site — Deploy${NC}" echo -e "${BLUE}==========================================${NC}" if [ -n "$(git status --porcelain)" ]; then echo -e "${RED}❌ Working directory tem mudanças não comitadas:${NC}" git status --short echo "" echo "Commit ou stash antes de deployar." exit 1 fi GIT_SHA=$(git rev-parse --short HEAD) TAG="${GIT_SHA}" echo -e "${YELLOW}Tag de deploy: ${TAG}${NC}" echo "" echo -e "${GREEN}▶ Building (${TAG})${NC}" docker build \ -t "${REGISTRY}/${NAMESPACE}/${IMAGE}:${TAG}" \ -t "${REGISTRY}/${NAMESPACE}/${IMAGE}:latest" \ . echo -e "${GREEN}▶ Pushing${NC}" docker push "${REGISTRY}/${NAMESPACE}/${IMAGE}:${TAG}" docker push "${REGISTRY}/${NAMESPACE}/${IMAGE}:latest" echo "" echo -e "${GREEN}▶ Atualizando docker-compose.prod.yml${NC}" sed -i "s|${REGISTRY}/${NAMESPACE}/${IMAGE}:[^\"[:space:]]*|${REGISTRY}/${NAMESPACE}/${IMAGE}:${TAG}|g" docker-compose.prod.yml if [ -z "$(git status --porcelain docker-compose.prod.yml)" ]; then echo -e "${YELLOW}⚠ docker-compose.prod.yml não mudou. Nenhum push.${NC}" exit 0 fi git diff docker-compose.prod.yml echo "" echo -e "${GREEN}▶ Commit + push${NC}" git add docker-compose.prod.yml git commit -m "Deploy ${TAG}" git push echo "" echo -e "${GREEN}✅ Deploy disparado!${NC}" echo "Acompanhe em: https://portainer.rivuslab.com/#!/2/docker/stacks/rivuslab-site"