Loading README.md +5 −0 Original line number Diff line number Diff line Loading @@ -16,8 +16,11 @@ export HARBOR_PROJECT=harbor.csst.nao:10443/csst/ make build make push make clean ``` 说明:`make clean` 会清理本次构建的业务镜像、dangling images、builder cache,以及其他未使用镜像;适合在推送完成后回收本地磁盘空间。 部署/更新集群(`ENV` 用于选择 `deploy_configs/<env>/inventory.ini`): ```bash Loading Loading @@ -73,6 +76,7 @@ make help make pull make build make push make clean make all ``` Loading @@ -95,6 +99,7 @@ make ansible-down 说明: - `make pull` 只负责从 `required-images.txt` 拉取第三方镜像,不依赖 `BUILD_NUMBER/HARBOR_PROJECT`。 - `make push` 会把镜像推送到仓库,镜像 tag 使用 `BUILD_NUMBER`(默认 `latest`)。 - `make clean` 会统一清理本地构建镜像、dangling images、builder cache,以及其他未使用镜像。 - `make ansible-*` 主要依赖 `ENV` 选择 inventory;同时会把 `BUILD_NUMBER`(镜像 tag,默认 `latest`)与 `HARBOR_PROJECT`(可选,镜像仓库前缀,如 `harbor.csst.nao:10443/csst/`)作为 Ansible extra vars 传入,用于决定 docker compose 使用的镜像 tag/前缀。 底层执行的命令形式为: Loading docker-celery-3.0.5/Makefile +12 −5 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ BUILD_NUMBER ?= latest HARBOR_PROJECT ?= SKIP_JS9 ?= 1 DOCKER_BUILD_PROGRESS ?= plain PIP_INDEX_URL ?= https://pypi.tuna.tsinghua.edu.cn/simple/ PIP_EXTRA_INDEX_URL ?= https://mirrors.bfsu.edu.cn/pypi/web/simple PIP_TRUSTED_HOST ?= Loading @@ -29,6 +30,7 @@ ANSIBLE_EXTRA_VARS += -e harbor_project=$(HARBOR_PROJECT) endif API_GATEWAY_BUILD_ARGS := --build-arg PIP_DEFAULT_TIMEOUT=$(PIP_DEFAULT_TIMEOUT) --build-arg PIP_RETRIES=$(PIP_RETRIES) DOCKER_BUILD_FLAGS := --pull --no-cache --progress=$(DOCKER_BUILD_PROGRESS) ifneq ($(strip $(PIP_INDEX_URL)),) API_GATEWAY_BUILD_ARGS += --build-arg PIP_INDEX_URL=$(PIP_INDEX_URL) endif Loading @@ -48,7 +50,7 @@ help: @echo " make pull - Pull all required official third-party images" @echo " make build - Pull, retag third-party images, and build custom images" @echo " make push - Push all prepared images to the specified Harbor registry" @echo " make clean - Remove all custom built images (Airflow, API Gateway, Portal)" @echo " make clean - Remove custom images, unused images, and build cache" @echo " make build SKIP_JS9=0 - Build with JS9 image (optional)" @echo " make viewer-test - Build and run js9-service locally with ../data mounted (optional)" @echo " make all - Execute clean, pull, build, and push sequentially" Loading Loading @@ -98,7 +100,7 @@ build: count=$$((count+1)); \ done; \ echo "[$$(($$total+1))/$${total_imgs}] Building Airflow Custom Image ($(TARGET_AIRFLOW))..."; \ docker build --pull --no-cache -q -t $(TARGET_AIRFLOW) .; \ docker build $(DOCKER_BUILD_FLAGS) -t $(TARGET_AIRFLOW) .; \ echo "[$$(($$total+2))/$${total_imgs}] Building API Gateway Image ($(TARGET_API_GATEWAY))..."; \ if [ -d "../external/csst-dfs-client" ]; then \ mkdir -p ./api_gateway/csst-dfs-client; \ Loading @@ -108,16 +110,16 @@ build: mkdir -p ./api_gateway/ccds; \ rsync -a --delete --exclude ".git" --exclude "__pycache__" ../external/ccds/ ./api_gateway/ccds/; \ fi; \ docker build --pull --no-cache -q $(API_GATEWAY_BUILD_ARGS) -t $(TARGET_API_GATEWAY) ./api_gateway; \ docker build $(DOCKER_BUILD_FLAGS) $(API_GATEWAY_BUILD_ARGS) -t $(TARGET_API_GATEWAY) ./api_gateway; \ echo "[$$(($$total+3))/$${total_imgs}] Building Task Portal Image ($(TARGET_TASK_PORTAL)) with BUILD_NUMBER=$(BUILD_NUMBER)..."; \ docker build --pull --no-cache -q --build-arg VITE_BUILD_NUMBER=$(BUILD_NUMBER) --build-arg VITE_BUILD_TIME="$(shell date '+%Y-%m-%d %H:%M:%S')" -t $(TARGET_TASK_PORTAL) ./frontend_vue; \ docker build $(DOCKER_BUILD_FLAGS) --build-arg VITE_BUILD_NUMBER=$(BUILD_NUMBER) --build-arg VITE_BUILD_TIME="$(shell date '+%Y-%m-%d %H:%M:%S')" -t $(TARGET_TASK_PORTAL) ./frontend_vue; \ if [ "$(SKIP_JS9)" != "1" ]; then \ echo "[$$(($$total+4))/$${total_imgs}] Building JS9 Image ($(TARGET_JS9))..."; \ if [ -d "../external/js9" ]; then \ mkdir -p ./external/js9; \ rsync -a --delete --exclude ".git" --exclude "__pycache__" ../external/js9/ ./external/js9/; \ fi; \ docker build --pull --no-cache -q -t $(TARGET_JS9) -f ./js9_service/Dockerfile .; \ docker build $(DOCKER_BUILD_FLAGS) -t $(TARGET_JS9) -f ./js9_service/Dockerfile .; \ fi; \ echo "All $${total_imgs} images prepared successfully." Loading Loading @@ -149,6 +151,11 @@ all: clean pull build push clean: @echo "Cleaning up custom-built images..." @docker images | grep -E 'csst-airflow|api-gateway|task-portal|js9' | awk '{print $$3}' | xargs -r docker rmi -f || true @echo "Cleaning dangling docker images and build cache..." @docker image prune -f >/dev/null 2>&1 || true @docker builder prune -f >/dev/null 2>&1 || true @echo "Cleaning other unused docker images..." @docker image prune -af || true @echo "Clean completed." viewer-test: Loading Loading
README.md +5 −0 Original line number Diff line number Diff line Loading @@ -16,8 +16,11 @@ export HARBOR_PROJECT=harbor.csst.nao:10443/csst/ make build make push make clean ``` 说明:`make clean` 会清理本次构建的业务镜像、dangling images、builder cache,以及其他未使用镜像;适合在推送完成后回收本地磁盘空间。 部署/更新集群(`ENV` 用于选择 `deploy_configs/<env>/inventory.ini`): ```bash Loading Loading @@ -73,6 +76,7 @@ make help make pull make build make push make clean make all ``` Loading @@ -95,6 +99,7 @@ make ansible-down 说明: - `make pull` 只负责从 `required-images.txt` 拉取第三方镜像,不依赖 `BUILD_NUMBER/HARBOR_PROJECT`。 - `make push` 会把镜像推送到仓库,镜像 tag 使用 `BUILD_NUMBER`(默认 `latest`)。 - `make clean` 会统一清理本地构建镜像、dangling images、builder cache,以及其他未使用镜像。 - `make ansible-*` 主要依赖 `ENV` 选择 inventory;同时会把 `BUILD_NUMBER`(镜像 tag,默认 `latest`)与 `HARBOR_PROJECT`(可选,镜像仓库前缀,如 `harbor.csst.nao:10443/csst/`)作为 Ansible extra vars 传入,用于决定 docker compose 使用的镜像 tag/前缀。 底层执行的命令形式为: Loading
docker-celery-3.0.5/Makefile +12 −5 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ BUILD_NUMBER ?= latest HARBOR_PROJECT ?= SKIP_JS9 ?= 1 DOCKER_BUILD_PROGRESS ?= plain PIP_INDEX_URL ?= https://pypi.tuna.tsinghua.edu.cn/simple/ PIP_EXTRA_INDEX_URL ?= https://mirrors.bfsu.edu.cn/pypi/web/simple PIP_TRUSTED_HOST ?= Loading @@ -29,6 +30,7 @@ ANSIBLE_EXTRA_VARS += -e harbor_project=$(HARBOR_PROJECT) endif API_GATEWAY_BUILD_ARGS := --build-arg PIP_DEFAULT_TIMEOUT=$(PIP_DEFAULT_TIMEOUT) --build-arg PIP_RETRIES=$(PIP_RETRIES) DOCKER_BUILD_FLAGS := --pull --no-cache --progress=$(DOCKER_BUILD_PROGRESS) ifneq ($(strip $(PIP_INDEX_URL)),) API_GATEWAY_BUILD_ARGS += --build-arg PIP_INDEX_URL=$(PIP_INDEX_URL) endif Loading @@ -48,7 +50,7 @@ help: @echo " make pull - Pull all required official third-party images" @echo " make build - Pull, retag third-party images, and build custom images" @echo " make push - Push all prepared images to the specified Harbor registry" @echo " make clean - Remove all custom built images (Airflow, API Gateway, Portal)" @echo " make clean - Remove custom images, unused images, and build cache" @echo " make build SKIP_JS9=0 - Build with JS9 image (optional)" @echo " make viewer-test - Build and run js9-service locally with ../data mounted (optional)" @echo " make all - Execute clean, pull, build, and push sequentially" Loading Loading @@ -98,7 +100,7 @@ build: count=$$((count+1)); \ done; \ echo "[$$(($$total+1))/$${total_imgs}] Building Airflow Custom Image ($(TARGET_AIRFLOW))..."; \ docker build --pull --no-cache -q -t $(TARGET_AIRFLOW) .; \ docker build $(DOCKER_BUILD_FLAGS) -t $(TARGET_AIRFLOW) .; \ echo "[$$(($$total+2))/$${total_imgs}] Building API Gateway Image ($(TARGET_API_GATEWAY))..."; \ if [ -d "../external/csst-dfs-client" ]; then \ mkdir -p ./api_gateway/csst-dfs-client; \ Loading @@ -108,16 +110,16 @@ build: mkdir -p ./api_gateway/ccds; \ rsync -a --delete --exclude ".git" --exclude "__pycache__" ../external/ccds/ ./api_gateway/ccds/; \ fi; \ docker build --pull --no-cache -q $(API_GATEWAY_BUILD_ARGS) -t $(TARGET_API_GATEWAY) ./api_gateway; \ docker build $(DOCKER_BUILD_FLAGS) $(API_GATEWAY_BUILD_ARGS) -t $(TARGET_API_GATEWAY) ./api_gateway; \ echo "[$$(($$total+3))/$${total_imgs}] Building Task Portal Image ($(TARGET_TASK_PORTAL)) with BUILD_NUMBER=$(BUILD_NUMBER)..."; \ docker build --pull --no-cache -q --build-arg VITE_BUILD_NUMBER=$(BUILD_NUMBER) --build-arg VITE_BUILD_TIME="$(shell date '+%Y-%m-%d %H:%M:%S')" -t $(TARGET_TASK_PORTAL) ./frontend_vue; \ docker build $(DOCKER_BUILD_FLAGS) --build-arg VITE_BUILD_NUMBER=$(BUILD_NUMBER) --build-arg VITE_BUILD_TIME="$(shell date '+%Y-%m-%d %H:%M:%S')" -t $(TARGET_TASK_PORTAL) ./frontend_vue; \ if [ "$(SKIP_JS9)" != "1" ]; then \ echo "[$$(($$total+4))/$${total_imgs}] Building JS9 Image ($(TARGET_JS9))..."; \ if [ -d "../external/js9" ]; then \ mkdir -p ./external/js9; \ rsync -a --delete --exclude ".git" --exclude "__pycache__" ../external/js9/ ./external/js9/; \ fi; \ docker build --pull --no-cache -q -t $(TARGET_JS9) -f ./js9_service/Dockerfile .; \ docker build $(DOCKER_BUILD_FLAGS) -t $(TARGET_JS9) -f ./js9_service/Dockerfile .; \ fi; \ echo "All $${total_imgs} images prepared successfully." Loading Loading @@ -149,6 +151,11 @@ all: clean pull build push clean: @echo "Cleaning up custom-built images..." @docker images | grep -E 'csst-airflow|api-gateway|task-portal|js9' | awk '{print $$3}' | xargs -r docker rmi -f || true @echo "Cleaning dangling docker images and build cache..." @docker image prune -f >/dev/null 2>&1 || true @docker builder prune -f >/dev/null 2>&1 || true @echo "Cleaning other unused docker images..." @docker image prune -af || true @echo "Clean completed." viewer-test: Loading