fix version 1

This commit is contained in:
2026-09-22 21:15:34 +08:00
parent 9f86366638
commit d63d7e8b3a
277 changed files with 9959 additions and 1514 deletions

View File

@@ -5,6 +5,8 @@ set -Eeuo pipefail
readonly SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
readonly WORKSPACE_ROOT="$(cd -- "${SCRIPT_DIR}/.." && pwd)"
readonly MODULE_ROOT="${WORKSPACE_ROOT}/module"
# 聚合宿主(全量 / 电商)同样需要构建与生产配置,两者都不在 module/ 下。
readonly PKGS_ROOT="${WORKSPACE_ROOT}/pkgs"
readonly BUILD_ROOT="${WORKSPACE_ROOT}/.builds"
readonly ENTRY_ROOT="${BUILD_ROOT}/.entries"
readonly CONFIG_ROOT="${BUILD_ROOT}/etc"
@@ -25,12 +27,15 @@ export GOARCH=amd64
export CGO_ENABLED=0
modules=()
while IFS= read -r -d '' go_mod; do
modules+=("$(dirname -- "${go_mod}")")
done < <(find "${MODULE_ROOT}" -type f -name go.mod -print0 | sort -z)
for source_root in "${MODULE_ROOT}" "${PKGS_ROOT}"; do
[[ -d "${source_root}" ]] || continue
while IFS= read -r -d '' go_mod; do
modules+=("$(dirname -- "${go_mod}")")
done < <(find "${source_root}" -type f -name go.mod -print0 | sort -z)
done
if (( ${#modules[@]} == 0 )); then
echo "error: no service modules were found under ${MODULE_ROOT}" >&2
echo "error: no service modules were found under ${MODULE_ROOT} or ${PKGS_ROOT}" >&2
exit 1
fi
@@ -45,7 +50,10 @@ trap cleanup EXIT
echo "Building ${#modules[@]} service modules..."
for module_dir in "${modules[@]}"; do
relative_path="${module_dir#"${MODULE_ROOT}/"}"
# 去掉工作区一级目录module/ 或 pkgs/产物名保持原样base-ads、all、ecmall。
relative_path="${module_dir#"${WORKSPACE_ROOT}/"}"
relative_path="${relative_path#module/}"
relative_path="${relative_path#pkgs/}"
artifact_name="${relative_path//\//-}"
output="${BUILD_ROOT}/${artifact_name}"
@@ -93,6 +101,18 @@ mkdir -p "${CONFIG_ROOT}"
config_count=0
for module_dir in "${modules[@]}"; do
if [[ "${module_dir}" == "${PKGS_ROOT}/"* ]]; then
# 聚合入口按 --workspace 选配置,默认工作区为 default生产配置文件名固定为 default_prod.yaml。
# 两个入口同名,按入口名分目录存放,避免相互覆盖。
entry_name="$(basename -- "${module_dir}")"
config_file="${module_dir}/etc/default_prod.yaml"
[[ -f "${config_file}" ]] || continue
mkdir -p "${CONFIG_ROOT}/${entry_name}"
cp -- "${config_file}" "${CONFIG_ROOT}/${entry_name}/default_prod.yaml"
((config_count += 1))
continue
fi
module_name="$(basename -- "${module_dir}")"
config_name="${module_name}_prod.yaml"
config_file="${module_dir}/etc/${config_name}"