From 6b46ea5516841af5fa370243075849b11af03a63 Mon Sep 17 00:00:00 2001 From: Brain Date: Mon, 6 Nov 2023 23:15:58 +0100 Subject: [PATCH] Rewrite Drone config - Split PR and push to main actions - Deploy latest main to dev system - Build image for Git tags --- .drone.yml | 156 +++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 115 insertions(+), 41 deletions(-) diff --git a/.drone.yml b/.drone.yml index 8ce881e..aeae499 100644 --- a/.drone.yml +++ b/.drone.yml @@ -4,48 +4,122 @@ # SPDX-License-Identifier: AGPL-3.0-or-later kind: pipeline type: docker -name: default +name: qa + +trigger: + event: + - push + - pull_request + branch: + - main steps: -- name: qa - image: registry.wtf-eg.net/ki-backend-builder:1.0.0 - commands: - - pipenv install --dev - - pipenv run flake8 - - pipenv run reuse lint - - pipenv run python -m unittest discover ki - -- name: docker-publish - image: plugins/docker - settings: - registry: registry.wtf-eg.net - repo: registry.wtf-eg.net/ki-backend - target: ki-backend - auto_tag: true - username: - from_secret: "docker_username" - password: - from_secret: "docker_password" - when: - event: - - push - branch: - - main - -- name: docker-publish-tag - image: plugins/docker - settings: - registry: registry.wtf-eg.net - repo: registry.wtf-eg.net/ki-backend - target: ki-backend - auto_tag: true - username: - from_secret: "docker_username" - password: - from_secret: "docker_password" - when: - event: - - tag + - name: install + image: registry.wtf-eg.net/ki-backend-builder:1.0.0 + commands: + - pipenv install --dev + - name: lint + image: registry.wtf-eg.net/ki-backend-builder:1.0.0 + commands: + - pipenv run flake8 + - pipenv run reuse lint + - name: test + image: registry.wtf-eg.net/ki-backend-builder:1.0.0 + commands: + - pipenv run python -m unittest discover ki image_pull_secrets: -- dockerconfig + - dockerconfig + +--- +kind: pipeline +type: docker +name: build + +trigger: + event: + - push + branch: + - main + +depends_on: + - qa + +steps: + - name: docker-publish + image: plugins/docker + settings: + registry: registry.wtf-eg.net + repo: registry.wtf-eg.net/ki-backend + target: ki-backend + auto_tag: true + username: + from_secret: "docker_username" + password: + from_secret: "docker_password" + +--- +kind: pipeline +type: docker +name: deploy + +trigger: + event: + - push + branch: + - main + +depends_on: + - build + +steps: + - name: deploy-dev + image: appleboy/drone-ssh + settings: + host: + - dev01.wtf-eg.net + username: drone_deployment + key: + from_secret: "dev01_deployment_key" + command_timeout: 2m + script: + - echo "Executing forced command..." + + +--- +kind: pipeline +type: docker +name: tag-release + +trigger: + event: + - tag + +steps: + - name: install + image: registry.wtf-eg.net/ki-backend-builder:1.0.0 + commands: + - pipenv install --dev + - name: lint + image: registry.wtf-eg.net/ki-backend-builder:1.0.0 + commands: + - pipenv run flake8 + - pipenv run reuse lint + - name: test + image: registry.wtf-eg.net/ki-backend-builder:1.0.0 + commands: + - pipenv run python -m unittest discover ki + - name: docker-publish + image: plugins/docker + settings: + registry: registry.wtf-eg.net + repo: registry.wtf-eg.net/ki-backend + target: ki-backend + auto_tag: true + username: + from_secret: "docker_username" + password: + from_secret: "docker_password" + +image_pull_secrets: + - dockerconfig