使用 GitHub Actions 为 Taro 项目添加持续集成

2020/5/21 11:27:22

本文主要是介绍使用 GitHub Actions 为 Taro 项目添加持续集成,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

准备

首先安装 miniprogram-ci

npm install miniprogram-ci -D
复制代码

这是微信官方提供的上传工具,文档戳这里,感觉写得不够详细。

根据文档,下载小程序的上传密钥,把密钥内容保存到项目的 GitHub Secrets 里,命名为 MINI_UPLOAD_PRIVATE_KEY

注意,需要关闭 IP 白名单,因为上传将从 GitHub 的服务器发起,IP 是会变的。

另外,把小程序的 APPID 也保存到 Secrets,命名为 MINI_APPID

GitHub Actions 配置

新建 .github/workflows/build.yaml,内容如下:

name: build

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
    - uses: actions/setup-node@v1
      with:
        node-version: ${{ matrix.node-version }}
    # 安装依赖
    - name: install
      run: npm i
    # 构建
    - name: build
      run: npm run build:weapp
    # 我们把上传密钥保存到了 secrets.MINI_UPLOAD_PRIVATE_KEY
    # 但是 miniprogram-ci 只接受密钥文件路径作为参数
    # 所以这里创建一个临时的密钥文件 private.key
    - name: create private key file
      run: echo "$MINI_UPLOAD_PRIVATE_KEY" > private.key
      env:
        MINI_UPLOAD_PRIVATE_KEY: ${{ secrets.MINI_UPLOAD_PRIVATE_KEY }}
    # 获取 package.json 里的 version 字段,上传时用作小程序的版本号
    - name: get package version
      id: package-version
      uses: martinbeentjes/npm-get-version-action@master
    # 上传
    - name: upload
      run: npx miniprogram-ci upload --pp ./ --pkp ./private.key --appid ${{ secrets.MINI_APPID }} --uv ${{ steps.package-version.outputs.current-version}}
复制代码

这样就完成了。代码 pushmaster 分支时,会触发构建和上传流程。上传完成后,在小程序后台的版本管理中可以看到,开发者为ci机器人

另外,可以把 badge 添加到 README.md 里。

其他

IP 白名单

关于 GitHub Actions 服务器的 IP 范围,这里是官方文档。

小程序版本号

在微信开发者工具中上传的时候,版本号只能使用字母/数字/点,但使用 miniprogram-ci 时没有这个限制。



这篇关于使用 GitHub Actions 为 Taro 项目添加持续集成的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程