部署Yew Apps(基于Trunk)到Firebase的Github Action脚本需包含哪些步骤?
使用Trunk部署Yew应用到Firebase的GitHub Action配置步骤
前提准备
- 本地已验证
trunk build --release能正常生成dist目录下的静态产物 - Firebase控制台已创建项目并启用Hosting服务
- 已获取Firebase服务账号私钥(项目设置→服务账号→生成新私钥),并添加到GitHub仓库Secrets,命名为
FIREBASE_SERVICE_ACCOUNT
GitHub Action 完整配置脚本
创建.github/workflows/deploy.yml文件,内容如下:
name: Deploy Yew App to Firebase Hosting on: push: branches: - main # 替换成你要触发部署的分支 jobs: deploy: runs-on: ubuntu-latest steps: # 1. 检出仓库代码 - name: Checkout code uses: actions/checkout@v4 # 2. 设置Rust环境 - name: Setup Rust toolchain uses: actions-rs/toolchain@v1 with: toolchain: stable override: true # 3. 安装Trunk和Wasm-bindgen - name: Install Trunk & wasm-bindgen run: | cargo install trunk cargo install wasm-bindgen-cli # 4. 构建生产环境Yew应用 - name: Build Yew app with Trunk run: trunk build --release # 5. 设置Node.js环境(Firebase CLI依赖) - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: 18.x # 6. 安装Firebase CLI - name: Install Firebase CLI run: npm install -g firebase-tools # 7. 部署到Firebase Hosting - name: Deploy to Firebase env: FIREBASE_TOKEN: ${{ secrets.FIREBASE_SERVICE_ACCOUNT }} run: | echo "$FIREBASE_TOKEN" > firebase-service-account.json firebase deploy --only hosting --token "$(firebase login:ci --non-interactive --no-localhost --service-account firebase-service-account.json)"
关键步骤说明
- Rust环境配置:Trunk基于Rust开发,必须指定稳定版Rust确保兼容性
- Trunk构建:
--release参数生成优化后的Wasm产物,默认输出到dist目录(如果你的Trunk配置了自定义输出目录,需同步修改后续部署路径) - Firebase认证:通过服务账号密钥生成部署令牌,避免手动登录,适合CI/CD环境
- 部署命令:
--only hosting限定只部署Hosting服务,减少不必要的操作
内容的提问来源于stack exchange,提问作者Bubulux
相关产品推荐
相关产品推荐

