fix(ci): build image via docker plugin
Some checks reported errors
continuous-integration/drone/push Build was killed

This commit is contained in:
Markus Pesch 2021-10-12 19:47:05 +02:00
parent 57d2cc6440
commit fe9c11f3b5
Signed by: volker.raschek
GPG Key ID: 852BCC170D81A982
2 changed files with 187 additions and 32 deletions

View File

@ -11,7 +11,7 @@ steps:
- name: markdown lint - name: markdown lint
commands: commands:
- markdownlint *.md - markdownlint *.md
image: docker.io/tmknom/markdownlint:0.23.1 image: docker.io/volkerraschek/markdownlint:0.29.0
resources: resources:
limits: limits:
cpu: 50 cpu: 50
@ -41,10 +41,11 @@ trigger:
event: event:
exclude: exclude:
- tag - tag
--- ---
kind: pipeline kind: pipeline
type: docker type: docker
name: build name: latest-amd64
platform: platform:
os: linux os: linux
@ -52,42 +53,128 @@ platform:
steps: steps:
- name: build - name: build
image: docker.io/volkerraschek/build-image:latest image: plugins/docker
commands: settings:
- make container-image/build CONTAINER_RUNTIME=docker dockerfile: Dockerfile
volumes: auto_tag: false
- name: docker_socket tags: latest-amd64
path: /var/run/docker.sock repo: volkerraschek/build-image
when: username:
branch: from_secret: container_image_registry_user
- master password:
- name: push
image: docker.io/volkerraschek/build-image:latest
commands:
- make container-image/push CONTAINER_RUNTIME=docker
environment:
BIND9_IMAGE_REGISTRY_PASSWORD:
from_secret: container_image_registry_password from_secret: container_image_registry_password
no_cache: true
volumes: volumes:
- name: docker_socket - name: docker_socket
path: /var/run/docker.sock 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: when:
status:
- changed
- failure
volumes:
- name: docker_socket
host:
path: /var/run/docker.sock
depends_on:
- linter
trigger:
branch: branch:
- master - master
event:
- cron
- push
repo: repo:
- volker.raschek/build-image - volker.raschek/build-image
- name: delete ---
image: docker.io/volkerraschek/build-image:latest kind: pipeline
commands: type: kubernetes
- make container-image/delete CONTAINER_RUNTIME=docker 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:
branch:
- master
event:
- cron
- push
repo:
- volker.raschek/build-image
---
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/build-image
username:
from_secret: container_image_registry_user
password:
from_secret: container_image_registry_password
no_cache: true
volumes: volumes:
- name: docker_socket - name: docker_socket
path: /var/run/docker.sock path: /var/run/docker.sock
when:
branch:
- master
- name: notify - name: notify
image: drillster/drone-email image: drillster/drone-email
@ -112,8 +199,56 @@ volumes:
trigger: trigger:
event: event:
exclude:
- tag - tag
repo:
- volker.raschek/build-image
---
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/build-image
--- ---
kind: pipeline kind: pipeline
type: kubernetes type: kubernetes
@ -157,8 +292,14 @@ steps:
- changed - changed
- failure - failure
depends_on:
- tagged-manifest
trigger: trigger:
branch:
- master
event: event:
- cron
- push - push
repo: repo:
- volker.raschek/build-image - volker.raschek/build-image

14
manifest.tmpl Normal file
View File

@ -0,0 +1,14 @@
image: volkerraschek/build-image:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}
{{#if build.tags}}
tags:
{{#each build.tags}}
- {{this}}
{{/each}}
- "latest"
{{/if}}
manifests:
-
image: volkerraschek/build-image:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-amd64
platform:
architecture: amd64
os: linux