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

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
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-latest
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:
POSTFIXADMIN_IMAGE_REGISTRY_PASSWORD:
image: plugins/docker
settings:
dockerfile: Dockerfile
auto_tag: false
tags: latest-amd64
repo: volkerraschek/postfixadmin
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/postfixadmin-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
@ -118,7 +99,108 @@ trigger:
---
kind: pipeline
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:
os: linux
@ -126,28 +208,19 @@ platform:
steps:
- name: build
image: docker.io/volkerraschek/build-image:latest
commands:
- make container-image/build POSTFIXADMIN_IMAGE_VERSION=${DRONE_TAG}
volumes:
- name: docker_socket
path: /var/run/docker.sock
- name: push
image: docker.io/volkerraschek/build-image:latest
commands:
- make container-image/push POSTFIXADMIN_IMAGE_VERSION=${DRONE_TAG}
environment:
POSTFIXADMIN_IMAGE_REGISTRY_PASSWORD:
image: plugins/docker
settings:
dockerfile: Dockerfile
auto_tag: true
auto_tag_suffix: amd64
repo: volkerraschek/postfixadmin
username:
from_secret: container_image_registry_user
password:
from_secret: container_image_registry_password
volumes:
- name: docker_socket
path: /var/run/docker.sock
- name: delete
image: docker.io/volkerraschek/build-image:latest
commands:
- make container-image/delete POSTFIXADMIN_IMAGE_VERSION=${DRONE_TAG}
build_args:
- POSTFIXADMIN_VERSION=${DRONE_TAG}
no_cache: true
volumes:
- name: docker_socket
path: /var/run/docker.sock
@ -178,6 +251,109 @@ trigger:
- tag
repo:
- 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
type: kubernetes
@ -225,4 +401,4 @@ trigger:
event:
- push
repo:
- volker.raschek/postfixadmin-docker
- volker.raschek/postfixadmin-docker

View File

@ -1,8 +1,7 @@
FROM docker.io/library/php:7.4-apache
# POSTFIXADMIN VERSION
ARG POSTFIXADMIN_VERSION \
POSTFIXADMIN_SHA512
ARG POSTFIXADMIN_VERSION
# APACHE
ENV APACHE_DOCUMENT_ROOT /var/www/html/public
@ -57,7 +56,6 @@ RUN set -ex; \
RUN set -eu; \
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; \
rm postfixadmin.tar.gz; \
# Does not exist in tarball but is required

View File

@ -1,6 +1,3 @@
POSTFIXADMIN_VERSION:=3.3.10
POSTFIXADMIN_SHA512:=e00fc9ea343a928976d191adfa01020ee0c6ddbe80a39e01ca2ee414a18247958f033970f378fe4a9974636172a5e094e57117ee9ac7b930c592f433097a7aca
# CONTAINER_RUNTIME
# 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.

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