50 lines
1.3 KiB
Bash
Executable File
50 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
echo "========================================="
|
|
echo " Momentry Studio CI/CD Pipeline"
|
|
echo "========================================="
|
|
|
|
# 1. 檢查依賴
|
|
echo ""
|
|
echo "📋 Step 1: 檢查依賴..."
|
|
node -v || { echo "❌ Node.js 未安裝"; exit 1; }
|
|
npm -v || { echo "❌ npm 未安裝"; exit 1; }
|
|
rustc --version || { echo "❌ Rust 未安裝"; exit 1; }
|
|
cargo --version || { echo "❌ Cargo 未安裝"; exit 1; }
|
|
echo "✅ 依賴檢查通過"
|
|
|
|
# 2. 安裝前端依賴
|
|
echo ""
|
|
echo "📦 Step 2: 安裝前端依賴..."
|
|
npm install --silent
|
|
echo "✅ 前端依賴安裝完成"
|
|
|
|
# 3. 編譯前端
|
|
echo ""
|
|
echo "🔨 Step 3: 編譯前端..."
|
|
npm run build
|
|
echo "✅ 前端編譯完成"
|
|
|
|
# 4. 編譯 Rust 後端
|
|
echo ""
|
|
echo "🦀 Step 4: 編譯 Rust 後端..."
|
|
cargo build --manifest-path src-tauri/Cargo.toml --release
|
|
echo "✅ Rust 後端編譯完成"
|
|
|
|
# 5. 執行 Tauri 打包
|
|
echo ""
|
|
echo "📱 Step 5: 打包桌面應用程式..."
|
|
cargo tauri build
|
|
echo "✅ 桌面應用程式打包完成"
|
|
|
|
# 6. 檢查輸出
|
|
echo ""
|
|
echo "📂 Step 6: 檢查輸出..."
|
|
ls -lh src-tauri/target/release/bundle/dmg/*.dmg 2>/dev/null || echo "找不到 DMG"
|
|
|
|
echo ""
|
|
echo "========================================="
|
|
echo " ✅ CI/CD Pipeline 完成"
|
|
echo "========================================="
|