diff --git a/Makefile b/Makefile
index f97e07d70..8f6b5f34d 100644
--- a/Makefile
+++ b/Makefile
@@ -324,6 +324,11 @@ build:
 	 -e NPM_REGISTRY=$(NPM_REGISTRY) -e BASEIMAGETAG=$(BASEIMAGETAG)
 
 build_base_docker:
+	if [ -n "$(REGISTRYUSER)" ] && [ -n "$(REGISTRYPASSWORD)" ] ; then \
+		docker login -u $(REGISTRYUSER) -p $(REGISTRYPASSWORD) ; \
+	else \
+		echo "No docker credentials provided, please make sure enough priviledges to access docker hub!" ; \
+	fi
 	@for name in chartserver clair clair-adapter core db jobservice log nginx notary-server notary-signer portal prepare redis registry registryctl; do \
 		echo $$name ; \
 		$(DOCKERBUILD) --pull -f $(MAKEFILEPATH_PHOTON)/$$name/Dockerfile.base -t goharbor/harbor-$$name-base:$(BASEIMAGETAG) . && \
diff --git a/make/pushimage.sh b/make/pushimage.sh
index 2affa58bc..0e685fea8 100755
--- a/make/pushimage.sh
+++ b/make/pushimage.sh
@@ -96,21 +96,6 @@ set -e
 #  - https://docs.docker.com/reference/commandline/cli/#logout
 # ---------------------------
 
-# Login to the registry
-h2 "Login to the Docker registry"
-
-DOCKER_LOGIN="docker login --username $USERNAME --password $PASSWORD $REGISTRY"
-info "docker login --username $USERNAME --password *******"
-DOCKER_LOGIN_OUTPUT=$($DOCKER_LOGIN)
-
-if [ $? -ne 0 ]; then
-  warn "$DOCKER_LOGIN_OUTPUT"
-  error "Login to Docker registry $REGISTRY failed"
-  exit 1
-else
-  success "Login to Docker registry $REGISTRY succeeded";
-fi
-
 # Push the docker image
 h2 "Pushing image to Docker registry"
 
@@ -125,15 +110,3 @@ else
   success "Pushing image $IMAGE succeeded";
 fi
 
-# Logout from the registry
-h2 "Logout from the docker registry"
-DOCKER_LOGOUT="docker logout $REGISTRY"
-DOCKER_LOGOUT_OUTPUT=$($DOCKER_LOGOUT)
-
-if [ $? -ne 0 ]; then
-  warn "$DOCKER_LOGOUT_OUTPUT"
-  error "Logout from Docker registry $REGISTRY failed"
-  exit 1
-else
-  success "Logout from Docker registry $REGISTRY succeeded"
-fi