From b1f9d41bf26ba68e1c559467caeb1935dab0d1bb Mon Sep 17 00:00:00 2001 From: ckonstanski Date: Thu, 16 Jan 2020 17:21:23 +0000 Subject: Improve local builds and support docker-registry with no creds --- salt/gentoo_baseimage/ci/files/build.sh | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'salt/gentoo_baseimage/ci') diff --git a/salt/gentoo_baseimage/ci/files/build.sh b/salt/gentoo_baseimage/ci/files/build.sh index b42f01b..547d0d2 100644 --- a/salt/gentoo_baseimage/ci/files/build.sh +++ b/salt/gentoo_baseimage/ci/files/build.sh @@ -1,21 +1,22 @@ #!/bin/bash -e +basic_auth='{% if pillar["registry"]["username"] != None %}-u \'{{ pillar["registry"]["username"] }}:{{ pillar["registry"]["password"] }}\'{% endif %}' + mark_for_gc() { image_name="${1}" - for tag in $(curl -u '{{ pillar["registry"]["username"] }}:{{ pillar["registry"]["password"] }}' -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' https://{{ pillar["registry"]["url"] }}/v2/${image_name}/tags/list | jq '.tags' | grep -o -P '[a-fA-F0-9]+'); do - digest=$(curl -u '{{ pillar["registry"]["username"] }}:{{ pillar["registry"]["password"] }}' -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' https://{{ pillar["registry"]["url"] }}/v2/${image_name}/manifests/${tag} | jq '.config.digest' | awk -F\" '{print $2}') + for tag in $(curl -k ${basic_auth} -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' https://{{ pillar["registry"]["url"] }}/v2/${image_name}/tags/list | jq '.tags' | grep -o -P '[a-fA-F0-9]+'); do + digest=$(curl -k ${basic_auth} -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' https://{{ pillar["registry"]["url"] }}/v2/${image_name}/manifests/${tag} | jq '.config.digest' | awk -F\" '{print $2}') if [ "${digest}" != "" ]; then - curl -u '{{ pillar["registry"]["username"] }}:{{ pillar["registry"]["password"] }}' -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' -X DELETE https://{{ pillar["registry"]["url"] }}/v2/${image_name}/manifests/${digest} + curl -k ${basic_auth} -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' -X DELETE https://{{ pillar["registry"]["url"] }}/v2/${image_name}/manifests/${digest} fi done } -{% if pillar["ci"]["local_build"] != True %} +{% if pillar["ci"]["local_build"] == False %} +{% if pillar["registry"]["username"] != None %} echo "Login to docker registry" echo '{{ pillar["registry"]["password"] }}' | docker login --username {{ pillar["registry"]["username"] }} --password-stdin {{ pillar["registry"]["url"] }} {% endif %} - -{% if pillar["ci"]["local_build"] != True %} mark_for_gc "{{ pillar["gentoo_baseimage"]["image_name"] }}" {% endif %} {{ pillar["gentoo_baseimage"]["build_dir"] }}/build.sh -- cgit v1.3