乐趣区

GitHub-Actions和mpci助力微信小程序持续集成

使用 GitHub Actionsmp-ciTaro项目添加持续集成,让开发飞上天。

mp-ci

mp-ci是微信小程序 (游戏) 发布助手, 支持预览和上传。可以直接接入开发流程中,提高研发效率。

基于官方 miniprogram-ci 封装,比它的老大哥 mini-deploy 好了很多倍,再也不需要安装开发者工具,也不用考虑登录、操作系统的问题。

  • 自动读取appidsetting
  • 上传信息(版本和备注)自动生成
  • 美化执行结果

更多说明直接访问 mp-ci。

准备工作

下载私钥

使用前需要使用小程序管理员身份访问 ” 微信公众平台 - 开发 - 开发设置 ” 后下载代码上传密钥,并配置 IP 白名单。

这里需要关闭 IP 白名单,因为无法确定 GitHub 服务器的 IP 范围。

设置私钥到 GitHub

mp-ci是通过文件形式接受私钥的,但是把私钥直接放到 GitHub 上显然是不安全的。

这里我们使用 GitHubSecrets来存储私钥内容,然后在执行时再创建私钥文件。

打开仓库的 Settings/Secrets 页面设置接口,假设我们存储的名字是UPLOAD_PRIVATE_KEY

GitHub Actions 配置

新建 .github/workflows/build.yaml 文件。

也可以在 Actions 一栏,选择 Node.js 或者set up a workflow yourself

使用以下内容填充:

name: MP CI

on:
  push:
    branches: [master]
  pull_request:
    branches: [master]

jobs:
  build:

    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [10.x]

    steps:
    - uses: actions/checkout@v2
    - name: Use Node.js ${{matrix.node-version}}
      uses: actions/setup-node@v1
      with:
        node-version: ${{matrix.node-version}}

    - name: Install Dependencies
      run: npm i

    - name: Build weapp
      run: npm run build:weapp

    # 从 secrets.UPLOAD_PRIVATE_KEY 生成私钥文件
    # see Project/Settings/Secrets
    - name: Generate private key for upload
      run: echo "$UPLOAD_PRIVATE_KEY" > private.key
      env:
        UPLOAD_PRIVATE_KEY: ${{secrets.UPLOAD_PRIVATE_KEY}}
    # 上传代码
    - name: Upload to WeChat
      run: npx mp-ci upload ./ --pkp=./private.key --no-test

结果

退出移动版