From 9c91fdc18e2332453030f60f6f8122f56f1b60b4 Mon Sep 17 00:00:00 2001 From: yhua Date: Tue, 8 Nov 2016 14:23:41 +0800 Subject: [PATCH] update Makefile for local create compile_ golangimage and fix some issue --- Makefile | 65 ++++++++++++++++++++++++++++++-------------------------- 1 file changed, 35 insertions(+), 30 deletions(-) diff --git a/Makefile b/Makefile index f086c16e0..5d1eec620 100644 --- a/Makefile +++ b/Makefile @@ -5,10 +5,14 @@ # all: prepare env, compile binarys, build images and install images # prepare: prepare env # compile: compile ui and jobservice code +# compile_buildgolangimage: +# compile local building golang image +# forexample : make compile_buildgolangimage -e \ +# GOBUILDIMAGE=harborgo:1.6.2 # compile_golangimage: # compile from golang image # for example: make compile_golangimage -e GOBUILDIMAGE= \ -# reg-bj.eng.vmware.com/harborrelease/harborgo:1.6.2 +# harborgo:1.6.2 # compile_ui, compile_jobservice: compile specific binary # # build: build Harbor docker images (defuault: build_photon) @@ -52,8 +56,6 @@ # cleanversiontag: # cleanpackageremove specific version tag # cleanpackage: remove online/offline install package -# -# all: install # # other example: # clean specific version binarys and images: @@ -106,6 +108,7 @@ GOBUILDPATH_JOBSERVICE=$(GOBUILDPATH)/src/jobservice GOBUILDMAKEPATH=$(GOBUILDPATH)/make GOBUILDMAKEPATH_UI=$(GOBUILDMAKEPATH)/dev/ui GOBUILDMAKEPATH_JOBSERVICE=$(GOBUILDMAKEPATH)/dev/jobservice +GOLANGDOCKERFILENAME=Dockerfile.golang # binary UISOURCECODE=$(SRCPATH)/ui @@ -170,7 +173,7 @@ REGISTRYUSER=user REGISTRYPASSWORD=default version: - if [ "$(DEVFLAG)" = "false" ] ; then \ + @if [ "$(DEVFLAG)" = "false" ] ; then \ $(SEDCMD) -i 's/version=\"{{.Version}}\"/version=\"$(VERSIONTAG)\"/' -i $(VERSIONFILEPATH)/$(VERSIONFILENAME) ; \ fi @@ -179,40 +182,41 @@ check_environment: compile_ui: @echo "compiling binary for ui..." - $(GOBUILD) -o $(UIBINARYPATH)/$(UIBINARYNAME) $(UISOURCECODE) + @$(GOBUILD) -o $(UIBINARYPATH)/$(UIBINARYNAME) $(UISOURCECODE) @echo "Done." compile_jobservice: @echo "compiling binary for jobservice..." - $(GOBUILD) -o $(JOBSERVICEBINARYPATH)/$(JOBSERVICEBINARYNAME) $(JOBSERVICESOURCECODE) + @$(GOBUILD) -o $(JOBSERVICEBINARYPATH)/$(JOBSERVICEBINARYNAME) $(JOBSERVICESOURCECODE) @echo "Done." compile_normal: compile_ui compile_jobservice -compile_golangimage: - @echo "pulling golang build base image" - $(DOCKERPULL) $(GOBUILDIMAGE) +compile_buildgolangimage: + @echo "compiling golang image for harbor ..." + @$(DOCKERBUILD) -t $(GOBUILDIMAGE) -f $(TOOLSPATH)/$(GOLANGDOCKERFILENAME) . @echo "Done." +compile_golangimage: @echo "compiling binary for ui (golang image)..." @echo $(GOBASEPATH) @echo $(GOBUILDPATH) - $(DOCKERCMD) run --rm -v $(BUILDPATH):$(GOBUILDPATH) -w $(GOBUILDPATH_UI) $(GOBUILDIMAGE) $(GOIMAGEBUILD) -v -o $(GOBUILDMAKEPATH_UI)/$(UIBINARYNAME) + @$(DOCKERCMD) run --rm -v $(BUILDPATH):$(GOBUILDPATH) -w $(GOBUILDPATH_UI) $(GOBUILDIMAGE) $(GOIMAGEBUILD) -v -o $(GOBUILDMAKEPATH_UI)/$(UIBINARYNAME) @echo "Done." @echo "compiling binary for jobservice (golang image)..." - $(DOCKERCMD) run --rm -v $(BUILDPATH):$(GOBUILDPATH) -w $(GOBUILDPATH_JOBSERVICE) $(GOBUILDIMAGE) $(GOIMAGEBUILD) -v -o $(GOBUILDMAKEPATH_JOBSERVICE)/$(JOBSERVICEBINARYNAME) + @$(DOCKERCMD) run --rm -v $(BUILDPATH):$(GOBUILDPATH) -w $(GOBUILDPATH_JOBSERVICE) $(GOBUILDIMAGE) $(GOIMAGEBUILD) -v -o $(GOBUILDMAKEPATH_JOBSERVICE)/$(JOBSERVICEBINARYNAME) @echo "Done." compile:check_environment $(COMPILETAG) prepare: @echo "preparing..." - $(MAKEPATH)/$(PREPARECMD) -conf $(CONFIGPATH)/$(CONFIGFILE) + @$(MAKEPATH)/$(PREPARECMD) -conf $(CONFIGPATH)/$(CONFIGFILE) build_common: version @echo "buildging db container for photon..." - cd $(DOCKERFILEPATH_DB) && $(DOCKERBUILD) -f $(DOCKERFILENAME_DB) -t $(DOCKERIMAGENAME_DB):$(VERSIONTAG) . + @cd $(DOCKERFILEPATH_DB) && $(DOCKERBUILD) -f $(DOCKERFILENAME_DB) -t $(DOCKERIMAGENAME_DB):$(VERSIONTAG) . @echo "Done." build_photon: build_common @@ -224,13 +228,13 @@ build_ubuntu: build_common build: build_$(BASEIMAGE) modify_composefile: - @echo "preparing tag:$(VERSIONTAG) docker-compose file..." + @echo "preparing docker-compose file..." @cp $(DOCKERCOMPOSEFILEPATH)/$(DOCKERCOMPOSETPLFILENAME) $(DOCKERCOMPOSEFILEPATH)/$(DOCKERCOMPOSEFILENAME) @$(SEDCMD) -i 's/image\: vmware.*/&:$(VERSIONTAG)/g' $(DOCKERCOMPOSEFILEPATH)/$(DOCKERCOMPOSEFILENAME) install: compile build prepare modify_composefile @echo "loading harbor images..." - $(DOCKERCOMPOSECMD) -f $(DOCKERCOMPOSEFILEPATH)/$(DOCKERCOMPOSEFILENAME) up -d + @$(DOCKERCOMPOSECMD) -f $(DOCKERCOMPOSEFILEPATH)/$(DOCKERCOMPOSEFILENAME) up -d @echo "Install complete. You can visit harbor now." package_online: modify_composefile @@ -238,12 +242,13 @@ package_online: modify_composefile @cp -r make $(HARBORPKG) @if [ -n "$(REGISTRYSERVER)" ] ; then \ $(SEDCMD) -i 's/image\: vmware/image\: $(REGISTRYSERVER)\/$(REGISTRYPROJECTNAME)/' \ - $(HARBORPKG)/docker-compose.$(VERSIONTAG).yml ; \ + $(HARBORPKG)/docker-compose.yml ; \ fi @cp LICENSE $(HARBORPKG)/LICENSE @cp NOTICE $(HARBORPKG)/NOTICE @$(TARCMD) -zcvf harbor-online-installer-$(VERSIONTAG).tgz \ - --exclude=$(HARBORPKG)/common/db --exclude=$(HARBORPKG)/ubuntu \ + --exclude=$(HARBORPKG)/common/db \ + --exclude=$(HARBORPKG)/common/log --exclude=$(HARBORPKG)/ubuntu \ --exclude=$(HARBORPKG)/photon --exclude=$(HARBORPKG)/kubernetes \ --exclude=$(HARBORPKG)/dev --exclude=$(DOCKERCOMPOSETPLFILENAME) \ --exclude=$(HARBORPKG)/checkenv.sh \ @@ -262,11 +267,11 @@ package_offline: compile build modify_composefile @cp NOTICE $(HARBORPKG)/NOTICE @echo "pulling nginx and registry..." - $(DOCKERPULL) registry:2.5.0 - $(DOCKERPULL) nginx:1.11.5 + @$(DOCKERPULL) registry:2.5.0 + @$(DOCKERPULL) nginx:1.11.5 @echo "saving harbor docker image" - $(DOCKERSAVE) -o $(HARBORPKG)/$(DOCKERIMGFILE).$(VERSIONTAG).tgz \ + @$(DOCKERSAVE) -o $(HARBORPKG)/$(DOCKERIMGFILE).$(VERSIONTAG).tgz \ $(DOCKERIMAGENAME_UI):$(VERSIONTAG) \ $(DOCKERIMAGENAME_LOG):$(VERSIONTAG) \ $(DOCKERIMAGENAME_DB):$(VERSIONTAG) \ @@ -274,7 +279,8 @@ package_offline: compile build modify_composefile nginx:1.11.5 registry:2.5.0 @$(TARCMD) -zcvf harbor-offline-installer-$(VERSIONTAG).tgz \ - --exclude=$(HARBORPKG)/common/db --exclude=$(HARBORPKG)/ubuntu \ + --exclude=$(HARBORPKG)/common/db \ + --exclude=$(HARBORPKG)/common/log --exclude=$(HARBORPKG)/ubuntu \ --exclude=$(HARBORPKG)/photon --exclude=$(HARBORPKG)/kubernetes \ --exclude=$(HARBORPKG)/dev --exclude=$(DOCKERCOMPOSETPLFILENAME) \ --exclude=$(HARBORPKG)/checkenv.sh \ @@ -287,10 +293,10 @@ package_offline: compile build modify_composefile pushimage: @echo "pushing harbor images ..." - $(DOCKERTAG) $(DOCKERIMAGENAME_UI):$(VERSIONTAG) $(REGISTRYSERVER)$(DOCKERIMAGENAME_UI):$(VERSIONTAG) - $(PUSHSCRIPTPATH)/$(PUSHSCRIPTNAME) $(REGISTRYSERVER)$(DOCKERIMAGENAME_UI):$(VERSIONTAG) \ + @$(DOCKERTAG) $(DOCKERIMAGENAME_UI):$(VERSIONTAG) $(REGISTRYSERVER)$(DOCKERIMAGENAME_UI):$(VERSIONTAG) + @$(PUSHSCRIPTPATH)/$(PUSHSCRIPTNAME) $(REGISTRYSERVER)$(DOCKERIMAGENAME_UI):$(VERSIONTAG) \ $(REGISTRYUSER) $(REGISTRYPASSWORD) $(REGISTRYSERVER) - $(DOCKERRMIMAGE) $(REGISTRYSERVER)$(DOCKERIMAGENAME_UI):$(VERSIONTAG) + @$(DOCKERRMIMAGE) $(REGISTRYSERVER)$(DOCKERIMAGENAME_UI):$(VERSIONTAG) @$(DOCKERTAG) $(DOCKERIMAGENAME_JOBSERVICE):$(VERSIONTAG) $(REGISTRYSERVER)$(DOCKERIMAGENAME_JOBSERVICE):$(VERSIONTAG) @$(PUSHSCRIPTPATH)/$(PUSHSCRIPTNAME) $(REGISTRYSERVER)$(DOCKERIMAGENAME_JOBSERVICE):$(VERSIONTAG) \ @@ -309,7 +315,7 @@ pushimage: start: @echo "loading harbor images..." - @$(DOCKERCOMPOSECMD) -f $(DOCKERCOMPOSEFILEPATH)/docker-compose.$(VERSIONTAG).yml up -d + @$(DOCKERCOMPOSECMD) -f $(DOCKERCOMPOSEFILEPATH)/docker-compose.yml up -d @echo "Start complete. You can visit harbor now." down: @@ -328,12 +334,12 @@ cleanimage: - $(DOCKERRMIMAGE) -f $(DOCKERIMAGENAME_DB):$(VERSIONTAG) - $(DOCKERRMIMAGE) -f $(DOCKERIMAGENAME_JOBSERVICE):$(VERSIONTAG) - $(DOCKERRMIMAGE) -f $(DOCKERIMAGENAME_LOG):$(VERSIONTAG) - #- $(DOCKERRMIMAGE) -f registry:2.5.0 - #- $(DOCKERRMIMAGE) -f nginx:1.11.5 +# - $(DOCKERRMIMAGE) -f registry:2.5.0 +# - $(DOCKERRMIMAGE) -f nginx:1.11.5 cleandockercomposefile: - @echo "cleaning $(DOCKERCOMPOSEFILEPATH)/docker-compose.$(VERSIONTAG).yml" - @if [ -f $(DOCKERCOMPOSEFILEPATH)/docker-compose.$(VERSIONTAG).yml ] ; then rm $(DOCKERCOMPOSEFILEPATH)/docker-compose.$(VERSIONTAG).yml ; fi + @echo "cleaning $(DOCKERCOMPOSEFILEPATH)/docker-compose.yml" + @if [ -f $(DOCKERCOMPOSEFILEPATH)/docker-compose.yml ] ; then rm $(DOCKERCOMPOSEFILEPATH)/docker-compose.yml ; fi cleanversiontag: @echo "cleaning version TAG" @@ -360,4 +366,3 @@ clean: @echo " make cleanpackage: remove online and offline install package" all: install -