打通微信小程序自动化部署最后一步-微信第三方平台

之前在公司搭建了一个前端部署平台(cb-cycle),涉及小程序、网页应用的部署。(流程节点可自定义开发,原则上任意程序都可以实现部署,甚至不至于部署)。

无奈小程序自动化只能到上传代码(miniprogram-ci)这一步,连基本的自动设为体验版都做不到(当然可以手动固定机器人版本默认作为体验版),手工运维占了大部分,导致这小程序自动化部署功能被诟病。

当然如果前行是可以将这个流程跑通的:通过维护管理员账户通过无头浏览器进行自动维护,对我来说属于不到迫不得已不干的事情。

不过好巧工作这么久的知识让我受益匪浅,脑子里蹦出了“微信第三方平台”。

什么是“微信第三方平台”

摘一段官方描述:

微信官方为了帮助服务商开发者可以更加聚焦业务开发,减少在环境搭建、管理工具建设等项目的成本投入,推出“一键搭建第三方平台后端服务、一键部署第三方平台管理工具”的功能,助力服务商更高效地基于第三方平台开展业务。

由官方维护迭代的“第三方平台后端服务”以及名称为【服务商微管家】的“第三方平台管理工具”,以镜像方式和开源的方式进行开放。开发者一键部署即可获得开箱即用的后端服务与服务商 saas 应用(服务商微管家),开发者也可以进行与业务的开发对接。

在该板块中主要介绍该工具的功能、使用指南、开发和维护指南等相关内容。

image.png

简单说:就是可以通过第三方对授权的公众号小程序进行部署维护和开发。

本文不介绍账户注册审核相关信息,如果需要请关注微信第三方文档。 https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/getting_started/how_to_read.html

官方提供了一套基于golang的程序跑起来就可以完成大部分事情了。

https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/product/management-tool-dev.html

流程优势

原有基础流程:

开发 -> 手动上传代码 -> 手动 [体验版测试] -> 手动提交审核 -> 手动发布(灰度?)

现有自动化:对比上一个流程,只是规范了分支和上传。

开发 -> 上传到开发分支 -> 合并到[测试|发布分支] -> webhook触发构建 -> 上传代码  -> 手动 [体验版测试] -> 手动提交审核 -> 手动发布(灰度?)

接入第三方的自动化:完整的从开发到发布的规范,简直完美,就是步骤多了一点

开发 -> 上传到开发分支 -> 合并到[测试|发布分支] -> webhook触发构建 -> 上传草稿代码 -> 设置成模版代码 -> 上传模版代码 ->  [体验版测试] -> 提交审核 -> 发布(灰度?)

image.png

从上传到发布都可以通过第三方平台进行。

应用接入

当拥有第三方平台应用后第一步就是接入了,这个很简单通过官方程序让管理员选择小程序进行接入就好了。

image.png

应用开发

相比旧的开发,这里的改动非常小,只增加了一个ext.json的配置文件。ext.json决定开发时采用的小程序。

ext.json权重比app.josn大,会覆盖或替换。

具体配置我这也不介绍,不是重点,参考即可。
https://developers.weixin.qq.com/miniprogram/dev/devtools/ext.html

应用自动化

对比部署平台来说,需要在原有基础(构建节点、上传节点)再开发三个节点:

1、模版处理节点:设为模版 + 模版上传(到指定小程序,会自动设置为体验版)

2、提审节点(提交到微信审核)

3、发布节点(部署终点)

仔细看其实少了个上传代码到草稿的操作,这个主要依赖于ext的配置,配置开发小程序后上传代码后会自动设置为模版草稿。

对于微信第三方标准模版,只有存在一个使用该模版的小程序并通过了审核,其他同样使用的小程序提审将进入加速审核通道,参考。

https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/operation/thirdparty/template.html#三、标准模板库介绍

模版处理节点

涉及接口

https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/thirdparty-management/template-management/getTemplatedRaftList.html

https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/miniprogram-management/code-management/commit.html

提审节点

https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/miniprogram-management/code-management/submitAudit.html

发布节点

https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/miniprogram-management/code-management/release.html

结尾

舒服。

文章对很多都进行了简化,可以作为参考,具体需要参考文档和自身业务。

不才的博客 https://notbucai.com/