chore: 删除 pipeline.yml
This commit is contained in:
-133
@@ -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
|
|
||||||
Reference in New Issue
Block a user