From 3f13f65932ac869ccb9f554fe16ff7bfc6533956 Mon Sep 17 00:00:00 2001 From: Sven Heidemann Date: Sat, 9 Dec 2023 21:43:34 +0100 Subject: [PATCH] Updated other env actions --- .gitea/workflows/deploy_prod.yaml | 96 ++++++++++++++++++++++----- .gitea/workflows/deploy_staging.yaml | 97 ++++++++++++++++++++++------ 2 files changed, 158 insertions(+), 35 deletions(-) diff --git a/.gitea/workflows/deploy_prod.yaml b/.gitea/workflows/deploy_prod.yaml index 1a4fb6dd..9e220db2 100644 --- a/.gitea/workflows/deploy_prod.yaml +++ b/.gitea/workflows/deploy_prod.yaml @@ -6,9 +6,17 @@ on: - master jobs: - on-push-deploy_sh-edraft: + pre-build: runs-on: [ dobby.sh-edraft.de, ubuntu-latest ] - container: sh-edraft.de/act-runner:latest + container: git.sh-edraft.de/sh-edraft.de/act-runner:latest + steps: + - name: Shutdown stack + run: docker stack rm sdb_prod + + build-bot: + needs: pre-build + runs-on: [ dobby.sh-edraft.de, ubuntu-latest ] + container: git.sh-edraft.de/sh-edraft.de/act-runner:latest steps: - name: Setup docker uses: https://github.com/papodaca/install-docker-action@main @@ -20,12 +28,58 @@ jobs: token: ${{ secrets.CI_ACCESS_TOKEN }} submodules: true + - name: Set version + run: | + cd bot/docker + chmod +x ./set-docker-compose-image-version.sh + ./set-docker-compose-image-version.sh sh-edraft.de/sdb-bot:$(cd ../; cpl gv) sh-edraft.de/sdb-web:$(cd ../../web; npm run -s gv;) + - name: Prepare bot build run: | cd bot python3.10 -m pip install --extra-index-url https://pip.sh-edraft.de cpl-cli cpl i + - name: Build docker bot + run: | + cd bot + docker image prune -f + cpl build + docker build -t git.sh-edraft.de/sh-edraft.de/sdb-bot:$(cpl gv) . + + - name: Login to registry git.sh-edraft.de + uses: https://github.com/docker/login-action@v1 + with: + registry: git.sh-edraft.de + username: ${{ secrets.CI_USERNAME }} + password: ${{ secrets.CI_ACCESS_TOKEN }} + + - name: Push image + run: | + cd bot + docker push git.sh-edraft.de/sh-edraft.de/sdb-bot:$(cpl gv) + + build-web: + needs: pre-build + runs-on: [ dobby.sh-edraft.de, ubuntu-latest ] + container: git.sh-edraft.de/sh-edraft.de/act-runner:latest + steps: + - name: Setup docker + uses: https://github.com/papodaca/install-docker-action@main + - run: docker -v + + - name: Clone Repository + uses: https://github.com/actions/checkout@v3 + with: + token: ${{ secrets.CI_ACCESS_TOKEN }} + submodules: true + + - name: Set version + run: | + cd bot/docker + chmod +x ./set-docker-compose-image-version.sh + ./set-docker-compose-image-version.sh sh-edraft.de/sdb-bot:$(cd ../; cpl gv) sh-edraft.de/sdb-web:$(cd ../../web; npm run -s gv;) + - name: Setup node uses: https://github.com/actions/setup-node@v3 @@ -35,28 +89,36 @@ jobs: npm install -g ts-node npm ci - - name: Shutdown stack - run: docker stack rm sdb_prod - - - name: Build docker bot - run: | - cd bot - docker image prune -f - cpl build - docker build -t sh-edraft.de/sdb-bot:$(cpl gv) . - - name: Build docker web run: | cd web docker image prune -f + cp src/favicon.ico src/favicon.ico npm run build - docker build -t sh-edraft.de/sdb-web:$(npm run -s gv) . + docker build -t git.sh-edraft.de/sh-edraft.de/sdb-web:$(npm run -s gv) . - - name: Set version + - name: Login to registry git.sh-edraft.de + uses: https://github.com/docker/login-action@v1 + with: + registry: git.sh-edraft.de + username: ${{ secrets.CI_USERNAME }} + password: ${{ secrets.CI_ACCESS_TOKEN }} + + - name: Push image run: | - cd bot/docker - chmod +x ./set-docker-compose-image-version.sh - ./set-docker-compose-image-version.sh sh-edraft.de/sdb-bot:$(cd ../; cpl gv) sh-edraft.de/sdb-web:$(cd ../../web; npm run -s gv;) + cd web + docker push git.sh-edraft.de/sh-edraft.de/sdb-web:$(npm run -s gv) + + deploy: + needs: [ build-bot, build-web ] + runs-on: [ dobby.sh-edraft.de, ubuntu-latest ] + container: git.sh-edraft.de/sh-edraft.de/act-runner:latest + steps: + - name: Clone Repository + uses: https://github.com/actions/checkout@v3 + with: + token: ${{ secrets.CI_ACCESS_TOKEN }} + submodules: true - name: Deploy Stack to sh-edraft.de uses: https://github.com/kgierke/portainer-stack-deployment@v1 diff --git a/.gitea/workflows/deploy_staging.yaml b/.gitea/workflows/deploy_staging.yaml index f8bbd17a..b2f972d5 100644 --- a/.gitea/workflows/deploy_staging.yaml +++ b/.gitea/workflows/deploy_staging.yaml @@ -6,9 +6,17 @@ on: - staging jobs: - on-push-deploy_sh-edraft: + pre-build: runs-on: [ dobby.sh-edraft.de, ubuntu-latest ] - container: sh-edraft.de/act-runner:latest + container: git.sh-edraft.de/sh-edraft.de/act-runner:latest + steps: + - name: Shutdown stack + run: docker stack rm sdb_test + + build-bot: + needs: pre-build + runs-on: [ dobby.sh-edraft.de, ubuntu-latest ] + container: git.sh-edraft.de/sh-edraft.de/act-runner:latest steps: - name: Setup docker uses: https://github.com/papodaca/install-docker-action@main @@ -20,12 +28,58 @@ jobs: token: ${{ secrets.CI_ACCESS_TOKEN }} submodules: true + - name: Set version + run: | + cd bot/docker + chmod +x ./set-docker-compose-image-version.sh + ./set-docker-compose-image-version.sh sh-edraft.de/sdb-bot:$(cd ../; cpl gv)-staging sh-edraft.de/sdb-web:$(cd ../../web; npm run -s gv;)-staging + - name: Prepare bot build run: | cd bot python3.10 -m pip install --extra-index-url https://pip.sh-edraft.de cpl-cli cpl i + - name: Build docker bot + run: | + cd bot + docker image prune -f + cpl build + docker build -t git.sh-edraft.de/sh-edraft.de/sdb-bot:$(cpl gv)-staging . + + - name: Login to registry git.sh-edraft.de + uses: https://github.com/docker/login-action@v1 + with: + registry: git.sh-edraft.de + username: ${{ secrets.CI_USERNAME }} + password: ${{ secrets.CI_ACCESS_TOKEN }} + + - name: Push image + run: | + cd bot + docker push git.sh-edraft.de/sh-edraft.de/sdb-bot:$(cpl gv)-staging + + build-web: + needs: pre-build + runs-on: [ dobby.sh-edraft.de, ubuntu-latest ] + container: git.sh-edraft.de/sh-edraft.de/act-runner:latest + steps: + - name: Setup docker + uses: https://github.com/papodaca/install-docker-action@main + - run: docker -v + + - name: Clone Repository + uses: https://github.com/actions/checkout@v3 + with: + token: ${{ secrets.CI_ACCESS_TOKEN }} + submodules: true + + - name: Set version + run: | + cd bot/docker + chmod +x ./set-docker-compose-image-version.sh + ./set-docker-compose-image-version.sh sh-edraft.de/sdb-bot:$(cd ../; cpl gv)-staging sh-edraft.de/sdb-web:$(cd ../../web; npm run -s gv;)-staging + - name: Setup node uses: https://github.com/actions/setup-node@v3 @@ -35,29 +89,36 @@ jobs: npm install -g ts-node npm ci - - name: Shutdown stack - run: docker stack rm sdb_staging - - - name: Build docker bot - run: | - cd bot - docker image prune -f - cpl build - docker build -t sh-edraft.de/sdb-bot:$(cpl gv)-staging . - - name: Build docker web run: | cd web docker image prune -f cp src/favicon.staging.ico src/favicon.ico npm run build - docker build -t sh-edraft.de/sdb-web:$(npm run -s gv)-staging . + docker build -t git.sh-edraft.de/sh-edraft.de/sdb-web:$(npm run -s gv)-staging . - - name: Set version + - name: Login to registry git.sh-edraft.de + uses: https://github.com/docker/login-action@v1 + with: + registry: git.sh-edraft.de + username: ${{ secrets.CI_USERNAME }} + password: ${{ secrets.CI_ACCESS_TOKEN }} + + - name: Push image run: | - cd bot/docker - chmod +x ./set-docker-compose-image-version.sh - ./set-docker-compose-image-version.sh sh-edraft.de/sdb-bot:$(cd ../; cpl gv)-staging sh-edraft.de/sdb-web:$(cd ../../web; npm run -s gv;)-staging + cd web + docker push git.sh-edraft.de/sh-edraft.de/sdb-web:$(npm run -s gv)-staging + + deploy: + needs: [ build-bot, build-web ] + runs-on: [ dobby.sh-edraft.de, ubuntu-latest ] + container: git.sh-edraft.de/sh-edraft.de/act-runner:latest + steps: + - name: Clone Repository + uses: https://github.com/actions/checkout@v3 + with: + token: ${{ secrets.CI_ACCESS_TOKEN }} + submodules: true - name: Deploy Stack to sh-edraft.de uses: https://github.com/kgierke/portainer-stack-deployment@v1 @@ -66,6 +127,6 @@ jobs: portainer-username: "gitea_job" portainer-password: "${{ secrets.docker_job }}" portainer-endpoint: 2 - name: sdb_staging + name: sdb_test file: bot/docker/docker-compose.staging.yml variables: '{}'