fix: prefer native domestic installer downloads
CI / Client installer (macos-latest) (push) Canceled after 0s
CI / Client installer (ubuntu-latest) (push) Canceled after 0s
CI / Client installer (windows-latest) (push) Canceled after 0s
CI / test (22) (push) Canceled after 0s
CI / test (24) (push) Canceled after 0s
CI / release-smoke (push) Canceled after 0s

This commit is contained in:
2026-08-18 17:12:20 +00:00
parent a08a2c1a96
commit 3b7d6a5a24
10 changed files with 270 additions and 40 deletions
+17 -17
View File
@@ -5,7 +5,7 @@ project_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
domain="approval.justconn.top"
public_base_url="https://${domain}"
gateway_url="${public_base_url}/mcp"
download_base_url="${public_base_url}/downloads/dingmcp"
public_download_base_url="${public_base_url}/downloads/dingmcp"
gitea_repo="gitea-admin/dingMCP"
release_dir="${project_root}/release"
web_base="/var/www/${domain}"
@@ -28,7 +28,7 @@ done
cd "${project_root}"
release_version="$(node -p "require('./package.json').version")"
release_tag="v${release_version}"
download_mirror_base_url="https://git.justconn.top/${gitea_repo}/releases/download/${release_tag}"
gitea_release_base_url="https://git.justconn.top/${gitea_repo}/releases/download/${release_tag}"
if [[ "$(git branch --show-current)" != "main" ]] || ! git diff --quiet || ! git diff --cached --quiet; then
echo "正式部署只能从无未提交改动的 main 分支执行。" >&2
exit 1
@@ -62,14 +62,14 @@ npm run runtime:verify
echo "[2/8] 生成包含钉钉 OA 与薪福通的发行包"
npm --cache "${npm_cache}" run release:build -- \
--gateway-url "${gateway_url}" \
--download-base-url "${download_base_url}" \
--download-mirror-base-url "${download_mirror_base_url}" \
--download-base-url "${gitea_release_base_url}" \
--download-mirror-base-url "${public_download_base_url}" \
--created-at "${release_created_at}" \
--out release
npm run test-bundle:build -- \
--release-dir release \
--bundle release/dingmcp-test-bundle.tar.gz \
--bundle-url "${download_base_url}/dingmcp-test-bundle.tar.gz" \
--bundle-url "${public_download_base_url}/dingmcp-test-bundle.tar.gz" \
--prompt release/agent-test-install.md
(cd "${release_dir}" && sha256sum -c SHA256SUMS)
npm run release:verify -- --release-dir release
@@ -90,7 +90,7 @@ missing_mirror_assets=()
mirror_check_file="$(mktemp)"
for asset in "${mirror_assets[@]}"; do
asset_name="$(basename "${asset}")"
if curl --fail --silent --location "${download_mirror_base_url}/${asset_name}" -o "${mirror_check_file}" 2>/dev/null; then
if curl --fail --silent --location "${gitea_release_base_url}/${asset_name}" -o "${mirror_check_file}" 2>/dev/null; then
if [[ "$(sha256sum "${mirror_check_file}" | cut -d' ' -f1)" != "$(sha256sum "${asset}" | cut -d' ' -f1)" ]]; then
echo "Gitea 已存在同版本但内容不同的发布物:${asset_name};请提升版本号后重新发布。" >&2
exit 1
@@ -104,7 +104,7 @@ if ((${#missing_mirror_assets[@]} > 0)); then
fi
for asset in "${mirror_assets[@]}"; do
asset_name="$(basename "${asset}")"
curl --fail --silent --show-error --location "${download_mirror_base_url}/${asset_name}" -o "${mirror_check_file}"
curl --fail --silent --show-error --location "${gitea_release_base_url}/${asset_name}" -o "${mirror_check_file}"
[[ "$(sha256sum "${mirror_check_file}" | cut -d' ' -f1)" == "$(sha256sum "${asset}" | cut -d' ' -f1)" ]] || {
echo "Gitea 备用发布物校验失败:${asset_name}" >&2
exit 1
@@ -162,16 +162,16 @@ curl --fail --silent --show-error --retry 10 --retry-delay 1 --retry-all-errors
"${public_base_url}/healthz" >/dev/null
curl --fail --silent --show-error \
"${public_base_url}/.well-known/oauth-protected-resource/mcp" >/dev/null
curl --fail --silent --show-error "${download_base_url}/install.md" >/dev/null
curl --fail --silent --show-error "${download_base_url}/manifest.json" >/dev/null
curl --fail --silent --show-error "${download_base_url}/manifest.sig" >/dev/null
curl --fail --silent --show-error "${download_base_url}/dingtalk-approval-installer.mjs" >/dev/null
curl --fail --silent --show-error "${download_base_url}/release-signing-public.pem" >/dev/null
curl --fail --silent --show-error --location "${download_mirror_base_url}/manifest.json" >/dev/null
curl --fail --silent --show-error --location "${download_mirror_base_url}/manifest.sig" >/dev/null
curl --fail --silent --show-error "${public_download_base_url}/install.md" >/dev/null
curl --fail --silent --show-error "${public_download_base_url}/manifest.json" >/dev/null
curl --fail --silent --show-error "${public_download_base_url}/manifest.sig" >/dev/null
curl --fail --silent --show-error "${public_download_base_url}/dingtalk-approval-installer.mjs" >/dev/null
curl --fail --silent --show-error "${public_download_base_url}/release-signing-public.pem" >/dev/null
curl --fail --silent --show-error --location "${gitea_release_base_url}/manifest.json" >/dev/null
curl --fail --silent --show-error --location "${gitea_release_base_url}/manifest.sig" >/dev/null
echo "部署完成。"
echo "MCP:${gateway_url}"
echo "用户安装链接:${download_base_url}/install.md"
echo "备用安装链接:${download_mirror_base_url}/install.md"
echo "黑盒测试提示词:${download_base_url}/agent-test-install.md"
echo "用户安装链接:${public_download_base_url}/install.md"
echo "国内静态发布源:${gitea_release_base_url}/install.md"
echo "黑盒测试提示词:${public_download_base_url}/agent-test-install.md"