mirror of
https://github.com/goharbor/harbor
synced 2025-04-21 01:18:02 +00:00
Merge pull request #15148 from danfengliu/missing-db-base-login-in-build-base-workflow
Fix issue of missing db base build process in build base workflow
This commit is contained in:
commit
c39345da96
24
Makefile
24
Makefile
|
@ -256,6 +256,8 @@ DOCKERIMGFILE=harbor
|
||||||
HARBORPKG=harbor
|
HARBORPKG=harbor
|
||||||
|
|
||||||
# pull/push image
|
# pull/push image
|
||||||
|
PUSHSCRIPTPATH=$(MAKEPATH)
|
||||||
|
PUSHSCRIPTNAME=pushimage.sh
|
||||||
REGISTRYUSER=
|
REGISTRYUSER=
|
||||||
REGISTRYPASSWORD=
|
REGISTRYPASSWORD=
|
||||||
|
|
||||||
|
@ -435,10 +437,30 @@ build:
|
||||||
-e TRIVY_DOWNLOAD_URL=$(TRIVY_DOWNLOAD_URL) -e TRIVY_ADAPTER_DOWNLOAD_URL=$(TRIVY_ADAPTER_DOWNLOAD_URL) \
|
-e TRIVY_DOWNLOAD_URL=$(TRIVY_DOWNLOAD_URL) -e TRIVY_ADAPTER_DOWNLOAD_URL=$(TRIVY_ADAPTER_DOWNLOAD_URL) \
|
||||||
-e PULL_BASE_FROM_DOCKERHUB=$(PULL_BASE_FROM_DOCKERHUB) -e BUILD_BASE=$(BUILD_BASE) \
|
-e PULL_BASE_FROM_DOCKERHUB=$(PULL_BASE_FROM_DOCKERHUB) -e BUILD_BASE=$(BUILD_BASE) \
|
||||||
-e REGISTRYUSER=$(REGISTRYUSER) -e REGISTRYPASSWORD=$(REGISTRYPASSWORD) \
|
-e REGISTRYUSER=$(REGISTRYUSER) -e REGISTRYPASSWORD=$(REGISTRYPASSWORD) \
|
||||||
-e PUSHBASEIMAGE=$(PUSHBASEIMAGE)
|
-e PUSHBASEIMAGE=$(PUSHBASEIMAGE) -e BUILD_PG96=$(BUILD_PG96)
|
||||||
|
|
||||||
build_standalone_db_migrator: compile_standalone_db_migrator
|
build_standalone_db_migrator: compile_standalone_db_migrator
|
||||||
make -f $(MAKEFILEPATH_PHOTON)/Makefile _build_standalone_db_migrator -e BASEIMAGETAG=$(BASEIMAGETAG) -e VERSIONTAG=$(VERSIONTAG)
|
make -f $(MAKEFILEPATH_PHOTON)/Makefile _build_standalone_db_migrator -e BASEIMAGETAG=$(BASEIMAGETAG) -e VERSIONTAG=$(VERSIONTAG)
|
||||||
|
|
||||||
|
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 $(BUILDBASETARGET); do \
|
||||||
|
echo $$name ; \
|
||||||
|
sleep 30 ; \
|
||||||
|
if [ $$name == "db" ]; then \
|
||||||
|
make _build_base_db ; \
|
||||||
|
else \
|
||||||
|
$(DOCKERBUILD) --build-arg BUILD_PG96=$(BUILD_PG96) --pull --no-cache -f $(MAKEFILEPATH_PHOTON)/$$name/Dockerfile.base -t $(BASEIMAGENAMESPACE)/harbor-$$name-base:$(BASEIMAGETAG) --label base-build-date=$(date +"%Y%m%d") . ; \
|
||||||
|
fi ; \
|
||||||
|
if [ "$(PUSHBASEIMAGE)" != "false" ] ; then \
|
||||||
|
$(PUSHSCRIPTPATH)/$(PUSHSCRIPTNAME) $(BASEIMAGENAMESPACE)/harbor-$$name-base:$(BASEIMAGETAG) $(REGISTRYUSER) $(REGISTRYPASSWORD) || exit 1; \
|
||||||
|
fi ; \
|
||||||
|
done
|
||||||
|
|
||||||
_build_base_db:
|
_build_base_db:
|
||||||
@if [ "$(BUILD_PG96)" = "true" ] ; then \
|
@if [ "$(BUILD_PG96)" = "true" ] ; then \
|
||||||
echo "build pg96 rpm package." ; \
|
echo "build pg96 rpm package." ; \
|
||||||
|
|
|
@ -276,15 +276,23 @@ define _build_base
|
||||||
else \
|
else \
|
||||||
echo "No docker credentials provided, please be aware of priviledges to access docker hub!" ; \
|
echo "No docker credentials provided, please be aware of priviledges to access docker hub!" ; \
|
||||||
fi ;\
|
fi ;\
|
||||||
$(DOCKERBUILD) -f $(2)/Dockerfile.base -t $(BASEIMAGENAMESPACE)/harbor-$(1)-base:$(BASEIMAGETAG) --label base-build-date=$(TIMESTAMP) . ;\
|
if [ "$(1)" = "db" ] && [ "$(BUILD_PG96)" = "true" ]; then \
|
||||||
|
echo "build pg96 rpm package." ; \
|
||||||
|
cd $(DOCKERFILEPATH)/db && $(DOCKERFILEPATH)/db/rpm_builder.sh && cd - ; \
|
||||||
|
$(DOCKERBUILD) --pull --no-cache -f $(DOCKERFILEPATH)/db/Dockerfile.pg96 -t $(BASEIMAGENAMESPACE)/harbor-db-base:$(BASEIMAGETAG) --label base-build-date=$(TIMESTAMP) . ; \
|
||||||
|
else \
|
||||||
|
$(DOCKERBUILD) -f $(2)/Dockerfile.base -t $(BASEIMAGENAMESPACE)/harbor-$(1)-base:$(BASEIMAGETAG) --label base-build-date=$(TIMESTAMP) . ;\
|
||||||
|
fi ;\
|
||||||
if [ "$(PUSHBASEIMAGE)" = "true" ] ; then \
|
if [ "$(PUSHBASEIMAGE)" = "true" ] ; then \
|
||||||
$(PUSHSCRIPTPATH)/$(PUSHSCRIPTNAME) $(BASEIMAGENAMESPACE)/harbor-$(1)-base:$(BASEIMAGETAG) $(REGISTRYUSER) $(REGISTRYPASSWORD) $(PULL_BASE_FROM_DOCKERHUB) || exit 1; \
|
$(PUSHSCRIPTPATH)/$(PUSHSCRIPTNAME) $(BASEIMAGENAMESPACE)/harbor-$(1)-base:$(BASEIMAGETAG) $(REGISTRYUSER) $(REGISTRYPASSWORD) docker.io $(PULL_BASE_FROM_DOCKERHUB) || exit 1; \
|
||||||
fi ; \
|
fi ; \
|
||||||
fi
|
fi
|
||||||
endef
|
endef
|
||||||
|
|
||||||
build: _build_prepare _build_db _build_portal _build_core _build_jobservice _build_log _build_nginx _build_registry _build_registryctl _build_notary _build_trivy_adapter _build_redis _build_chart_server _compile_and_build_exporter
|
build: _build_prepare _build_db _build_portal _build_core _build_jobservice _build_log _build_nginx _build_registry _build_registryctl _build_notary _build_trivy_adapter _build_redis _build_chart_server _compile_and_build_exporter
|
||||||
|
@if [ -n "$(REGISTRYUSER)" ] && [ -n "$(REGISTRYPASSWORD)" ] ; then \
|
||||||
|
docker logout ; \
|
||||||
|
fi
|
||||||
cleanimage:
|
cleanimage:
|
||||||
@echo "cleaning image for photon..."
|
@echo "cleaning image for photon..."
|
||||||
- $(DOCKERRMIMAGE) -f $(DOCKERIMAGENAME_PORTAL):$(VERSIONTAG)
|
- $(DOCKERRMIMAGE) -f $(DOCKERIMAGENAME_PORTAL):$(VERSIONTAG)
|
||||||
|
|
|
@ -4,9 +4,9 @@ set +e
|
||||||
set -o noglob
|
set -o noglob
|
||||||
|
|
||||||
if [ "$1" == "" ];then
|
if [ "$1" == "" ];then
|
||||||
echo "This shell will push specific image to registry server."
|
echo "This shell will push specific image to registry server."
|
||||||
echo "Usage: #./pushimage [image tag] [registry username] [registry password] [registry server]"
|
echo "Usage: #./pushimage [image tag] [registry username] [registry password] [registry server]"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -90,7 +90,9 @@ USERNAME="$2"
|
||||||
PASSWORD="$3"
|
PASSWORD="$3"
|
||||||
REGISTRY="$4"
|
REGISTRY="$4"
|
||||||
PULL_BASE_FROM_DOCKERHUB="$5"
|
PULL_BASE_FROM_DOCKERHUB="$5"
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
set -x
|
||||||
|
|
||||||
# ----- Pushing image(s) -----
|
# ----- Pushing image(s) -----
|
||||||
# see documentation :
|
# see documentation :
|
||||||
|
@ -99,21 +101,6 @@ set -e
|
||||||
# - https://docs.docker.com/reference/commandline/cli/#logout
|
# - 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
|
# Push the docker image
|
||||||
h2 "Pushing image to Docker registry"
|
h2 "Pushing image to Docker registry"
|
||||||
|
|
||||||
|
@ -128,22 +115,9 @@ else
|
||||||
success "Pushing image $IMAGE succeeded";
|
success "Pushing image $IMAGE succeeded";
|
||||||
fi
|
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
|
|
||||||
|
|
||||||
if [ "$PULL_BASE_FROM_DOCKERHUB" == "true" ];then
|
if [ "$PULL_BASE_FROM_DOCKERHUB" == "true" ];then
|
||||||
h2 "Remove local goharbor images"
|
h2 "Remove local goharbor images"
|
||||||
DOCKER_RMI="docker rmi $(docker images | grep "goharbor" | awk '{print $3}') -f"
|
DOCKER_RMI="docker rmi -f $(docker images | grep "${IMAGE%:*}" | awk '{print $3}') -f"
|
||||||
info "$DOCKER_RMI"
|
info "$DOCKER_RMI"
|
||||||
DOCKER_RMI_OUTPUT=$($DOCKER_RMI)
|
DOCKER_RMI_OUTPUT=$($DOCKER_RMI)
|
||||||
if [ $? -ne 0 ];then
|
if [ $? -ne 0 ];then
|
||||||
|
@ -153,3 +127,4 @@ if [ "$PULL_BASE_FROM_DOCKERHUB" == "true" ];then
|
||||||
success "Clean local goharbor images succeeded";
|
success "Clean local goharbor images succeeded";
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user