From 74fa58f82a2295918de9b0056aadeb26a408b119 Mon Sep 17 00:00:00 2001 From: yuyr Date: Sun, 28 Sep 2025 09:08:18 +0000 Subject: [PATCH] =?UTF-8?q?[#7]=20=E7=BB=9F=E4=B8=80=E6=9E=84=E5=BB=BA?= =?UTF-8?q?=E9=95=9C=E5=83=8F=E8=84=9A=E6=9C=AC=E5=8C=85=E5=90=ABmaster?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/build_images.sh | 26 ++++++++++++++++++++---- src/agent/tests/docker-compose.yml | 2 +- src/agent/tests/scripts/01_bootstrap.sh | 2 +- src/master/README.md | 4 ++-- src/master/scripts/build_images.sh | 4 ++-- src/master/scripts/save_images.sh | 2 +- src/master/tests/docker-compose.yml | 2 +- src/master/tests/scripts/00_e2e_test.sh | 2 +- src/master/tests/scripts/01_up_master.sh | 2 +- 9 files changed, 32 insertions(+), 14 deletions(-) diff --git a/build/build_images.sh b/build/build_images.sh index d716e04..bf712a4 100755 --- a/build/build_images.sh +++ b/build/build_images.sh @@ -21,6 +21,7 @@ EOF } use_intranet=false +build_master=true build_master_offline=false while [[ $# -gt 0 ]]; do @@ -29,7 +30,12 @@ while [[ $# -gt 0 ]]; do use_intranet=true shift ;; + --master) + build_master=true + shift + ;; --master-offline) + build_master=true build_master_offline=true shift ;; @@ -142,11 +148,23 @@ fi echo "" -if [[ "$build_master_offline" == true ]]; then - echo "🏗️ Building master offline image" +if [[ "$build_master" == true ]]; then + echo "" + echo "🔄 Building Master image..." pushd "$master_root" >/dev/null - if ./scripts/build_images.sh --offline --tag argus-master:offline; then - images_built+=("argus-master:offline") + master_args=("--tag" "argus-master:latest") + if [[ "$use_intranet" == true ]]; then + master_args+=("--intranet") + fi + if [[ "$build_master_offline" == true ]]; then + master_args+=("--offline") + fi + if ./scripts/build_images.sh "${master_args[@]}"; then + if [[ "$build_master_offline" == true ]]; then + images_built+=("argus-master:offline") + else + images_built+=("argus-master:latest") + fi else build_failed=true fi diff --git a/src/agent/tests/docker-compose.yml b/src/agent/tests/docker-compose.yml index 618bb7a..e23718f 100644 --- a/src/agent/tests/docker-compose.yml +++ b/src/agent/tests/docker-compose.yml @@ -13,7 +13,7 @@ services: - "ARGUS_BUILD_GID=${ARGUS_BUILD_GID:-2015}" master: - image: argus-master:dev + image: argus-master:latest container_name: argus-master-agent-e2e depends_on: - bind diff --git a/src/agent/tests/scripts/01_bootstrap.sh b/src/agent/tests/scripts/01_bootstrap.sh index afb3d90..b6b9e4f 100755 --- a/src/agent/tests/scripts/01_bootstrap.sh +++ b/src/agent/tests/scripts/01_bootstrap.sh @@ -43,7 +43,7 @@ else echo "[WARN] bind update script missing at $BIND_ROOT/build/update-dns.sh" fi -ensure_image "argus-master:dev" +ensure_image "argus-master:latest" ensure_image "$BIND_IMAGE_TAG" AGENT_BINARY="$AGENT_ROOT/dist/argus-agent" diff --git a/src/master/README.md b/src/master/README.md index 316f324..9d5a231 100644 --- a/src/master/README.md +++ b/src/master/README.md @@ -11,7 +11,7 @@ Argus Master 是基于 Flask + SQLite 的节点管理服务,负责: ```bash cd src/master -./scripts/build_images.sh # 生成 argus-master:dev 镜像 +./scripts/build_images.sh # 生成 argus-master:latest 镜像 ``` 如需离线构建,先在有网环境运行准备脚本: @@ -25,7 +25,7 @@ cd src/master ```bash cd src/master -./scripts/build_images.sh --offline --tag argus-master:dev +./scripts/build_images.sh --offline --tag argus-master:latest ``` 若内网缺少 `python:3.11-slim`,请提前在外网 `docker save` 后通过离线介质 `docker load`。 diff --git a/src/master/scripts/build_images.sh b/src/master/scripts/build_images.sh index 1f2da4b..ebb8060 100755 --- a/src/master/scripts/build_images.sh +++ b/src/master/scripts/build_images.sh @@ -8,14 +8,14 @@ Usage: $0 [--intranet] [--offline] [--tag ] Options: --intranet 使用指定的 PyPI 镜像源(默认清华镜像)。 --offline 完全离线构建,依赖 offline_wheels/ 目录中的离线依赖包。 - --tag 自定义镜像标签,默认 argus-master:dev。 + --tag 自定义镜像标签,默认 argus-master:latest。 USAGE } SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/../../.." && pwd)" MODULE_ROOT="$PROJECT_ROOT/src/master" -IMAGE_TAG="${IMAGE_TAG:-argus-master:dev}" +IMAGE_TAG="${IMAGE_TAG:-argus-master:latest}" DOCKERFILE="src/master/Dockerfile" BUILD_ARGS=() OFFLINE_MODE=0 diff --git a/src/master/scripts/save_images.sh b/src/master/scripts/save_images.sh index 8261ca8..cccfa77 100755 --- a/src/master/scripts/save_images.sh +++ b/src/master/scripts/save_images.sh @@ -8,7 +8,7 @@ usage() { SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" DEFAULT_OUTPUT="$PROJECT_ROOT/images/argus-master-dev.tar" -IMAGE_TAG="${IMAGE_TAG:-argus-master:dev}" +IMAGE_TAG="${IMAGE_TAG:-argus-master:latest}" OUTPUT_PATH="$DEFAULT_OUTPUT" while [[ "$#" -gt 0 ]]; do diff --git a/src/master/tests/docker-compose.yml b/src/master/tests/docker-compose.yml index 7aaecf9..9118d92 100644 --- a/src/master/tests/docker-compose.yml +++ b/src/master/tests/docker-compose.yml @@ -1,6 +1,6 @@ services: master: - image: ${MASTER_IMAGE_TAG:-argus-master:dev} + image: ${MASTER_IMAGE_TAG:-argus-master:latest} container_name: argus-master-e2e environment: - OFFLINE_THRESHOLD_SECONDS=6 diff --git a/src/master/tests/scripts/00_e2e_test.sh b/src/master/tests/scripts/00_e2e_test.sh index 520d3a9..42fb733 100755 --- a/src/master/tests/scripts/00_e2e_test.sh +++ b/src/master/tests/scripts/00_e2e_test.sh @@ -17,7 +17,7 @@ SCRIPTS=( for script in "${SCRIPTS[@]}"; do echo "[TEST] Running $script" - MASTER_IMAGE_TAG="${MASTER_IMAGE_TAG:-argus-master:dev}" "$SCRIPT_DIR/$script" + MASTER_IMAGE_TAG="${MASTER_IMAGE_TAG:-argus-master:latest}" "$SCRIPT_DIR/$script" echo "[TEST] $script completed" echo done diff --git a/src/master/tests/scripts/01_up_master.sh b/src/master/tests/scripts/01_up_master.sh index c66698a..62eb218 100755 --- a/src/master/tests/scripts/01_up_master.sh +++ b/src/master/tests/scripts/01_up_master.sh @@ -44,7 +44,7 @@ fi pushd "$TEST_ROOT" >/dev/null compose down --remove-orphans || true -MASTER_IMAGE_TAG="${MASTER_IMAGE_TAG:-argus-master:dev}" compose up -d +MASTER_IMAGE_TAG="${MASTER_IMAGE_TAG:-argus-master:latest}" compose up -d popd >/dev/null echo "[INFO] Master container is up on http://localhost:31300"