fix: support tagged and arm versions
continuous-integration/drone/push Build is failing Details

This commit is contained in:
Markus Pesch 2021-09-10 20:42:54 +02:00
parent 8b7d475852
commit 6609d2528e
Signed by: volker.raschek
GPG Key ID: 852BCC170D81A982
4 changed files with 251 additions and 60 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.28.1
resources: resources:
limits: limits:
cpu: 50 cpu: 50
@ -44,7 +44,7 @@ trigger:
--- ---
kind: pipeline kind: pipeline
type: docker type: docker
name: build-latest name: latest-amd64
platform: platform:
os: linux os: linux
@ -52,36 +52,17 @@ platform:
steps: steps:
- name: build - name: build
image: docker.io/volkerraschek/build-image:latest image: plugins/docker
commands: settings:
- make container-image/build dockerfile: Dockerfile
volumes: auto_tag: false
- name: docker_socket tags: latest-amd64
path: /var/run/docker.sock repo: volkerraschek/postfixadmin
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
environment:
POSTFIXADMIN_IMAGE_REGISTRY_PASSWORD:
from_secret: container_image_registry_password from_secret: container_image_registry_password
volumes: no_cache: true
- name: docker_socket
path: /var/run/docker.sock
when:
branch:
- master
repo:
- volker.raschek/postfixadmin-docker
- name: delete
image: docker.io/volkerraschek/build-image:latest
commands:
- make container-image/delete
volumes: volumes:
- name: docker_socket - name: docker_socket
path: /var/run/docker.sock path: /var/run/docker.sock
@ -118,7 +99,108 @@ trigger:
--- ---
kind: pipeline kind: pipeline
type: docker type: docker
name: build-tagged name: latest-armv7
platform:
os: linux
arch: arm
steps:
- name: build
image: plugins/docker
settings:
dockerfile: Dockerfile
auto_tag: false
tags: latest-armv7
repo: volkerraschek/postfixadmin
username:
from_secret: container_image_registry_user
password:
from_secret: container_image_registry_password
no_cache: true
when:
branch:
- master
- 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
volumes:
- name: docker_socket
path: /var/run/docker.sock
when:
status:
- changed
- failure
volumes:
- name: docker_socket
host:
path: /var/run/docker.sock
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
- latest-armv7
trigger:
event:
exclude:
- tag
---
kind: pipeline
type: docker
name: tagged-amd64
platform: platform:
os: linux os: linux
@ -126,28 +208,19 @@ platform:
steps: steps:
- name: build - name: build
image: docker.io/volkerraschek/build-image:latest image: plugins/docker
commands: settings:
- make container-image/build POSTFIXADMIN_IMAGE_VERSION=${DRONE_TAG} dockerfile: Dockerfile
volumes: auto_tag: true
- name: docker_socket auto_tag_suffix: amd64
path: /var/run/docker.sock repo: volkerraschek/postfixadmin
username:
- name: push from_secret: container_image_registry_user
image: docker.io/volkerraschek/build-image:latest password:
commands:
- make container-image/push POSTFIXADMIN_IMAGE_VERSION=${DRONE_TAG}
environment:
POSTFIXADMIN_IMAGE_REGISTRY_PASSWORD:
from_secret: container_image_registry_password from_secret: container_image_registry_password
volumes: build_args:
- name: docker_socket - POSTFIXADMIN_VERSION=${DRONE_TAG}
path: /var/run/docker.sock no_cache: true
- name: delete
image: docker.io/volkerraschek/build-image:latest
commands:
- make container-image/delete POSTFIXADMIN_IMAGE_VERSION=${DRONE_TAG}
volumes: volumes:
- name: docker_socket - name: docker_socket
path: /var/run/docker.sock path: /var/run/docker.sock
@ -178,6 +251,109 @@ trigger:
- tag - tag
repo: repo:
- volker.raschek/postfixadmin-docker - volker.raschek/postfixadmin-docker
---
kind: pipeline
type: docker
name: tagged-armv7
platform:
os: linux
arch: arm
steps:
- name: build
image: plugins/docker
settings:
dockerfile: Dockerfile
auto_tag: true
auto_tag_suffix: armv7
repo: volkerraschek/postfixadmin
username:
from_secret: container_image_registry_user
password:
from_secret: container_image_registry_password
build_args:
- POSTFIXADMIN_VERSION=${DRONE_TAG}
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/postfixadmin-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
- tagged-armv7
trigger:
event:
- tag
repo:
- volker.raschek/postfixadmin-docker
--- ---
kind: pipeline kind: pipeline
type: kubernetes type: kubernetes
@ -225,4 +401,4 @@ trigger:
event: event:
- push - push
repo: repo:
- volker.raschek/postfixadmin-docker - volker.raschek/postfixadmin-docker

View File

@ -1,8 +1,7 @@
FROM docker.io/library/php:7.4-apache FROM docker.io/library/php:7.4-apache
# POSTFIXADMIN VERSION # POSTFIXADMIN VERSION
ARG POSTFIXADMIN_VERSION \ ARG POSTFIXADMIN_VERSION
POSTFIXADMIN_SHA512
# APACHE # APACHE
ENV APACHE_DOCUMENT_ROOT /var/www/html/public ENV APACHE_DOCUMENT_ROOT /var/www/html/public
@ -57,7 +56,6 @@ RUN set -ex; \
RUN set -eu; \ RUN set -eu; \
curl --fail --silent --show-error --location "https://github.com/postfixadmin/postfixadmin/archive/postfixadmin-${POSTFIXADMIN_VERSION}.tar.gz" --output postfixadmin.tar.gz ; \ curl --fail --silent --show-error --location "https://github.com/postfixadmin/postfixadmin/archive/postfixadmin-${POSTFIXADMIN_VERSION}.tar.gz" --output postfixadmin.tar.gz ; \
echo "${POSTFIXADMIN_SHA512} *postfixadmin.tar.gz" | sha512sum -c -; \
tar --extract --file postfixadmin.tar.gz --directory /var/www/html --strip-components=1; \ tar --extract --file postfixadmin.tar.gz --directory /var/www/html --strip-components=1; \
rm postfixadmin.tar.gz; \ rm postfixadmin.tar.gz; \
# Does not exist in tarball but is required # Does not exist in tarball but is required

View File

@ -1,6 +1,3 @@
POSTFIXADMIN_VERSION:=3.3.10
POSTFIXADMIN_SHA512:=e00fc9ea343a928976d191adfa01020ee0c6ddbe80a39e01ca2ee414a18247958f033970f378fe4a9974636172a5e094e57117ee9ac7b930c592f433097a7aca
# CONTAINER_RUNTIME # CONTAINER_RUNTIME
# The CONTAINER_RUNTIME variable will be used to specified the path to a # The CONTAINER_RUNTIME variable will be used to specified the path to a
# container runtime. This is needed to start and run a container image. # container runtime. This is needed to start and run a container image.

20
manifest.tmpl Normal file
View File

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