diff --git a/pipeline.yml b/pipeline.yml deleted file mode 100644 index 5f017b5..0000000 --- a/pipeline.yml +++ /dev/null @@ -1,133 +0,0 @@ -# ============================================================================= -# MQTTX — 云效流水线配置 (Alibaba Cloud Flow / Codeup) -# ============================================================================= -# 触发方式:推送 master 分支或创建标签时自动运行 -# 构建环境:云效默认 Linux 构建机 (Ubuntu) -# 产出产物:AppImage (Linux) + 更新签名 -# -# 前置准备 — 在云效流水线「变量」中设置: -# TAURI_SIGNING_KEY — Tauri 更新签名私钥 (base64 编码) -# TAURI_SIGNING_PASSWORD — 签名私钥密码 -# UPDATER_ENDPOINT — 更新服务器地址(可选,用于替换默认值) -# ============================================================================= - -stages: - # ── 阶段 1:代码检查与类型校验 ────────────────────────────────────── - lint: - jobs: - lint-job: - steps: - - checkout: {} - - - run: - name: 安装 pnpm - command: npm install -g pnpm - - - run: - name: 安装依赖 - command: pnpm install - - - run: - name: Vue 类型检查 - command: pnpm exec vue-tsc --noEmit - - # ── 阶段 2:Linux 构建 (AppImage) ────────────────────────────────── - build-linux: - needs: [lint] - jobs: - build-linux-job: - steps: - - checkout: {} - - # ---------- 系统依赖 ---------- - - run: - name: 安装 Tauri 系统依赖 - command: | - apt-get update -qq - apt-get install -y -qq \ - libwebkit2gtk-4.1-dev \ - libgtk-3-dev \ - libayatana-appindicator3-dev \ - librsvg2-dev \ - patchelf \ - libssl-dev \ - libsoup-3.0-dev \ - libjavascriptcoregtk-4.1-dev - - # ---------- Rust ---------- - - run: - name: 安装 Rust 工具链 - command: | - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \ - | sh -s -- -y --default-toolchain stable - # 将 cargo 加入全局 PATH 供后续步骤使用 - echo "export PATH=\"$HOME/.cargo/bin:$PATH\"" >> ~/.bashrc - - # ---------- Node.js / pnpm ---------- - - run: - name: 安装 pnpm - command: npm install -g pnpm - - - run: - name: 安装前端依赖 - command: | - source ~/.bashrc - pnpm install - - # ---------- 构建 Tauri (Linux) ---------- - - run: - name: 构建 Tauri 桌面应用 - command: | - source ~/.bashrc - pnpm tauri build 2>&1 - - # ---------- 签名更新包 (可选) ---------- - - run: - name: 签名更新构件 - condition: - - exists: $TAURI_SIGNING_KEY - - exists: $TAURI_SIGNING_PASSWORD - command: | - source ~/.bashrc - BUNDLE_DIR="src-tauri/target/release/bundle" - APPIMAGE=$(ls "$BUNDLE_DIR/appimage/"*.AppImage 2>/dev/null | head -1) - if [ -n "$APPIMAGE" ]; then - echo "签名 AppImage: $APPIMAGE" - echo "$TAURI_SIGNING_KEY" | base64 -d > /tmp/signing.key - pnpm tauri signer sign \ - -k /tmp/signing.key \ - -p "$TAURI_SIGNING_PASSWORD" \ - "$APPIMAGE" - rm -f /tmp/signing.key - fi - - # ---------- 上传构建产物 ---------- - - artifacts: - name: Linux AppImage 安装包 - paths: - - src-tauri/target/release/bundle/appimage/*.AppImage - - src-tauri/target/release/bundle/appimage/*.AppImage.tar.gz - - src-tauri/target/release/bundle/appimage/*.sig - - src-tauri/target/release/bundle/appimage/*.sig.tar.gz - - # ── 阶段 3:发布 (仅标签触发) ────────────────────────────────────── - release: - needs: [build-linux] - condition: - - startsWith: .tag - jobs: - release-job: - steps: - - checkout: {} - - - run: - name: 生成更新 JSON - command: | - VERSION="${GIT_TAG#v}" - echo "{\"version\":\"$VERSION\",\"notes\":\"MQTTX $VERSION 发布\",\"pub_date\":\"$(date -u +%Y-%m-%dT%H:%M:%SZ)\",\"platforms\":{}}" > update.json - echo "更新 JSON 已生成" - - - artifacts: - name: 更新元数据 - paths: - - update.json \ No newline at end of file