Skip to content

Commit b2c3fef

Browse files
Merge pull request #177 from idealista/hotfix/175
#175 add error handling in deploy playbook
2 parents 5560ae4 + 2ab15d5 commit b2c3fef

7 files changed

Lines changed: 99 additions & 58 deletions

File tree

.travis.yml

Lines changed: 34 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -11,46 +11,58 @@ env:
1111
global:
1212
- PY_COLOR=1
1313
- ANSIBLE_FORCE_COLOR=1
14-
- secure: HtmIvdq+Yf0Iu88HYzl90Cg2+aFgp5lga+HQNTALEI5XTlB+m2p/QkR3nIsFeCmpSQrRJJuLD9f7XYaLMeEbbsDbj4KkmDMa4EzpLq2EN50ljPnCbvEGs9sw3QywJwA7loeQlujQ94d3FFb6uqO88cIHAw3/wR7Uhn2GBCRlFID8oQYaUnIdU20NsZX2UAqO+5VMzJCPJJcOKQoOuphZCucqgnvZ2b+Ap7xBlA8BnbMDbpcHd49GSfLACNBSh1FahiIfV5st8WZwiNnjGTm7bbinPmKvg3rTCBg9xO4u6ioBs9bQyODAAH+N2IZHsQ3Fenle3voSyJ5e+MYHEQTemc0evuQV7Ur8Rzz6rQ1uF3UunooxyszU6xg84MfFHHX5tv/xUb+WcFuITFRZvlOqXzNEYOD2etqWz13/9RSmfeSWihmJicAlKrn5eJOhvp7/ylcN2z5WHWV+3n7awZEhTcMRWCtDkXZ4ni7LpInGsD0P70iyyWleawJX9+vWiBEhWbD/HB8NREDWKDBQ8udB3x0nzsuGidgBR6j/ck+CjYn3OCy33v05cCJtf0YGItjdKvdK2GDmrGoNdfvYoc22GC2sMfsWlAkv715j/CnqGU/1d7Tf+jC9kPsF8T5SvImWMIhYo/XKgRL/InQSOmUq7659z3lQ2eKBKTDtNX1pSAk=
15-
- secure: iDwnM7B1yrglkhI8eb5FpJZLn7siOaAcRSRN2gJYc+e3aWb4Wr2s5Fbs2Y7MOuziub+CDD9l1PREOqzuEnaSjwz20o7eauD/msedZdDJFGxSxIdBModPqqD9GMZgC8z2iP+erlFERhL+jSZmeArEX40zR1ZYzPO58DlwNb5J4+w+JD76gY1FxWLS2tPl6nvhqtFh0gWLZwzJB9sdnlxfXCLOcvdYt+5izHaWpGLlmWKPFvHu6knN2fvBeDyglfLRvTkEsQ9U2ROixoOoz4cQY1e/rJhrMBMfVkpBCb8ps+RdcTN3zvGE3rF2T/o6OGQa4HyrmH1QP7nhW6KFssaW3+938LBPHnICuFOEovfrdnopqiupkS05j0Ee0pf9XPc8n+dqN+rG+BtKjieSLlvfoDuQTiUUSqCFw4y74OVt9ZjoUWODo9Mv2iwM5r11+WS2Zbb+H5NSszxuI1QQ70tH8IbDp9oBDab9VJwg6edrga+KmWFkH+KUmXaLv/W8i3oqFOd/nLiqayJRIWOn/h1PWjfSUBGpYdrDmRg203p3nUfb9yjPNRbM+IcpBwNgW+Nb3oSSEyiiLQyaZ6AOHDxHRB5LR5wyNi/w3v7qj07v/lRChHwbH7bO0Eubxv0utyLIOiOiEdxlGoINQx0qqareQxBBocm4P5HaL5z5ewlTH/g=
16-
- secure: cKmHo2WLSiXZJCllKUGyWpgs5OkxCqE3stnDH9GnPYvIRWBNexrJj+Ye2OXFWfKHcLH07SAgsWai+N0S+rcOg9qu6CAiVLg9TGitZjXfacSKvJK4JFkpqouimDSHP0mFokcDGm74GwU3PZb3jR0Rb89AFb78CTfTIPye0hP/E72xZCF+YekPZCJw7IoqR2zTZSSBgHwpMv5HbyKM1zWK/P3zUCnOFfxE3ygLKbGsc1DTHFDZo2scVI2nUP/PlP4T0uqkEf/7Jnm0FJGr10IltT0G0zC7OP1zr9kCsyLZkkjWldPd6YHIuCBxj6Swe81AVZHqjJFKp6auNivl8XZKeTOyV4kRjjz+hkPRKQSMq1LuOUSQk3OL75CI40doOGeppVQXE/BAp4ADAsHrbUGWEE6n7Hh/MifrXDY4TU9FksVHhOQIemyYs8W89H9EyNxErr9YpzuP8a2VqAIwO7v4zuxB2M1wephKs6ZEdcloaJ0rqowB0++Ee7oAWTssYG9YVZPasl005KQLUGN29KpNW7vC+49jERkRN30oGrW009lvf0g2rnvSxrbcdE47Hh+uCD0riopLtZYWaRdq+kgkqVgXDMgEyqOp5R1EHGFLQarOr5Q1mlVc30s+cIHB/kolw8Ik04d3LFhPJUc7BFSMNpTvTpIkw2sMFS/efH4XHlM=
1714
jobs:
1815
- DOCKER_IMAGE_BASE=debian:stretch-slim DOCKER_TAG_TO_PUBLISH=8-stretch-openjdk-headless
19-
- DOCKER_IMAGE_BASE=debian:stretch-slim JDK_MAJOR=8 JDK_VERSION=8u322-b06-1~deb9u1 DOCKER_TAG_TO_PUBLISH=8u322-stretch-openjdk-headless
20-
- DOCKER_IMAGE_BASE=debian:stretch-slim JDK_MAJOR=11 JDK_VERSION=11.0.6+10-1~bpo9+1 DOCKER_TAG_TO_PUBLISH=11.0.6-stretch-openjdk-headless
16+
- DOCKER_IMAGE_BASE=debian:stretch-slim JDK_MAJOR=8 JDK_VERSION=8u322-b06-1~deb9u1
17+
DOCKER_TAG_TO_PUBLISH=8u322-stretch-openjdk-headless
18+
- DOCKER_IMAGE_BASE=debian:stretch-slim JDK_MAJOR=11 JDK_VERSION=11.0.6+10-1~bpo9+1
19+
DOCKER_TAG_TO_PUBLISH=11.0.6-stretch-openjdk-headless
2120
- DOCKER_IMAGE_BASE=debian:buster-slim DOCKER_TAG_TO_PUBLISH=11-buster-openjdk-headless
22-
- DOCKER_IMAGE_BASE=debian:buster-slim JDK_MAJOR=11 JDK_VERSION=11.0.14+9-1~deb10u1 DOCKER_TAG_TO_PUBLISH=11.0.14-buster-openjdk-headless
21+
- DOCKER_IMAGE_BASE=debian:buster-slim JDK_MAJOR=11 JDK_VERSION=11.0.14+9-1~deb10u1
22+
DOCKER_TAG_TO_PUBLISH=11.0.14-buster-openjdk-headless
2323
- DOCKER_IMAGE_BASE=debian:bullseye-slim DOCKER_TAG_TO_PUBLISH=11-bullseye-openjdk-headless
24-
- DOCKER_IMAGE_BASE=debian:bullseye-slim JDK_MAJOR=11 JDK_VERSION=11.0.14+9-1~deb11u1 DOCKER_TAG_TO_PUBLISH=11.0.14-bullseye-openjdk-headless
24+
- DOCKER_IMAGE_BASE=debian:bullseye-slim JDK_MAJOR=11 JDK_VERSION=11.0.14+9-1~deb11u1
25+
DOCKER_TAG_TO_PUBLISH=11.0.14-bullseye-openjdk-headless
2526
- DOCKER_IMAGE_BASE=ubuntu:xenial DOCKER_TAG_TO_PUBLISH=9-xenial-openjdk-headless
26-
- DOCKER_IMAGE_BASE=ubuntu:xenial JDK_MAJOR=8 JDK_VERSION=8u292-b10-0ubuntu1~16.04.1 DOCKER_TAG_TO_PUBLISH=8u292-xenial-openjdk-headless
27+
- DOCKER_IMAGE_BASE=ubuntu:xenial JDK_MAJOR=8 JDK_VERSION=8u292-b10-0ubuntu1~16.04.1
28+
DOCKER_TAG_TO_PUBLISH=8u292-xenial-openjdk-headless
2729
- DOCKER_IMAGE_BASE=ubuntu:xenial JDK_MAJOR=9 JDK_VERSION=9~b114-0ubuntu1 DOCKER_TAG_TO_PUBLISH=9b114-xenial-openjdk-headless
2830
- DOCKER_IMAGE_BASE=ubuntu:bionic DOCKER_TAG_TO_PUBLISH=11-bionic-openjdk-headless
29-
- DOCKER_IMAGE_BASE=ubuntu:bionic JDK_MAJOR=11 JDK_VERSION=11.0.13+8-0ubuntu1~18.04 DOCKER_TAG_TO_PUBLISH=11.0.13-bionic-openjdk-headless
30-
- DOCKER_IMAGE_BASE=ubuntu:bionic JDK_MAJOR=8 JDK_VERSION=8u312-b07-0ubuntu1~18.04 DOCKER_TAG_TO_PUBLISH=8u312-bionic-openjdk-headless
31+
- DOCKER_IMAGE_BASE=ubuntu:bionic JDK_MAJOR=11 JDK_VERSION=11.0.13+8-0ubuntu1~18.04
32+
DOCKER_TAG_TO_PUBLISH=11.0.13-bionic-openjdk-headless
33+
- DOCKER_IMAGE_BASE=ubuntu:bionic JDK_MAJOR=8 JDK_VERSION=8u312-b07-0ubuntu1~18.04
34+
DOCKER_TAG_TO_PUBLISH=8u312-bionic-openjdk-headless
3135
- DOCKER_IMAGE_BASE=ubuntu:focal DOCKER_TAG_TO_PUBLISH=17-focal-openjdk-headless
3236
- DOCKER_IMAGE_BASE=ubuntu:focal JDK_MAJOR=17 JDK_VERSION=17.0.1+12-1~20.04 DOCKER_TAG_TO_PUBLISH=17.0.1-focal-openjdk-headless
33-
- DOCKER_IMAGE_BASE=ubuntu:focal JDK_MAJOR=8 JDK_VERSION=8u312-b07-0ubuntu1~20.04 DOCKER_TAG_TO_PUBLISH=8u312-focal-openjdk-headless
37+
- DOCKER_IMAGE_BASE=ubuntu:focal JDK_MAJOR=8 JDK_VERSION=8u312-b07-0ubuntu1~20.04
38+
DOCKER_TAG_TO_PUBLISH=8u312-focal-openjdk-headless
3439
- DOCKER_IMAGE_BASE=centos:7 JDK_MAJOR=11 JDK_VERSION=11.0.12.0.7 DOCKER_TAG_TO_PUBLISH=11.0.12.0.7-centos7-openjdk-headless
35-
- DOCKER_IMAGE_BASE=quay.io/centos/centos:stream8 JDK_MAJOR=11 JDK_VERSION=11.0.13.0.8 DOCKER_TAG_TO_PUBLISH=11.0.13.0.8-centos8-openjdk-headless
36-
- DOCKER_IMAGE_BASE=debian:bullseye-slim JDK_VENDOR=adoptopenjdk JDK_MAJOR=8 JDK_VERSION=8u292-b10-3 DOCKER_TAG_TO_PUBLISH=8u292-bullseye-adoptopenjdk-headless
37-
- DOCKER_IMAGE_BASE=debian:buster-slim JDK_VENDOR=adoptopenjdk JDK_MAJOR=8 JDK_VERSION=8u292-b10-3 DOCKER_TAG_TO_PUBLISH=8u292-buster-adoptopenjdk-headless
38-
- DOCKER_IMAGE_BASE=quay.io/centos/centos:stream8 JDK_VENDOR=adoptopenjdk JDK_MAJOR=8 JDK_VERSION=8u292_b10 DOCKER_TAG_TO_PUBLISH=8u292-centos8-adoptopenjdk-headless
39-
- DOCKER_IMAGE_BASE=debian:bullseye-slim JDK_VENDOR=corretto JDK_MAJOR=1.8.0 JDK_VERSION=1:8.302.08-1 DOCKER_TAG_TO_PUBLISH=8u302-bullseye-corretto-headless
40-
- DOCKER_IMAGE_BASE=debian:buster-slim JDK_VENDOR=corretto JDK_MAJOR=1.8.0 JDK_VERSION=1:8.302.08-1 DOCKER_TAG_TO_PUBLISH=8u302-buster-corretto-headless
41-
- DOCKER_IMAGE_BASE=quay.io/centos/centos:stream8 JDK_VENDOR=corretto JDK_MAJOR=1.8.0 JDK_VERSION=1.8.0_302.b08 DOCKER_TAG_TO_PUBLISH=8u302-centos8-corretto-headless
42-
40+
- DOCKER_IMAGE_BASE=quay.io/centos/centos:stream8 JDK_MAJOR=11 JDK_VERSION=11.0.13.0.8
41+
DOCKER_TAG_TO_PUBLISH=11.0.13.0.8-centos8-openjdk-headless
42+
- DOCKER_IMAGE_BASE=debian:bullseye-slim JDK_VENDOR=adoptopenjdk JDK_MAJOR=8 JDK_VERSION=8u292-b10-3
43+
DOCKER_TAG_TO_PUBLISH=8u292-bullseye-adoptopenjdk-headless
44+
- DOCKER_IMAGE_BASE=debian:buster-slim JDK_VENDOR=adoptopenjdk JDK_MAJOR=8 JDK_VERSION=8u292-b10-3
45+
DOCKER_TAG_TO_PUBLISH=8u292-buster-adoptopenjdk-headless
46+
- DOCKER_IMAGE_BASE=quay.io/centos/centos:stream8 JDK_VENDOR=adoptopenjdk JDK_MAJOR=8
47+
JDK_VERSION=8u292_b10 DOCKER_TAG_TO_PUBLISH=8u292-centos8-adoptopenjdk-headless
48+
- DOCKER_IMAGE_BASE=debian:bullseye-slim JDK_VENDOR=corretto JDK_MAJOR=1.8.0 JDK_VERSION=1:8.302.08-1
49+
DOCKER_TAG_TO_PUBLISH=8u302-bullseye-corretto-headless
50+
- DOCKER_IMAGE_BASE=debian:buster-slim JDK_VENDOR=corretto JDK_MAJOR=1.8.0 JDK_VERSION=1:8.302.08-1
51+
DOCKER_TAG_TO_PUBLISH=8u302-buster-corretto-headless
52+
- DOCKER_IMAGE_BASE=quay.io/centos/centos:stream8 JDK_VENDOR=corretto JDK_MAJOR=1.8.0
53+
JDK_VERSION=1.8.0_302.b08 DOCKER_TAG_TO_PUBLISH=8u302-centos8-corretto-headless
4354
script:
4455
- pipenv run molecule test --scenario-name=${JDK_VENDOR:-default}
4556
notifications:
4657
webhooks:
4758
- https://galaxy.ansible.com/api/v1/notifications/
4859
deploy:
4960
provider: script
50-
script: ANSIBLE_ROLES_PATH=../ pipenv run ansible-playbook dockerhub/main.yml --extra-vars "docker_hub_email=${DOCKER_EMAIL} docker_hub_username=${DOCKER_USERNAME} docker_hub_password=${DOCKER_PASSWORD} docker_image_base=${DOCKER_IMAGE_BASE} jdk_version=${JDK_VERSION} jdk_major=${JDK_MAJOR} jdk_vendor=${JDK_VENDOR} docker_tag=${DOCKER_TAG_TO_PUBLISH}"
51-
61+
script: ANSIBLE_ROLES_PATH=../ pipenv run ansible-playbook dockerhub/main.yml --extra-vars
62+
"docker_hub_email=${DOCKER_EMAIL} docker_hub_username=${DOCKER_USERNAME} docker_hub_password='${DOCKER_PASSWORD}'
63+
docker_image_base=${DOCKER_IMAGE_BASE} jdk_version=${JDK_VERSION} jdk_major=${JDK_MAJOR}
64+
jdk_vendor=${JDK_VENDOR} docker_tag=${DOCKER_TAG_TO_PUBLISH}"
5265
on:
5366
branch: master
5467
tags: true
5568
condition: "$JDK_VERSION"
56-

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ This project adheres to [Semantic Versioning](http://semver.org/) and [Keep a ch
1010
- *[#160](https://github.com/idealista/java_role/issues/160) Remove packer for playbook for the task of pushing images to Dockerhub* @aren-pulid0
1111
- *[#165](https://github.com/idealista/java_role/issues/165) Add JAVA_HOME as ENV in docker image* @aren-pulid0
1212
- *[#167](https://github.com/idealista/java_role/issues/167) Support for multiarch images* @aren-pulid0
13+
- *[#175](https://github.com/idealista/java_role/issues/175) Error handling on deploy playbook @aren-pulid0
14+
1315

1416
## [7.0.2](https://github.com/idealista/java_role/tree/7.0.2) (2021-08-19)
1517
[Full Changelog](https://github.com/idealista/java_role/compare/7.0.1...7.0.2)

dockerhub/Dockerfile.j2

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,7 @@
11
FROM {{ docker_image_base }}
22

3-
RUN rm -rf /var/lib/apt/lists/* && apt-get update \
4-
&& apt-get install -y sudo systemd init systemd-sysv \
5-
&& apt-get autoremove -y && apt-get clean
6-
7-
RUN mkdir -p /usr/share/man/man1
83

9-
RUN if [ $(command -v apt-get) ]; then apt-get update && apt-get upgrade -y && apt-get install -y python3 sudo bash ca-certificates && apt-get clean; \
4+
RUN if [ $(command -v apt-get) ]; then apt-get update && apt-get upgrade -y && apt-get install -y python3 sudo bash ca-certificates systemd init systemd-sysv && apt-get clean; \
105
elif [ $(command -v dnf) ]; then dnf makecache && dnf --assumeyes install python36 sudo python3-dnf bash && dnf clean all; \
116
elif [ $(command -v yum) ]; then yum makecache fast && yum update -y && yum install -y python sudo yum-plugin-ovl bash && sed -i 's/plugins=0/plugins=1/g' /etc/yum.conf && yum clean all; \
127
elif [ $(command -v zypper) ]; then zypper refresh && zypper update -y && zypper install -y python sudo bash python-xml && zypper clean -a; \

dockerhub/deploy_images.yml

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,30 @@
11
---
22

3-
- name: Get JAVA_HOME variable
4-
community.docker.docker_container_exec:
5-
container: "{{ 'jdk' + '-' + item }}"
6-
command: grep -i -o 'JAVA_HOME.*' /etc/profile.d/jdk.sh
7-
register: java_home
3+
- name: Commit environment variables into containers
4+
block:
5+
- name: Get JAVA_HOME variable
6+
community.docker.docker_container_exec:
7+
container: "{{ 'jdk' + '-' + item }}"
8+
command: grep -i -o 'JAVA_HOME.*' /etc/profile.d/jdk.sh
9+
register: java_home
810

9-
- set_fact: java_home="{{ java_home.stdout }}"
11+
- set_fact: java_home="{{ java_home.stdout }}"
1012

11-
- name: Commit container JAVA_HOME variable to image
12-
command: docker commit --change "ENV {{ java_home }}" {{ 'jdk' + '-' + item }} idealista/jdk:{{ docker_tag + '-' + item}}
13+
- name: Commit container JAVA_HOME variable to image
14+
command: docker commit --change "ENV {{ java_home }}" {{ 'jdk' + '-' + item }} idealista/jdk:{{ docker_tag + '-' + item}}
1315

14-
- name: Log into Docker Hub
15-
docker_login:
16-
email: "{{ docker_hub_email }}"
17-
username: "{{ docker_hub_username }}"
18-
password: "{{ docker_hub_password }}"
16+
- name: Log into Docker Hub
17+
docker_login:
18+
email: "{{ docker_hub_email }}"
19+
username: "{{ docker_hub_username }}"
20+
password: "{{ docker_hub_password }}"
1921

20-
- name: Tag and push to Docker Hub
21-
command: docker push idealista/jdk:{{ docker_tag + '-' + item }}
22+
- name: Tag and push to Docker Hub
23+
command: docker push idealista/jdk:{{ docker_tag + '-' + item }}
2224

23-
- name: Remove the container
24-
docker_container:
25-
name: "{{ 'jdk' + '-' + item }}"
26-
state: absent
25+
- name: Remove the container
26+
docker_container:
27+
name: "{{ 'jdk' + '-' + item }}"
28+
state: absent
29+
30+
when: "failed_architectures is not defined or failed_architectures | join('|') | regex_search(item) != item"

dockerhub/execute_role.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
3+
- name: Execute role
4+
block:
5+
- include_role:
6+
name: java_role
7+
rescue:
8+
- set_fact:
9+
failed_execution: True
10+
- debug:
11+
msg: "The container {{ ansible_nodename }} couldn't execute roles correctly."
12+

dockerhub/group_vars/all/main.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
dockerhub_image_architectures: ['amd64', 'arm64']

dockerhub/main.yml

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
---
22
- name: Create Dockerfile, images and build containers
33
hosts: localhost
4-
connection: local
54
gather_facts: false
65
tasks:
76
- name: Create Dockerfile
@@ -24,29 +23,36 @@
2423

2524
- name: Build containers
2625
include_tasks: build_containers.yml
27-
with_items: ['amd64', 'arm64']
26+
with_items: "{{ dockerhub_image_architectures }}"
2827

2928

3029
- name: Execute Java role in Docker containers
3130
hosts: jdk_containers
32-
connection: local
31+
connection: localhost
32+
gather_facts: True
3333
vars:
3434
- java_jdk_vendor: "{{ jdk_vendor if jdk_vendor is defined and jdk_vendor is not sameas None and jdk_vendor != '' else 'openjdk' }}"
3535
- java_open_jdk_version: "{{ jdk_version if jdk_version is defined and jdk_version is not sameas None and jdk_version != '' }}"
3636
- java_open_jdk_version_major: "{{ jdk_major if jdk_major is defined and jdk_major is not sameas None and jdk_major != ''}}"
37-
roles:
38-
- java_role
39-
37+
tasks:
38+
- name: Execute role
39+
include_tasks: execute_role.yml
4040

4141
- name: Deploy images to DockerHub
4242
hosts: localhost
4343
connection: local
44-
gather_facts: false
44+
gather_facts: True
4545
tasks:
4646

47+
- name: Check failed containers
48+
set_fact:
49+
failed_architectures: "{{ failed_architectures + [ item ] }}"
50+
with_items: "{{ groups['jdk_containers'] }}"
51+
when: "{{ hostvars[item]['failed_execution'] is defined and hostvars[item]['failed_execution'] == True }}"
52+
4753
- name: Deploy images
4854
include_tasks: deploy_images.yml
49-
with_items: ['amd64', 'arm64']
55+
with_items: "{{ dockerhub_image_architectures }}"
5056

5157

5258
- name: Deploy multiarch manifest to DockerHub and cleanup
@@ -56,12 +62,21 @@
5662
tasks:
5763

5864
- name: Create manifest
59-
command: docker manifest create idealista/jdk:{{ docker_tag }}
60-
--amend idealista/jdk:{{ docker_tag + '-amd64' }}
61-
--amend idealista/jdk:{{ docker_tag + '-arm64' }}
65+
command: docker manifest create idealista/jdk:{{ docker_tag }}
66+
{% for architecture in dockerhub_image_architectures %}
67+
{% if failed_architectures is not defined or not failed_architectures | join('|') | regex_search(architecture) %}
68+
--amend idealista/jdk:{{ docker_tag + '-' + architecture }}
69+
{% endif %}
70+
{% endfor %}
6271

6372
- name: Push manifest
6473
command: docker manifest push idealista/jdk:{{ docker_tag }}
6574

6675
- name: Delete builder
6776
command: docker buildx rm multiarch
77+
78+
- name: Example using fail and when together
79+
fail:
80+
msg: Atleast one of the architectures could not be uploaded see logs for more information.
81+
when: failed_architectures is defined and failed_architectures | length != 0
82+

0 commit comments

Comments
 (0)