更新 .gitea/workflows/.gitlab-ci.yml
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user