code-push打包脚本

#!/bin/bash

# ======= 可配置参数 =======
APP_NAME="sunoAi"                 # CodePush App 名称
DEPLOYMENT="Staging"                 # CodePush 环境:Staging / Production
BUNDLE_DIR="../codepush/bundle"      # 输出目录
ENTRY_FILE="index.js"               # RN 入口文件
PLATFORM="ios"                      # 平台
# ===========================

# 支持通过参数传入版本号
if [ -n "$1" ]; then
  VERSION="$1"
else
  # 若未传参,则提示输入
  read -p "🔢 请输入版本号 (例如 4.7.20): " VERSION
  if [ -z "$VERSION" ]; then
    echo "❌ 版本号不能为空"
    exit 1
  fi
fi

# 清理旧 bundle
rm -rf $BUNDLE_DIR
mkdir -p $BUNDLE_DIR

echo "📦 开始打包 React Native Bundle..."
npx react-native bundle \
  --entry-file $ENTRY_FILE \
  --platform $PLATFORM \
  --dev false \
  --bundle-output $BUNDLE_DIR/main.jsbundle \
  --assets-dest $BUNDLE_DIR \
  --sourcemap-output $BUNDLE_DIR/main.jsbundle.map

if [ $? -ne 0 ]; then
  echo "❌ 打包失败,请检查错误信息"
  exit 1
fi

echo "🚀 开始发布 CodePush 更新..."
code-push release \
  $APP_NAME \
  $BUNDLE_DIR \
  $VERSION \
  -d $DEPLOYMENT \
  --description "iOS $VERSION 自动发布包"

if [ $? -ne 0 ]; then
  echo "❌ 发布失败,请检查 CodePush 配置"
  exit 1
fi

echo "✅ CodePush 发布完成!"
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容