diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 0b4e15c..558bbfb 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -1,4 +1,4 @@ -name: Deploy +name: Build & Deploy on: push: @@ -7,40 +7,47 @@ on: jobs: deploy: - runs-on: ubuntu-latest + runs-on: docker steps: - - name: Checkout repo - uses: actions/checkout@v4 - - - name: Debug workspace - run: | - echo "PWD:" - pwd - echo "Tree:" - ls -la - find . -maxdepth 2 -type f - + # --- Tools --- - name: Install tools run: | apt-get update - apt-get install -y docker.io openssh-client rsync + apt-get install -y \ + git \ + docker.io \ + openssh-client \ + rsync + # --- Checkout --- + - name: Checkout repo + run: | + git clone https://git.infra.mintel.me/mmintel/mb-grid-solutions.com.git . + git checkout main + + # --- Docker registry login --- - name: Login to registry env: REGISTRY_USER: ${{ secrets.REGISTRY_USER }} REGISTRY_PASS: ${{ secrets.REGISTRY_PASS }} run: | - echo "$REGISTRY_PASS" | docker login registry.infra.mintel.me -u "$REGISTRY_USER" --password-stdin + echo "$REGISTRY_PASS" | docker login registry.infra.mintel.me \ + -u "$REGISTRY_USER" \ + --password-stdin + # --- Build image --- - name: Build image run: | - docker build -t registry.infra.mintel.me/mintel/mb-grid-solutions:latest . + docker build \ + -t registry.infra.mintel.me/mintel/mb-grid-solutions:latest . + # --- Push image --- - name: Push image run: | docker push registry.infra.mintel.me/mintel/mb-grid-solutions:latest + # --- SSH setup --- - name: Setup SSH env: ALPHA_SSH_KEY: ${{ secrets.ALPHA_SSH_KEY }} @@ -50,15 +57,18 @@ jobs: chmod 600 ~/.ssh/id_ed25519 ssh-keyscan -H alpha.mintel.me >> ~/.ssh/known_hosts + # --- Sync compose (yml OR yaml) --- - name: Sync compose file run: | - rsync -av ./docker-compose.yml \ - deploy@alpha.mintel.me:/home/deploy/sites/mb-grid-solutions/docker-compose.yml + rsync -av ./docker-compose.y*ml \ + deploy@alpha.mintel.me:/home/deploy/sites/mb-grid-solutions/ - - name: Deploy + # --- Deploy --- + - name: Deploy on server run: | - ssh deploy@alpha.mintel.me " + ssh deploy@alpha.mintel.me ' cd /home/deploy/sites/mb-grid-solutions && - docker compose pull && + docker compose -f docker-compose.yml pull 2>/dev/null || + docker compose -f docker-compose.yaml pull && docker compose up -d - " \ No newline at end of file + ' \ No newline at end of file