更新 .gitea/workflows/.gitlab-ci.yml

This commit is contained in:
2026-04-11 14:57:07 +08:00
parent b096ac4ee3
commit 892b67d407

View File

@@ -59,20 +59,38 @@ jobs:
- name: Publish ${{ matrix.module }}
working-directory: Assets/${{ matrix.module }}
run: |
echo "开始发布 ${{ matrix.module }}"
echo "📦 开始处理 ${{ matrix.module }}"
# 获取当前版本号
CURRENT_VERSION=$(node -p "require('./package.json').version")
PACKAGE_NAME=$(node -p "require('./package.json').name")
REGISTRY_URL="http://${SERVER_HOST}/npm"
echo "当前版本: $PACKAGE_NAME@$CURRENT_VERSION"
echo "Registry: $REGISTRY_URL"
# 配置 npm
npm config set registry "$REGISTRY_URL"
npm config set "//${SERVER_HOST}/:_authToken" "${AuthToken}"
# 关键:先检查远程是否已存在该版本
echo "🔍 检查远程版本..."
if npm view "$PACKAGE_NAME@$CURRENT_VERSION" --registry="$REGISTRY_URL" version >/dev/null 2>&1; then
echo "⚠️ 版本 $CURRENT_VERSION 已存在,跳过发布"
echo "💡 提示:如需更新,请修改 package.json 中的 version 字段"
exit 0 # 正常退出,不算失败
fi
# 版本不存在,执行发布
echo "🚀 版本 $CURRENT_VERSION 不存在,开始发布..."
if npm publish; then
echo "✅ $PACKAGE_NAME@$CURRENT_VERSION 发布成功"
else
echo "❌ 发布失败(非版本冲突错误)"
exit 1 # 真正的失败,终止 CI
fi
# 获取当前版本
CURRENT_VERSION=$(node -p "require('./package.json').version")
echo "当前版本: $CURRENT_VERSION"
# 配置 npm registry
echo "registry=http://${SERVER_HOST}/npm" > .npmrc
echo "//${SERVER_HOST}/:_authToken=${AuthToken}" >> .npmrc
# 发布
npm publish || echo "发布失败,继续执行"
echo "${{ matrix.module }} 构建完成"
- name: Complete
if: always()