Simplify packer-parameters macro name to just lf
[releng/global-jjb.git] / shell / docker-login.sh
index 2c8a40b..92da7e0 100644 (file)
@@ -35,6 +35,7 @@ set -eu -o pipefail
 
 # Execute the credential lookup and login to the registry
 do_login() {
+    set +x  # Ensure that no other scripts add `set -x` and print passwords
     echo "$1"
     CREDENTIAL=$(xmlstarlet sel -N "x=http://maven.apache.org/SETTINGS/1.0.0" \
         -t -m "/x:settings/x:servers/x:server[starts-with(x:id, '${1}')]" \
@@ -56,7 +57,18 @@ do_login() {
         return 1
     fi
 
-    docker login -u "$USER" -p "$PASS" -e "$2" "$1"
+    docker_version=$(docker -v | awk '{print $3}')
+    compare_value=$(echo "17.06.0 $docker_version" | \
+                    tr " " "\n" | \
+                    sort -V | \
+                    sed -n 1p)
+    if [[ "$docker_version" == "$compare_value" && \
+          "$docker_version" != "17.06.0" ]]
+    then
+        docker login -u "$USER" -p "$PASS" -e "$2" "$1"
+    else
+        docker login -u "$USER" -p "$PASS" "$1"
+    fi
 }
 
 if [ "${DOCKER_REGISTRY:-none}" != 'none' ]