From 43824be3128f4ab7a80c71a47eec176abcd75107 Mon Sep 17 00:00:00 2001 From: Nuno Duque Nunes Date: Mon, 18 May 2026 12:24:37 +0100 Subject: [PATCH] add dev pipeline --- .forgejo/workflows/deploy.yml | 30 +++++++++++++++++--------- .forgejo/workflows/deploy.yml.bk | 36 ++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 10 deletions(-) create mode 100644 .forgejo/workflows/deploy.yml.bk diff --git a/.forgejo/workflows/deploy.yml b/.forgejo/workflows/deploy.yml index 2bdbd28..b30bec1 100644 --- a/.forgejo/workflows/deploy.yml +++ b/.forgejo/workflows/deploy.yml @@ -4,6 +4,8 @@ on: push: branches: - prod + - dev + jobs: deploy: runs-on: docker @@ -12,25 +14,33 @@ jobs: volumes: - /var/run/docker.sock:/var/run/docker.sock - /opt/docker:/opt/docker - env: - REGISTRY: git.lan.krilio.net - REGISTRY_USER: ${{ secrets.REGISTRY_USER }} - REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }} steps: + - name: Set environment + run: | + if [ "${{ github.ref_name }}" = "prod" ]; then + echo "TAG=prod" >> $GITHUB_ENV + echo "DOMAIN=test.lan.krilio.net" >> $GITHUB_ENV + echo "COMPOSE=/opt/docker/test-app/docker-compose.yml" >> $GITHUB_ENV + else + echo "TAG=dev" >> $GITHUB_ENV + echo "DOMAIN=dev.test.lan.krilio.net" >> $GITHUB_ENV + echo "COMPOSE=/opt/docker/test-app/docker-compose.dev.yml" >> $GITHUB_ENV + fi + - name: Checkout run: | - git clone --depth 1 --branch prod \ + git clone --depth 1 --branch ${{ github.ref_name }} \ https://${{ secrets.REGISTRY_USER }}:${{ secrets.REGISTRY_PASSWORD }}@git.lan.krilio.net/nuno/test-app.git \ . - name: Build and push run: | mkdir -p /root/.docker - echo "{\"auths\":{\"git.lan.krilio.net\":{\"auth\":\"$(echo -n ${REGISTRY_USER}:${REGISTRY_PASSWORD} | base64)\"}}}" > /root/.docker/config.json - docker build -t git.lan.krilio.net/nuno/test-app:prod . - docker push git.lan.krilio.net/nuno/test-app:prod + echo "{\"auths\":{\"git.lan.krilio.net\":{\"auth\":\"$(echo -n ${{ secrets.REGISTRY_USER }}:${{ secrets.REGISTRY_PASSWORD }} | base64)\"}}}" > /root/.docker/config.json + docker build -t git.lan.krilio.net/nuno/test-app:${TAG} . + docker push git.lan.krilio.net/nuno/test-app:${TAG} - name: Deploy on VM run: | - docker compose -f /opt/docker/test-app/docker-compose.yml pull - docker compose -f /opt/docker/test-app/docker-compose.yml up -d + docker compose -f ${COMPOSE} pull + docker compose -f ${COMPOSE} up -d diff --git a/.forgejo/workflows/deploy.yml.bk b/.forgejo/workflows/deploy.yml.bk new file mode 100644 index 0000000..2bdbd28 --- /dev/null +++ b/.forgejo/workflows/deploy.yml.bk @@ -0,0 +1,36 @@ +name: Deploy + +on: + push: + branches: + - prod +jobs: + deploy: + runs-on: docker + container: + image: docker:latest + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - /opt/docker:/opt/docker + env: + REGISTRY: git.lan.krilio.net + REGISTRY_USER: ${{ secrets.REGISTRY_USER }} + REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }} + steps: + - name: Checkout + run: | + git clone --depth 1 --branch prod \ + https://${{ secrets.REGISTRY_USER }}:${{ secrets.REGISTRY_PASSWORD }}@git.lan.krilio.net/nuno/test-app.git \ + . + + - name: Build and push + run: | + mkdir -p /root/.docker + echo "{\"auths\":{\"git.lan.krilio.net\":{\"auth\":\"$(echo -n ${REGISTRY_USER}:${REGISTRY_PASSWORD} | base64)\"}}}" > /root/.docker/config.json + docker build -t git.lan.krilio.net/nuno/test-app:prod . + docker push git.lan.krilio.net/nuno/test-app:prod + + - name: Deploy on VM + run: | + docker compose -f /opt/docker/test-app/docker-compose.yml pull + docker compose -f /opt/docker/test-app/docker-compose.yml up -d