fix(ci): build image via docker plugin
continuous-integration/drone/push Build was killed Details

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