REPO-4735 Create script to check if docker image tag exists

This commit is contained in:
David Edwards
2020-01-24 12:04:23 +00:00
parent 84b7bf0714
commit d792192894
2 changed files with 39 additions and 1 deletions

View File

@@ -22,7 +22,8 @@ branches:
- feature/REPO-4735_Add-release-stages
stages:
- test
- name: test
if: branch !=feature/REPO-4735_Add-release-stages
- engineering release
- company release
@@ -99,6 +100,10 @@ jobs:
# only on develop or master branch
if: fork = false AND branch = feature/REPO-4735_Add-release-stages AND commit_message !~ /\[no-release\]/
#TODO
env:
- release.version=
- development.version=
before_install: ./scripts/travis/verifyReleaseTag.sh
name: "Maven release"
install: skip # Release command from bamboo
script:

View File

@@ -0,0 +1,33 @@
#!/usr/bin/env bash
set -e
alfresco_docker_image="alfresco/alfresco-content-repository-community"
release_version=""
if [[-v ${release.version} || -z ${release.version}]]; then
release_version=${release.version}
else
release_version=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
fi
docker_image_full_name="$alfresco_docker_image:$release_version"
echo docker_image_full_name
function docker_image_exists() {
local image_full_name="$1"; shift
local wait_time="${1:-5}"
local search_term='Pulling|is up to date|not found'
local result="$((timeout --preserve-status "$wait_time" docker 2>&1 pull "$image_full_name" &) | grep -v 'Pulling repository' | egrep -o "$search_term")"
test "$result" || { echo "Timed out too soon. Try using a wait_time greater than $wait_time..."; return 1 ;}
if echo $result | grep -vq 'not found'; then
true
else
false
fi
}
if docker_image_exists $docker_image_full_name; then
echo "Tag $release_version already pushed, release process will interrupt."
else
echo "The $release_version tag was not found"
fi