From e61f0391c0f8b0b9a1e0b3cd76a7b16a6621422a Mon Sep 17 00:00:00 2001 From: Marc Mintel Date: Fri, 16 Jan 2026 11:59:10 +0100 Subject: [PATCH] ci --- docker-compose.yaml | 77 ++++++++++++++++++++++++++++++--------------- 1 file changed, 52 insertions(+), 25 deletions(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index 04a999c..fe0e023 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,26 +1,53 @@ -services: - app: - build: . - image: registry.infra.mintel.me/mintel/mb-grid-solutions:latest - restart: always - expose: - - "3000" - labels: - - "traefik.enable=true" - - "traefik.http.routers.mb-grid-solutions.rule=Host(`mb-grid-solutions.com`, `www.mb-grid-solutions.com`)" - - "traefik.http.routers.mb-grid-solutions.entrypoints=websecure" - - "traefik.http.routers.mb-grid-solutions.tls.certresolver=le" - - "traefik.http.services.mb-grid-solutions.loadbalancer.server.port=3000" - healthcheck: - test: ["CMD", "wget", "-q", "-O", "-", "http://localhost:3000/health"] - interval: 5s - timeout: 2s - retries: 10 - deploy: - replicas: 2 - networks: - - alpha +name: Deploy -networks: - alpha: - external: true +on: + push: + branches: + - main + +jobs: + deploy: + runs-on: docker + + steps: + - name: Install tools + run: | + apt-get update + apt-get install -y docker.io openssh-client rsync + + - 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 + + - name: Build image + run: | + docker build -t registry.infra.mintel.me/mintel/mb-grid-solutions:latest . + + - name: Push image + run: | + docker push registry.infra.mintel.me/mintel/mb-grid-solutions:latest + + - name: Setup SSH + env: + ALPHA_SSH_KEY: ${{ secrets.ALPHA_SSH_KEY }} + run: | + mkdir -p ~/.ssh + echo "$ALPHA_SSH_KEY" > ~/.ssh/id_ed25519 + chmod 600 ~/.ssh/id_ed25519 + ssh-keyscan -H alpha.mintel.me >> ~/.ssh/known_hosts + + - name: Sync compose file + run: | + rsync -avz docker-compose.yml \ + deploy@alpha.mintel.me:/home/deploy/sites/mb-grid-solutions/docker-compose.yml + + - name: Deploy + run: | + ssh deploy@alpha.mintel.me " + cd /home/deploy/sites/mb-grid-solutions && + docker compose pull && + docker compose up -d + " \ No newline at end of file