feature/0701 #1

Merged
pywee merged 5 commits from feature/0701 into master 2026-07-06 17:08:04 +08:00
Showing only changes of commit 9293fe4e59 - Show all commits

View File

@@ -52,6 +52,24 @@ steps:
build_list=$(echo "$changed_files" | grep "^apps/" | cut -d/ -f2 | sort -u) build_list=$(echo "$changed_files" | grep "^apps/" | cut -d/ -f2 | sort -u)
fi fi
compose_services=$(docker compose -p "$PROJECT_NAME" config --services)
original_build_list="$build_list"
build_list=""
skipped_list=""
for svc in $original_build_list; do
if echo "$compose_services" | grep -q "^$svc$"; then
build_list="$build_list $svc"
else
skipped_list="$skipped_list $svc"
fi
done
build_list=$(echo "$build_list" | xargs)
skipped_list=$(echo "$skipped_list" | xargs)
if [ -n "$skipped_list" ]; then
echo "以下 apps 变更未在 docker-compose 中定义,已跳过: $skipped_list"
fi
if [ -z "$build_list" ]; then if [ -z "$build_list" ]; then
echo "未命中可构建服务(仅文档或非关键文件改动),跳过构建。" echo "未命中可构建服务(仅文档或非关键文件改动),跳过构建。"
exit 0 exit 0
@@ -64,10 +82,8 @@ steps:
export TRAEFIK_PREFIX="shoptest" export TRAEFIK_PREFIX="shoptest"
for svc in $build_list; do for svc in $build_list; do
if docker compose -p "$PROJECT_NAME" config --services | grep -q "^$svc$"; then
echo ">>>>>> 开始增量构建部署服务: $svc <<<<<<" echo ">>>>>> 开始增量构建部署服务: $svc <<<<<<"
cp /bluetti/frontend_project/bluetti-shop-configs/"$svc"-development.env apps/$svc/.env.development cp /bluetti/frontend_project/bluetti-shop-configs/"$svc"-development.env apps/$svc/.env.development
fi
done done
docker compose --parallel 1 -p "$PROJECT_NAME" up -d --build $build_list docker compose --parallel 1 -p "$PROJECT_NAME" up -d --build $build_list
@@ -150,6 +166,24 @@ steps:
build_list=$(echo "$changed_files" | grep "^apps/" | cut -d/ -f2 | sort -u) build_list=$(echo "$changed_files" | grep "^apps/" | cut -d/ -f2 | sort -u)
fi fi
compose_services=$(docker compose -f "$COMPOSE_FILE" config --services)
original_build_list="$build_list"
build_list=""
skipped_list=""
for svc in $original_build_list; do
if echo "$compose_services" | grep -q "^$svc$"; then
build_list="$build_list $svc"
else
skipped_list="$skipped_list $svc"
fi
done
build_list=$(echo "$build_list" | xargs)
skipped_list=$(echo "$skipped_list" | xargs)
if [ -n "$skipped_list" ]; then
echo "以下 apps 变更未在 docker-compose 中定义,已跳过: $skipped_list"
fi
if [ -z "$build_list" ]; then if [ -z "$build_list" ]; then
echo "未命中可构建服务(仅文档或非关键文件改动),跳过构建。" echo "未命中可构建服务(仅文档或非关键文件改动),跳过构建。"
exit 0 exit 0
@@ -157,11 +191,9 @@ steps:
export BUILD_ENV="test" export BUILD_ENV="test"
for svc in $build_list; do for svc in $build_list; do
if docker compose -f "$COMPOSE_FILE" -p "$PROJECT_NAME_TEST" config --services | grep -q "^$svc$"; then
echo ">>>>>> 构建服务: $svc $PROJECT_NAME_TEST <<<<<<" echo ">>>>>> 构建服务: $svc $PROJECT_NAME_TEST <<<<<<"
cp /bluetti/frontend_project/bluetti-shop-configs/"$svc"-test.env apps/$svc/.env.test cp /bluetti/frontend_project/bluetti-shop-configs/"$svc"-test.env apps/$svc/.env.test
# docker compose -f "$COMPOSE_FILE" -p "$PROJECT_NAME_TEST" up -d "$svc" --build # docker compose -f "$COMPOSE_FILE" -p "$PROJECT_NAME_TEST" up -d "$svc" --build
fi
done done
docker compose --parallel 1 -f "$COMPOSE_FILE" -p "$PROJECT_NAME_TEST" up -d --build $build_list docker compose --parallel 1 -f "$COMPOSE_FILE" -p "$PROJECT_NAME_TEST" up -d --build $build_list
@@ -239,6 +271,24 @@ steps:
build_list=$(echo "$changed_files" | grep "^apps/" | cut -d/ -f2 | sort -u) build_list=$(echo "$changed_files" | grep "^apps/" | cut -d/ -f2 | sort -u)
fi fi
compose_services=$(docker compose -f docker-compose.yml config --services)
original_build_list="$build_list"
build_list=""
skipped_list=""
for svc in $original_build_list; do
if echo "$compose_services" | grep -q "^$svc$"; then
build_list="$build_list $svc"
else
skipped_list="$skipped_list $svc"
fi
done
build_list=$(echo "$build_list" | xargs)
skipped_list=$(echo "$skipped_list" | xargs)
if [ -n "$skipped_list" ]; then
echo "以下 apps 变更未在 docker-compose 中定义,已跳过: $skipped_list"
fi
if [ -z "$build_list" ]; then if [ -z "$build_list" ]; then
echo "未命中可构建服务(仅文档或非关键文件改动),跳过构建。" echo "未命中可构建服务(仅文档或非关键文件改动),跳过构建。"
exit 0 exit 0
@@ -313,19 +363,35 @@ steps:
deploy_list=$(echo "$changed_files" | grep "^apps/" | cut -d/ -f2 | sort -u) deploy_list=$(echo "$changed_files" | grep "^apps/" | cut -d/ -f2 | sort -u)
fi fi
compose_services=$(docker compose -f docker-compose-release.yml config --services)
original_deploy_list="$deploy_list"
deploy_list=""
skipped_list=""
for svc in $original_deploy_list; do
if echo "$compose_services" | grep -q "^$svc$"; then
deploy_list="$deploy_list $svc"
else
skipped_list="$skipped_list $svc"
fi
done
deploy_list=$(echo "$deploy_list" | xargs)
skipped_list=$(echo "$skipped_list" | xargs)
if [ -n "$skipped_list" ]; then
echo "以下 apps 变更未在 docker-compose 中定义,已跳过: $skipped_list"
fi
if [ -z "$deploy_list" ]; then if [ -z "$deploy_list" ]; then
echo "未命中可部署服务(仅文档或非关键文件改动),跳过远程部署。" echo "未命中可部署服务(仅文档或非关键文件改动),跳过远程部署。"
exit 0 exit 0
fi fi
for svc in $deploy_list; do for svc in $deploy_list; do
if docker compose -f docker-compose-release.yml config --services | grep -q "^$svc$"; then
echo ">>>>>> 远程更新服务: $svc <<<<<<" echo ">>>>>> 远程更新服务: $svc <<<<<<"
cp /bluetti/frontend_project/bluetti-shop-configs/"$svc"-production.env apps/$svc/.env.production cp /bluetti/frontend_project/bluetti-shop-configs/"$svc"-production.env apps/$svc/.env.production
docker compose -f docker-compose-release.yml pull "$svc" docker compose -f docker-compose-release.yml pull "$svc"
docker compose -f docker-compose-release.yml up -d --force-recreate "$svc" docker compose -f docker-compose-release.yml up -d --force-recreate "$svc"
echo ">>>>>> 部署完成: $svc 版本号: $COMMIT_SHA, 环境: $BUILD_ENV <<<<<<" echo ">>>>>> 部署完成: $svc 版本号: $COMMIT_SHA, 环境: $BUILD_ENV <<<<<<"
fi
done done
volumes: volumes:
- name: pnpm_store - name: pnpm_store
@@ -398,6 +464,24 @@ steps:
build_list=$(echo "$changed_files" | grep "^apps/" | cut -d/ -f2 | sort -u) build_list=$(echo "$changed_files" | grep "^apps/" | cut -d/ -f2 | sort -u)
fi fi
compose_services=$(docker compose -f docker-compose.yml config --services)
original_build_list="$build_list"
build_list=""
skipped_list=""
for svc in $original_build_list; do
if echo "$compose_services" | grep -q "^$svc$"; then
build_list="$build_list $svc"
else
skipped_list="$skipped_list $svc"
fi
done
build_list=$(echo "$build_list" | xargs)
skipped_list=$(echo "$skipped_list" | xargs)
if [ -n "$skipped_list" ]; then
echo "以下 apps 变更未在 docker-compose 中定义,已跳过: $skipped_list"
fi
if [ -z "$build_list" ]; then if [ -z "$build_list" ]; then
echo "未命中可构建服务(仅文档或非关键文件改动),跳过构建。" echo "未命中可构建服务(仅文档或非关键文件改动),跳过构建。"
exit 0 exit 0
@@ -460,19 +544,35 @@ steps:
deploy_list=$(echo "$changed_files" | grep "^apps/" | cut -d/ -f2 | sort -u) deploy_list=$(echo "$changed_files" | grep "^apps/" | cut -d/ -f2 | sort -u)
fi fi
compose_services=$(docker compose -f docker-compose-prod.yml config --services)
original_deploy_list="$deploy_list"
deploy_list=""
skipped_list=""
for svc in $original_deploy_list; do
if echo "$compose_services" | grep -q "^$svc$"; then
deploy_list="$deploy_list $svc"
else
skipped_list="$skipped_list $svc"
fi
done
deploy_list=$(echo "$deploy_list" | xargs)
skipped_list=$(echo "$skipped_list" | xargs)
if [ -n "$skipped_list" ]; then
echo "以下 apps 变更未在 docker-compose 中定义,已跳过: $skipped_list"
fi
if [ -z "$deploy_list" ]; then if [ -z "$deploy_list" ]; then
echo "未命中可部署服务(仅文档或非关键文件改动),跳过远程部署。" echo "未命中可部署服务(仅文档或非关键文件改动),跳过远程部署。"
exit 0 exit 0
fi fi
for svc in $deploy_list; do for svc in $deploy_list; do
if docker compose -f docker-compose-prod.yml config --services | grep -q "^$svc$"; then
echo ">>>>>> 远程更新服务: $svc <<<<<<" echo ">>>>>> 远程更新服务: $svc <<<<<<"
cp /bluetti/frontend_project/bluetti-shop-configs/"$svc"-production.env apps/$svc/.env.production cp /bluetti/frontend_project/bluetti-shop-configs/"$svc"-production.env apps/$svc/.env.production
docker compose -f docker-compose-prod.yml pull "$svc" docker compose -f docker-compose-prod.yml pull "$svc"
docker compose -f docker-compose-prod.yml up -d --force-recreate "$svc" docker compose -f docker-compose-prod.yml up -d --force-recreate "$svc"
echo ">>>>>> 部署完成: $svc 版本号: $COMMIT_SHA, 环境: $BUILD_ENV <<<<<<" echo ">>>>>> 部署完成: $svc 版本号: $COMMIT_SHA, 环境: $BUILD_ENV <<<<<<"
fi
done done
volumes: volumes: