From ffeea4eb5de586f5910edc2ae5122a48cbbfcbc0 Mon Sep 17 00:00:00 2001 From: Markus Pesch Date: Fri, 10 Sep 2021 20:20:30 +0200 Subject: [PATCH] fix: support tagged versions --- .drone.yml | 188 +++++++++++++++++++++++++++++++++++++++++--------- manifest.tmpl | 14 ++++ 2 files changed, 171 insertions(+), 31 deletions(-) create mode 100644 manifest.tmpl diff --git a/.drone.yml b/.drone.yml index 8d8fbba..9d318ea 100644 --- a/.drone.yml +++ b/.drone.yml @@ -11,7 +11,7 @@ steps: - name: markdown lint commands: - markdownlint *.md - image: docker.io/tmknom/markdownlint:0.23.1 + image: docker.io/volkerraschek/markdownlint:0.28.1 resources: limits: cpu: 50 @@ -44,7 +44,7 @@ trigger: --- kind: pipeline type: docker -name: build +name: latest-amd64 platform: os: linux @@ -52,36 +52,17 @@ platform: steps: - name: build - image: docker.io/volkerraschek/build-image:latest - commands: - - make container-image/build - volumes: - - name: docker_socket - path: /var/run/docker.sock - when: - branch: - - master - -- name: push - image: docker.io/volkerraschek/build-image:latest - commands: - - make container-image/push - environment: - BIND9_IMAGE_REGISTRY_PASSWORD: + image: plugins/docker + settings: + dockerfile: Dockerfile + auto_tag: false + tags: latest-amd64 + repo: volkerraschek/bind9 + username: + from_secret: container_image_registry_user + password: from_secret: container_image_registry_password - volumes: - - name: docker_socket - path: /var/run/docker.sock - when: - branch: - - master - repo: - - volker.raschek/bind9-docker - -- name: delete - image: docker.io/volkerraschek/build-image:latest - commands: - - make container-image/delete + no_cache: true volumes: - name: docker_socket path: /var/run/docker.sock @@ -114,6 +95,151 @@ trigger: event: exclude: - tag + +--- +kind: pipeline +type: kubernetes +name: latest-manifest + +steps: +- name: build-manifest + image: plugins/manifest + settings: + auto_tag: false + ignore_missing: true + spec: manifest.tmpl + username: + from_secret: container_image_registry_user + password: + from_secret: container_image_registry_password + +- name: notify + image: docker.io/drillster/drone-email:latest + environment: + PLUGIN_HOST: + from_secret: smtp_host + PLUGIN_USERNAME: + from_secret: smtp_username + PLUGIN_PASSWORD: + from_secret: smtp_password + PLUGIN_FROM: + from_secret: smtp_mail_address + resources: + limits: + cpu: 50 + memory: 25M + when: + status: + - changed + - failure + +depends_on: +- latest-amd64 + +trigger: + event: + exclude: + - tag + +--- +kind: pipeline +type: docker +name: tagged-amd64 + +platform: + os: linux + arch: amd64 + +steps: +- name: build + image: plugins/docker + settings: + dockerfile: Dockerfile + auto_tag: true + auto_tag_suffix: amd64 + repo: volkerraschek/bind9 + username: + from_secret: container_image_registry_user + password: + from_secret: container_image_registry_password + no_cache: true + volumes: + - name: docker_socket + path: /var/run/docker.sock + +- name: notify + image: drillster/drone-email + environment: + PLUGIN_HOST: + from_secret: smtp_host + PLUGIN_USERNAME: + from_secret: smtp_username + PLUGIN_PASSWORD: + from_secret: smtp_password + PLUGIN_FROM: + from_secret: smtp_mail_address + when: + status: + - changed + - failure + +volumes: +- name: docker_socket + host: + path: /var/run/docker.sock + +trigger: + event: + - tag + repo: + - volker.raschek/bind9-docker + +--- +kind: pipeline +type: kubernetes +name: tagged-manifest + +steps: +- name: build-manifest + image: plugins/manifest + settings: + auto_tag: true + ignore_missing: true + spec: manifest.tmpl + username: + from_secret: container_image_registry_user + password: + from_secret: container_image_registry_password + +- name: notify + image: docker.io/drillster/drone-email:latest + environment: + PLUGIN_HOST: + from_secret: smtp_host + PLUGIN_USERNAME: + from_secret: smtp_username + PLUGIN_PASSWORD: + from_secret: smtp_password + PLUGIN_FROM: + from_secret: smtp_mail_address + resources: + limits: + cpu: 50 + memory: 25M + when: + status: + - changed + - failure + +depends_on: +- tagged-amd64 + +trigger: + event: + - tag + repo: + - volker.raschek/bind9-docker + --- kind: pipeline type: kubernetes diff --git a/manifest.tmpl b/manifest.tmpl new file mode 100644 index 0000000..5c5baa3 --- /dev/null +++ b/manifest.tmpl @@ -0,0 +1,14 @@ +image: volkerraschek/bind9:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}} +{{#if build.tags}} +tags: +{{#each build.tags}} + - {{this}} +{{/each}} + - "latest" +{{/if}} +manifests: + - + image: volkerraschek/bind9:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-amd64 + platform: + architecture: amd64 + os: linux \ No newline at end of file