diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 22ca2379..9ead131e 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -1,51 +1,27 @@ -name: Deploy on Main Branch +name: Deploy to Production on: - pull_request: - branches: [ "main" ] push: - branches: [ "main" ] + branches: [ main ] jobs: deploy: - runs-on: ubuntu-latest + runs-on: self-hosted steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: SSH Deploy to Server - uses: appleboy/ssh-action@v1.0.3 - with: - host: ${{ secrets.HOST }} - username: ${{ secrets.USERNAME }} - password: ${{ secrets.PASSWORD }} - # key: ${{ secrets.SSH_PRIVATE_KEY }} - port: 22 - timeout: 60s - command_timeout: 10m - script: | - # Navigate to project directory + - name: Pull latest changes + run: | cd /home/eksicode - - # Backup any local changes and update code - git stash - git checkout main git pull origin main - - # Clean up Docker resources - sudo docker compose down --volumes --remove-orphans || true - sudo docker system prune -af --volumes - - # Build and deploy - sudo docker compose -f docker-compose.yml up --build -d - - # Show deployment status - echo "=== Container Status ===" - sudo docker compose ps - - echo "=== Recent Logs ===" - sudo docker compose logs --tail=50 - - echo "=== System Status ===" - sudo docker ps -a \ No newline at end of file + + - name: Rebuild and restart containers + run: | + cd /home/eksicode + docker-compose down + docker-compose up -d --build + + - name: Clean up unused images + run: docker image prune -af + + - name: Show running containers + run: docker ps \ No newline at end of file