diff --git a/scripts/docker-login.sh b/scripts/docker-login.sh index 67504ce..95832fc 100755 --- a/scripts/docker-login.sh +++ b/scripts/docker-login.sh @@ -87,5 +87,5 @@ rm -f $old_docker_config_file $new_docker_config_file notice "logging in to remote repos" for reg in "${login_repos[@]}" ; do - docker_login "$reg" + QUIET=true docker_login "$reg" done diff --git a/scripts/host-docker-login.sh b/scripts/host-docker-login.sh index 3d07bd9..ce4c37d 100755 --- a/scripts/host-docker-login.sh +++ b/scripts/host-docker-login.sh @@ -11,11 +11,33 @@ SCRIPTS_DIR="$(dirname "$0")" source "$SCRIPTS_DIR/lib/job_utils.sh" load_build_config declare_job_env DOCKER_REGISTRY_LOGIN_LIST +declare_job_env DOCKER_LOGIN_ATTEMPTS 3 for spec in $DOCKER_REGISTRY_LOGIN_LIST ; do if [[ "$(parse_docker_registry "$spec" | awk '{print $1}')" == "docker.io" ]] ; then info "logging in to Docker Hub DOCKER_CONFIG=$DOCKER_CONFIG" - docker login &2 + if ! docker login $DOCKER_REG &2 + if docker login $DOCKER_REG &2 + exit 1 + fi + fi +_END + } || true # read -d '' always returns non-zero (bash bug?) + script="$(echo "$script" | sed \ + -e "s/@@DOCKER_REG_LABEL@@/$docker_reg_label/g" \ + -e "s/@@DOCKER_REG@@/$docker_reg/g" \ + -e "s/@@DOCKER_LOGIN_ATTEMPTS@@/$docker_login_attempts/g")" + stx_docker_cmd "$script" } #