From 69797c30f27fafdc63048cbdf984405807143183 Mon Sep 17 00:00:00 2001 From: yhua Date: Mon, 24 Oct 2016 14:06:23 +0800 Subject: [PATCH] fix pushimage, update .gitignore, add DEVFLAG --- .gitignore | 21 +++++++++++---------- Makefile | 36 +++++++++++++++++++++++------------- make/photon/Makefile | 33 +++++++++++++++++++-------------- make/ubuntu/Makefile | 21 +++++++++++++-------- 4 files changed, 66 insertions(+), 45 deletions(-) diff --git a/.gitignore b/.gitignore index 13f454021..db3b37678 100644 --- a/.gitignore +++ b/.gitignore @@ -1,13 +1,14 @@ harbor -Deploy/config/registry/config.yml -Deploy/config/ui/env -Deploy/config/ui/app.conf -Deploy/config/db/env -Deploy/config/jobservice/env -Deploy/config/nginx/nginx.conf -Deploy/config/nginx/cert/* -Deploy/ui/harbor_ui -Deploy/jobservice/harbor_jobservice -ui/ui +make/common/config/registry/config.yml +make/common/config/ui/env +make/common/config/ui/app.conf +make/common/config/db/env +make/common/config/jobservice/env +make/common/config/nginx/nginx.conf +make/common/config/nginx/cert/* +make/dev/ui/harbor_ui +make/dev//jobservice/harbor_jobservice +src/ui/ui +src/jobservice/jobservice *.pyc jobservice/test diff --git a/Makefile b/Makefile index 66195ba66..88f06ca79 100644 --- a/Makefile +++ b/Makefile @@ -28,7 +28,6 @@ # for example: make package_online -e \ # REGISTRYSERVER=reg-bj.eng.vmware.com \ # REGISTRYPROJECTNAME=harborrelease -# note**: DONT add "/" on end of REGISTRYSERVER. # # package_offline: # prepare offline install package @@ -62,6 +61,9 @@ # note**: If commit new code to github, the git commit TAG will \ # change. Better use this commond clean previous images and \ # files with specific TAG. +# By default DEVFLAG=true, if you want to release new version of Harbor, \ +# should setting the flag to false. +# make XXXX -e DEVFLAG=flase SHELL := /bin/bash BUILDPATH=$(CURDIR) @@ -75,6 +77,7 @@ BASEIMAGE=photon COMPILETAG=compile_normal REGISTRYSERVER= REGISTRYPROJECTNAME=vmware +DEVFLAG=true # docker parameters DOCKERCMD=$(shell which docker) @@ -128,10 +131,10 @@ DOCKERFILEPATH_DB=$(DOCKERFILEPATH_COMMON)/db DOCKERFILENAME_DB=Dockerfile # docker image name -DOCKERIMAGENAME_UI=$(REGISTRYPROJECTNAME)/harbor-ui -DOCKERIMAGENAME_JOBSERVICE=$(REGISTRYPROJECTNAME)/harbor-jobservice -DOCKERIMAGENAME_LOG=$(REGISTRYPROJECTNAME)/harbor-log -DOCKERIMAGENAME_DB=$(REGISTRYPROJECTNAME)/harbor-db +DOCKERIMAGENAME_UI=vmware/harbor-ui +DOCKERIMAGENAME_JOBSERVICE=vmware/harbor-jobservice +DOCKERIMAGENAME_LOG=vmware/harbor-log +DOCKERIMAGENAME_DB=vmware/harbor-db # docker-compose files @@ -143,7 +146,12 @@ VERSIONFILEPATH=$(SRCPATH)/ui/views/sections VERSIONFILENAME=header-content.htm GITCMD=$(shell which git) GITTAG=$(GITCMD) describe --tags -VERSIONTAG=$(shell $(GITTAG)) +ifeq ($(DEVFLAG), true) + VERSIONTAG=dev +else + VERSIONTAG=$(shell $(GITTAG)) +endif + SEDCMD=$(shell which sed) # package @@ -209,10 +217,10 @@ build_common: prepare version $(DOCKERPULL) nginx:1.9 build_photon: build_common - make -f $(MAKEFILEPATH_PHOTON)/Makefile build + make -f $(MAKEFILEPATH_PHOTON)/Makefile build -e DEVFLAG=$(DEVFLAG) build_ubuntu: build_common - make -f $(MAKEFILEPATH_UBUNTU)/Makefile build + make -f $(MAKEFILEPATH_UBUNTU)/Makefile build -e DEVFLAG=$(DEVFLAG) build: build_$(BASEIMAGE) @@ -230,8 +238,10 @@ install: compile build modify_composefile package_online: modify_composefile @echo "packing online package ..." @cp -r make $(HARBORPKG) - @$(SEDCMD) -i 's/image\: vmware/image\: $(REGISTRYSERVER)\/$(REGISTRYPROJECTNAME)/' $(HARBORPKG)/docker-compose.$(VERSIONTAG).yml - + @if [ -n "$(REGISTRYSERVER)" ] ; then \ + $(SEDCMD) -i 's/image\: vmware/image\: $(REGISTRYSERVER)\/$(REGISTRYPROJECTNAME)/' \ + $(HARBORPKG)/docker-compose.$(VERSIONTAG).yml ; \ + fi @cp LICENSE $(HARBORPKG)/LICENSE @cp NOTICE $(HARBORPKG)/NOTICE @$(TARCMD) -zcvf harbor-online-installer-$(VERSIONTAG).tgz \ @@ -274,10 +284,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) \ diff --git a/make/photon/Makefile b/make/photon/Makefile index ad4bd8487..81fac2acd 100644 --- a/make/photon/Makefile +++ b/make/photon/Makefile @@ -2,17 +2,18 @@ # # Targets: # -# build: build harbor photon images +# build: build harbor ubuntu images # clean: clean ui and jobservice harbor images # common SHELL := /bin/bash BUILDPATH=$(CURDIR) -DEPLOYPATH=$(BUILDPATH)/make -DEPLOYDEVPATH=$(DEPLOYPATH)/dev +MAKEPATH=$(BUILDPATH)/make +MAKEDEVPATH=$(MAKEPATH)/dev SRCPATH=./src TOOLSPATH=$(BUILDPATH)/tools CHECKENVCMD=checkenv.sh +DEVFLAG=true # docker parameters DOCKERCMD=$(shell which docker) @@ -22,14 +23,14 @@ DOCKERIMASES=$(DOCKERCMD) images # binary UISOURCECODE=$(SRCPATH)/ui -UIBINARYPATH=$(DEPLOYDEVPATH)/ui +UIBINARYPATH=$(MAKEDEVPATH)/ui UIBINARYNAME=harbor_ui JOBSERVICESOURCECODE=$(SRCPATH)/jobservice -JOBSERVICEBINARYPATH=$(DEPLOYDEVPATH)/jobservice +JOBSERVICEBINARYPATH=$(MAKEDEVPATH)/jobservice JOBSERVICEBINARYNAME=harbor_jobservice -# photon dockerfile -DOCKERFILEPATH=$(DEPLOYPATH)/photon +# ubuntu dockerfile +DOCKERFILEPATH=$(MAKEPATH)/ubuntu DOCKERFILEPATH_UI=$(DOCKERFILEPATH)/ui DOCKERFILENAME_UI=Dockerfile DOCKERIMAGENAME_UI=vmware/harbor-ui @@ -45,26 +46,30 @@ VERSIONFILEPATH=$(SRCPATH)/views/sections VERSIONFILENAME=header-content.htm GITCMD=$(shell which git) GITTAG=$(GITCMD) describe --tags -VERSIONTAG=$(shell $(GITTAG)) +ifeq ($(DEVFLAG), true) + VERSIONTAG=dev +else + VERSIONTAG=$(shell $(GITTAG)) +endif check_environment: - @$(TOOLSPATH)/$(CHECKENVCMD) + @$(MAKEPATH)/$(CHECKENVCMD) -build: - @echo "building ui container for photon..." +build: + @echo "building ui container for ubuntu..." $(DOCKERBUILD) -f $(DOCKERFILEPATH_UI)/$(DOCKERFILENAME_UI) -t $(DOCKERIMAGENAME_UI):$(VERSIONTAG) . @echo "Done." - @echo "building jobservice container for photon..." + @echo "building jobservice container for ubuntu..." $(DOCKERBUILD) -f $(DOCKERFILEPATH_JOBSERVICE)/$(DOCKERFILENAME_JOBSERVICE) -t $(DOCKERIMAGENAME_JOBSERVICE):$(VERSIONTAG) . @echo "Done." - @echo "building log container for photon..." + @echo "building log container for ubuntu..." $(DOCKERBUILD) -f $(DOCKERFILEPATH_LOG)/$(DOCKERFILENAME_LOG) -t $(DOCKERIMAGENAME_LOG):$(VERSIONTAG) . @echo "Done." cleanimage: - @echo "cleaning image for photon..." + @echo "cleaning image for ubuntu..." - $(DOCKERRMIMAGE) -f $(DOCKERIMAGENAME_UI):$(VERSIONTAG) - $(DOCKERRMIMAGE) -f $(DOCKERIMAGENAME_JOBSERVICE):$(VERSIONTAG) - $(DOCKERRMIMAGE) -f $(DOCKERIMAGENAME_LOG):$(VERSIONTAG) diff --git a/make/ubuntu/Makefile b/make/ubuntu/Makefile index 7a8e7a655..81fac2acd 100644 --- a/make/ubuntu/Makefile +++ b/make/ubuntu/Makefile @@ -8,11 +8,12 @@ # common SHELL := /bin/bash BUILDPATH=$(CURDIR) -DEPLOYPATH=$(BUILDPATH)/make -DEPLOYDEVPATH=$(DEPLOYPATH)/dev +MAKEPATH=$(BUILDPATH)/make +MAKEDEVPATH=$(MAKEPATH)/dev SRCPATH=./src TOOLSPATH=$(BUILDPATH)/tools CHECKENVCMD=checkenv.sh +DEVFLAG=true # docker parameters DOCKERCMD=$(shell which docker) @@ -22,14 +23,14 @@ DOCKERIMASES=$(DOCKERCMD) images # binary UISOURCECODE=$(SRCPATH)/ui -UIBINARYPATH=$(DEPLOYDEVPATH)/ui +UIBINARYPATH=$(MAKEDEVPATH)/ui UIBINARYNAME=harbor_ui JOBSERVICESOURCECODE=$(SRCPATH)/jobservice -JOBSERVICEBINARYPATH=$(DEPLOYDEVPATH)/jobservice +JOBSERVICEBINARYPATH=$(MAKEDEVPATH)/jobservice JOBSERVICEBINARYNAME=harbor_jobservice # ubuntu dockerfile -DOCKERFILEPATH=$(DEPLOYPATH)/ubuntu +DOCKERFILEPATH=$(MAKEPATH)/ubuntu DOCKERFILEPATH_UI=$(DOCKERFILEPATH)/ui DOCKERFILENAME_UI=Dockerfile DOCKERIMAGENAME_UI=vmware/harbor-ui @@ -45,12 +46,16 @@ VERSIONFILEPATH=$(SRCPATH)/views/sections VERSIONFILENAME=header-content.htm GITCMD=$(shell which git) GITTAG=$(GITCMD) describe --tags -VERSIONTAG=$(shell $(GITTAG)) +ifeq ($(DEVFLAG), true) + VERSIONTAG=dev +else + VERSIONTAG=$(shell $(GITTAG)) +endif check_environment: - @$(TOOLSPATH)/$(CHECKENVCMD) + @$(MAKEPATH)/$(CHECKENVCMD) -build: +build: @echo "building ui container for ubuntu..." $(DOCKERBUILD) -f $(DOCKERFILEPATH_UI)/$(DOCKERFILENAME_UI) -t $(DOCKERIMAGENAME_UI):$(VERSIONTAG) . @echo "Done."