From df22460df7aff97e782c9097f0a87c9a86214711 Mon Sep 17 00:00:00 2001 From: Ricardo Carneiro <71648276+ricarneiro@users.noreply.github.com> Date: Tue, 27 May 2025 00:50:56 -0300 Subject: [PATCH] fix: pipeline --- .gitea/workflows/deploy.yml | 85 +++++++++++++++++++++++++++++-------- 1 file changed, 68 insertions(+), 17 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 2084d66..cadcc5a 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -2,7 +2,7 @@ on: push: - branches: [ main ] # Apenas quando merge na main + branches: [ main ] jobs: build-and-deploy: @@ -10,35 +10,79 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v4 - - - name: Setup .NET - uses: actions/setup-dotnet@v4 - with: - dotnet-version: '8.0.x' # ou sua versão + run: | + echo "✅ Checking workspace directory structure" + pwd + echo "Root files:" + ls -la + echo "YTExtractor folder contents:" + ls -la YTExtractor/ || echo "YTExtractor folder not found" + echo "Looking for .sln files..." + find . -name "*.sln" -type f + echo "Looking for Dockerfile..." + find . -name "Dockerfile" -type f - name: Restore dependencies - run: dotnet restore + run: | + echo "Navigating to YTExtractor directory and restoring..." + cd YTExtractor + ls -la + dotnet restore - name: Build application - run: dotnet build --configuration Release --no-restore + run: | + echo "Building from YTExtractor directory..." + cd YTExtractor + dotnet build --configuration Release --no-restore - name: Run tests (opcional) - run: dotnet test --no-build --verbosity normal + run: | + echo "Running tests from YTExtractor directory..." + cd YTExtractor + dotnet test --no-build --verbosity normal || true - name: Publish application - run: dotnet publish --configuration Release --output ./publish + run: | + echo "Publishing from YTExtractor directory..." + cd YTExtractor + dotnet publish --configuration Release --output ../publish - name: Build Docker image run: | - docker build -t ytextractor:${{ github.sha }} . - docker tag ytextractor:${{ github.sha }} registry.redecarneir.us/ytextractor:latest - docker tag ytextractor:${{ github.sha }} registry.redecarneir.us/ytextractor:${{ github.sha }} + echo "Current directory: $(pwd)" + echo "Files in current directory:" + ls -la + + COMMIT_SHA=$(git rev-parse --short HEAD) + + # Verificar onde está o Dockerfile + if [ -f "YTExtractor/Dockerfile" ]; then + echo "✅ Found Dockerfile in YTExtractor directory" + cd YTExtractor + echo "Building Docker image from YTExtractor directory..." + docker build -t ytextractor:$COMMIT_SHA . + elif [ -f "Dockerfile" ]; then + echo "✅ Found Dockerfile in root directory" + echo "Building Docker image from root..." + docker build -t ytextractor:$COMMIT_SHA . + else + echo "❌ Dockerfile not found!" + find . -name "Dockerfile" -type f + exit 1 + fi + + # Tag das imagens + docker tag ytextractor:$COMMIT_SHA registry.redecarneir.us/ytextractor:latest + docker tag ytextractor:$COMMIT_SHA registry.redecarneir.us/ytextractor:$COMMIT_SHA + + echo "✅ Docker images built successfully" + docker images | grep ytextractor - name: Push to registry run: | + COMMIT_SHA=$(git rev-parse --short HEAD) docker push registry.redecarneir.us/ytextractor:latest - docker push registry.redecarneir.us/ytextractor:${{ github.sha }} + docker push registry.redecarneir.us/ytextractor:$COMMIT_SHA - name: Deploy to remote VPS run: | @@ -51,17 +95,24 @@ jobs: docker rm ytextractor-api || true # Rodar novo container em produção + # Porta 80 interna (do container) mapeada para 5000 externa docker run -d \ --name ytextractor-api \ --restart unless-stopped \ - -p 5000:8080 \ + -p 5000:80 \ -e ASPNETCORE_ENVIRONMENT=Production \ + -v /tmp/ytextractor:/app/temp \ registry.redecarneir.us/ytextractor:latest + # Verificar se está rodando + sleep 5 + docker ps | grep ytextractor-api + # Limpeza de imagens antigas (opcional) docker image prune -f EOF - name: Verify deployment run: | - ssh ubuntu@137.131.63.61 'docker ps | grep ytextractor-api' \ No newline at end of file + ssh ubuntu@137.131.63.61 'docker ps | grep ytextractor-api' + echo "✅ Deploy completed successfully!" -- 2.45.2