Files
momentry_studio/ci-cd.sh

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 "========================================="