Taro 自动部署微信+支付宝小程序(附带动态修改支付宝体验版版本号)

背景:使用taro3同时开发 微信小程序 + 支付宝小程序;常规上传方式为:在本地打包完微信使用开发者工具上传;再次打包支付宝使用支付宝开发者工具上传;相对繁琐;所以使用ci机器人配合jenkins达到提交代码自动部署双平台并且发送飞书消息通知

1. 微信小程序自动上传体验版

1.1 安装相关插件依赖

小程序持续集成 借助该文档的plugin-mini-ci插件进行机器人自动部署功能

1.2 微信小程序机器人部署代码配置

打包配置修改

// config/index.js
const CIPluginOpt = {
  // 微信小程序
  weapp: {
    appid: 'appid',
   // 在开放平台下载的密钥文件;放到根目录的路径;见下图
    privateKeyPath: 'private.appid.key'
  },
  // 版本号
  version: '0.0.2',
  // 版本发布描述
  desc: '版本描述'
// ....其他代码
const config = {
  // 其他代码
  plugins:[['@tarojs/plugin-mini-ci', CIPluginOpt], '@tarojs/plugin-html', 'taro-plugin-pinia'],
  }
}

1.3 设置自动上传体验版白名单

添加打包后上传ip白名单
image.png

1.4 配置npm打包+上传命令

   // package.json
 "build:weapp:upload": "taro build --type weapp --upload",

使用npm run build:weapp:upload 即可完成本地打包后成功上传到体验版
image.png

至此微信小程序本地打包自动部署到体验版已经完成![撒花🎉]

2. 支付宝小程序自动上传到体验版

前言:支付宝小程序体验版版本号相对严格(需要本次上传的版本号必须大于上次的版本号)

2.1 安装相关插件依赖(和1相同)

小程序持续集成 借助该文档的plugin-mini-ci插件进行机器人自动部署功能

2.2 修改上传前版本号

2.3 支付宝小程序机器人部署代码配置

打包配置修改

// config/index.js
// 引入package.json内的版本号
import packageData from '../package.json'
const CIPluginOpt = {
  // 微信小程序
  weapp: {
    appid: 'appid',
   // 在开放平台下载的密钥文件;放到根目录的路径;见下图
    privateKeyPath: 'private.appid.key'
  },
  // 支付宝小程序
  alipay: {
    appId: '支付宝小程序appid',
    toolId: '使用工具生成(见2.3.1),
    privateKeyPath: '私钥使用工具生成(见2.3.1)'
  },
  // 版本号(如果是微信小程序就固定002;可以不用更新体验版二维码图片;其他直接读package.json的版本号)
  version: process.argv.includes('weapp') ? '0.0.2' : packageData.version,
  // 版本发布描述
  desc: '版本描述'
// ....其他代码
const config = {
  // 其他代码
  plugins:[['@tarojs/plugin-mini-ci', CIPluginOpt], '@tarojs/plugin-html', 'taro-plugin-pinia'],
  }
}
2.3.1 生成配置需要的 toolId

安装工具
npm install alipay-dev -g
工具初始化配置

  1. 运行 alipaydev key create -w 生成密钥。
    image.png
  2. 运行 alipaydev key upload 自动打开浏览器配置页或直接前往 工具密钥设置 页面,配置工具公钥(第一步中生成的 公钥)以及设置 IP 白名单(可选),设置完成后系统会为您分配一个工具 ID(toolId)。
    image.png

2.4 配置npm打包+上传命令

    "build:alipay:upload": "taro build --type alipay --upload",
  • 没有修改版本号的结果
    image.png
  • 修改大于上次体验版的结果
    image.png

当你不知道该选择哪条路的时候;可能你已经走了好一阵子了~

1.3k 声望
3.6k 粉丝
0 条评论
推荐阅读
Vue3项目配置 eslint + prettier
初衷: 在没有固定的项目模版之前;每次新建项目之后配置代码风格都需要来回粘贴;并且有时候粘贴了也不生效;故总结成文档;方便之后直接使用介绍ESLint 是JavaScript和JSX检查工具prettier 代码格式化工具安装依...

songxianling19924阅读 847

正则表达式实例
收集在业务中经常使用的正则表达式实例,方便以后进行查找,减少工作量。常用正则表达式实例1. 校验基本日期格式 {代码...} {代码...} 2. 校验密码强度密码的强度必须是包含大小写字母和数字的组合,不能使用特殊...

寒青56阅读 7.9k评论 11

JavaScript有用的代码片段和trick
平时工作过程中可以用到的实用代码集棉。判断对象否为空 {代码...} 浮点数取整 {代码...} 注意:前三种方法只适用于32个位整数,对于负数的处理上和Math.floor是不同的。 {代码...} 生成6位数字验证码 {代码...} ...

jenemy46阅读 6k评论 12

从零搭建 Node.js 企业级 Web 服务器(十五):总结与展望
总结截止到本章 “从零搭建 Node.js 企业级 Web 服务器” 主题共计 16 章内容就更新完毕了,回顾第零章曾写道:搭建一个 Node.js 企业级 Web 服务器并非难事,只是必须做好几个关键事项这几件必须做好的关键事项就...

乌柏木66阅读 6.2k评论 16

再也不学AJAX了!(二)使用AJAX ① XMLHttpRequest
「再也不学 AJAX 了」是一个以 AJAX 为主题的系列文章,希望读者通过阅读本系列文章,能够对 AJAX 技术有更加深入的认识和理解,从此能够再也不用专门学习 AJAX。本篇文章为该系列的第二篇,最近更新于 2023 年 1...

libinfs39阅读 6.3k评论 12

封面图
从零搭建 Node.js 企业级 Web 服务器(一):接口与分层
分层规范从本章起,正式进入企业级 Web 服务器核心内容。通常,一块完整的业务逻辑是由视图层、控制层、服务层、模型层共同定义与实现的,如下图:从上至下,抽象层次逐渐加深。从下至上,业务细节逐渐清晰。视图...

乌柏木44阅读 7.4k评论 6

CSS 绘制一只思否猫
欢迎关注我的公众号:前端侦探练习 CSS 有一个比较有趣的方式,就是发挥想象,绘制各式各样的图案,比如来绘制一只思否猫?思否猫,SegmentFault 思否的吉祥物,是一只独一无二、特立独行、热爱自由的(>^ω^&lt...

XboxYan43阅读 3k评论 14

封面图

当你不知道该选择哪条路的时候;可能你已经走了好一阵子了~

1.3k 声望
3.6k 粉丝
宣传栏