diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..f023fbc --- /dev/null +++ b/.drone.yml @@ -0,0 +1,63 @@ +kind: pipeline +name: default +type: docker + +steps: + - name: load_secret + image: debian:buster-slim + volumes: + - name: ssh + path: /root/.ssh/ + environment: + SSH_KEY: + from_secret: gitea_id_ed25519 + commands: + - mkdir -p $HOME/.ssh/ + - echo "$SSH_KEY" | base64 -d > $HOME/.ssh/id_ed25519 + + - name: build + image: kasperhermansen/cuddle:latest + pull: always + volumes: + - name: ssh + path: /root/.ssh/ + - name: dockersock + path: /var/run + commands: + - apk add bash git + - cuddle_cli x build_docker + environment: + DOCKER_BUILDKIT: 1 + DOCKER_USERNAME: + from_secret: docker_username + DOCKER_PASSWORD: + from_secret: docker_password + SSH_KEY: + from_secret: gitea_id_ed25519 + depends_on: + - "load_secret" + - name: send telegram notification + image: appleboy/drone-telegram + settings: + token: + from_secret: telegram_token + to: 2129601481 + format: markdown + depends_on: + - build + when: + status: [failure, success] + +services: +- name: docker + image: docker:dind + privileged: true + volumes: + - name: dockersock + path: /var/run +volumes: + - name: ssh + temp: {} + - name: dockersock + temp: {} + diff --git a/cuddle.yaml b/cuddle.yaml index cb3c4ef..0cc7afe 100644 --- a/cuddle.yaml +++ b/cuddle.yaml @@ -2,6 +2,10 @@ base: false +vars: + service: "drone-semantic-release" + registry: "kasperhermansen" + scripts: build_docker: type: shell diff --git a/scripts/build_docker.sh b/scripts/build_docker.sh index 17432c5..6d959e7 100755 --- a/scripts/build_docker.sh +++ b/scripts/build_docker.sh @@ -2,6 +2,13 @@ set -e +echo "building docker image" + export DOCKER_BUILDKIT=1 -docker build --ssh default -f $TMP/build_docker.Dockerfile . +tag="$REGISTRY/$SERVICE:${COMMIT_SHA:0:10}" +latest_tag="$REGISTRY/$SERVICE:latest" + +docker build --ssh default -t "$tag" -f $TMP/build_docker.Dockerfile . +docker tag "$tag" "$latest_tag" +docker push "$tag" "$latest_tag"