diff --git a/.github/workflows/build-package.yml b/.github/workflows/build-package.yml index 85403aacf..94044485b 100644 --- a/.github/workflows/build-package.yml +++ b/.github/workflows/build-package.yml @@ -45,20 +45,11 @@ jobs: - uses: actions/checkout@v2 with: path: src/github.com/goharbor/harbor - - name: Build Dev Base Image - if: contains(steps.changed-files.outputs.modified, 'Dockerfile.base') && contains(github.ref, 'master') + - name: Build Base Image + if: contains(steps.changed-files.outputs.modified, 'Dockerfile.base') || contains(steps.changed-files.outputs.modified, 'VERSION') run: | set -x base_image_tag=$(cat ./VERSION) - echo "Start to build base image for dev ......" - cd src/github.com/goharbor/harbor - sudo make build_base_docker -e BASEIMAGETAG=$base_image_tag -e REGISTRYUSER="${{ secrets.DOCKER_HUB_USERNAME }}" -e REGISTRYPASSWORD="${{ secrets.DOCKER_HUB_PASSWORD }}" -e PUSHBASEIMAGE=yes - - name: Build Release Base Image - if: contains(steps.changed-files.outputs.modified, 'VERSION') - run: | - set -x - base_image_tag=$(cat ./VERSION) - echo "Start to build base image for release $(base_image_tag) ......" cd src/github.com/goharbor/harbor sudo make build_base_docker -e BASEIMAGETAG=$base_image_tag -e REGISTRYUSER="${{ secrets.DOCKER_HUB_USERNAME }}" -e REGISTRYPASSWORD="${{ secrets.DOCKER_HUB_PASSWORD }}" -e PUSHBASEIMAGE=yes - name: Build Package diff --git a/Makefile b/Makefile index cac227377..a2201a534 100644 --- a/Makefile +++ b/Makefile @@ -94,6 +94,7 @@ VERSIONTAG=dev PUSHBASEIMAGE= BASEIMAGETAG=dev BASEIMAGENAMESPACE=goharbor +BUILDBASETARGET=chartserver trivy-adapter core db jobservice log nginx notary-server notary-signer portal prepare redis registry registryctl exporter # for harbor package name PKGVERSIONTAG=dev @@ -411,7 +412,7 @@ build_base_docker: else \ echo "No docker credentials provided, please make sure enough priviledges to access docker hub!" ; \ fi - @for name in chartserver trivy-adapter core db jobservice log nginx notary-server notary-signer portal prepare redis registry registryctl exporter; do \ + @for name in $(BUILDBASETARGET); do \ echo $$name ; \ sleep 30 ; \ $(DOCKERBUILD) --pull --no-cache -f $(MAKEFILEPATH_PHOTON)/$$name/Dockerfile.base -t $(BASEIMAGENAMESPACE)/harbor-$$name-base:$(BASEIMAGETAG) --label base-build-date=$(date +"%Y%m%d") . && \ @@ -421,7 +422,7 @@ build_base_docker: done pull_base_docker: - @for name in chartserver trivy-adapter core db jobservice log nginx notary-server notary-signer portal prepare redis registry registryctl; do \ + @for name in $(BUILDBASETARGET); do \ echo $$name ; \ $(DOCKERPULL) $(BASEIMAGENAMESPACE)/harbor-$$name-base:$(BASEIMAGETAG) ; \ done diff --git a/tests/ci/ut_install.sh b/tests/ci/ut_install.sh index 6152ce647..68c85114b 100755 --- a/tests/ci/ut_install.sh +++ b/tests/ci/ut_install.sh @@ -21,6 +21,7 @@ sudo rm -rf /data/* sudo -E env "PATH=$PATH" make go_check sudo ./tests/hostcfg.sh sudo ./tests/generateCerts.sh +sudo make build_base_docker -e BUILDBASETARGET="db registry prepare" sudo make build -e BUILDTARGET="_build_db _build_registry _build_prepare" docker run --rm -v /:/hostfs:z goharbor/prepare:dev gencert -p /etc/harbor/tls/internal sudo MAKEPATH=$(pwd)/make ./make/prepare