From 9ee5841842bafe824d4067f7a2eb2863ee7858ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yannik=20R=C3=B6del?= Date: Thu, 27 Apr 2023 19:56:26 +0200 Subject: [PATCH] Use a single staging environment for all branches This commit reworks the CI setup to use a single staging environment and run it for every branch. That means the staging URL will always contain the most recent changes, independent of the branch. --- .drone.yml | 54 ++++++++++------------------ Dockerfile | 1 - docker-compose.yml | 4 +-- sites/coderdojo/_static/assets/logos | 1 - 4 files changed, 21 insertions(+), 39 deletions(-) delete mode 120000 sites/coderdojo/_static/assets/logos diff --git a/.drone.yml b/.drone.yml index bd03659..87f7b5c 100644 --- a/.drone.yml +++ b/.drone.yml @@ -2,51 +2,38 @@ kind: pipeline name: homepage steps: -- name: build angestoepselt site - image: plugins/docker - settings: - registry: codeberg.org - username: +- name: build sites + image: gcr.io/kaniko-project/executor:v1.9.0-debug + environment: + DOCKER_USERNAME: from_secret: registry_username - password: + DOCKER_PASSWORD: from_secret: registry_password - repo: codeberg.org/angestoepselt/homepage - build_args: - - SITE=angestoepselt - tags: angestoepselt-${DRONE_BRANCH} + DOCKER_REGISTRY: codeberg.org + IMAGE_BASE: codeberg.org/angestoepselt/homepage + commands: + - echo "{\"auths\":{\"$DOCKER_REGISTRY\":{\"username\":\"$DOCKER_USERNAME\",\"password\":\"$DOCKER_PASSWORD\"}}}" > /kaniko/.docker/config.json + - if [ "$DRONE_BRANCH" = "main" ]; then export TAG="main"; else export TAG="stage"; fi + - /kaniko/executor --cache --cache-dir=/cache --context . --destination "$IMAGE_BASE/angestoepselt:$TAG" --build-arg SITE=angestoepselt + - /kaniko/executor --cache --cache-dir=/cache --context . --destination "$IMAGE_BASE/coderdojo:$TAG" --build-arg SITE=coderdojo -- name: build coderdojo site - image: plugins/docker - settings: - registry: codeberg.org - username: - from_secret: registry_username - password: - from_secret: registry_password - repo: codeberg.org/angestoepselt/homepage - build_args: - - SITE=coderdojo - tags: coderdojo-${DRONE_BRANCH} - -- name: deploy angestoepselt stage +- name: deploy staging environment image: plugins/webhook settings: urls: from_secret: portainer_stage_url depends_on: - - build angestoepselt site + - build sites when: branch: - - stage + exclude: + - main -- name: deploy live build +- name: deploy production environment image: plugins/webhook settings: urls: from_secret: portainer_main_url - depends_on: - - build angestoepselt site - - build coderdojo site when: branch: - main @@ -70,11 +57,8 @@ steps: "repo": "{{ repo.name }}" } depends_on: - - deploy live build + - deploy production environment trigger: - branch: - - main - - stage event: - - push \ No newline at end of file + - push diff --git a/Dockerfile b/Dockerfile index c1b27a6..77d4795 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,7 +18,6 @@ COPY includes /build/includes/ COPY sites/${SITE} /build/sites/${SITE}/ # These are symlinked from other sites: COPY sites/angestoepselt/_images/home-banner.jpg /build/sites/angestoepselt/_images/ -COPY sites/angestoepselt/_static/assets/logos /build/sites/angestoepselt/_static/assets/logos/ RUN SITE=${SITE} npm run build diff --git a/docker-compose.yml b/docker-compose.yml index c4fb35c..5f32b82 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ version: '3' services: angestoepselt: - image: codeberg.org/angestoepselt/homepage:angestoepselt-${BRANCH:-main} + image: codeberg.org/angestoepselt/homepage/angestoepselt:${BRANCH:-main} container_name: homepage-angestoepselt-${BRANCH:-main} restart: unless-stopped env_file: stack.env @@ -20,7 +20,7 @@ services: - proxy coderdojo: - image: codeberg.org/angestoepselt/homepage:coderdojo-${BRANCH:-main} + image: codeberg.org/angestoepselt/homepage/coderdojo:${BRANCH:-main} container_name: homepage-coderdojo-${BRANCH:-main} restart: unless-stopped env_file: stack.env diff --git a/sites/coderdojo/_static/assets/logos b/sites/coderdojo/_static/assets/logos deleted file mode 120000 index 169a9e3..0000000 --- a/sites/coderdojo/_static/assets/logos +++ /dev/null @@ -1 +0,0 @@ -../../../angestoepselt/_static/assets/logos \ No newline at end of file