做为一个前端,在微信小程序的时候,我们应该都遇到过这样的场景:
我们双手正在在键盘上飞舞,像写诗一样认真的编写每一行代码,脑海里想着解耦合、设计模式、抽象和分层的时候。突然之间,
产品经理轻轻拍了拍了你肩膀,假装满怀歉意的跟你说:“我需要一个最新测试环境的体验二维码“
于是你端起了印着“和气生财”的马克杯,喝了口水,开始了一波操作
搞定后,你活动了一下有些许酸疼的手指,切回分支恢复进度,脑海里努力得回忆着刚刚得思路。
这时,测试工程师突然又找你,他也想要一个测试环境的二维码,这时候你又看了看一眼你的马克杯,黯然神伤…
本文将借助于 的持续集成,手把手带你实现一个微信小程序的持续集成环境,从构建、发布、通知实现自动化,帮你告别繁琐重复性的劳动,解决黯然神伤的烦恼。
整个实现流程大致如下:
创建 项目
创建构建计划,配置微信小程序代码上传白名单
配置微信小程序代码上传私钥到环境变量中
配置企业微信的 地址到环境变量中
配置构建计划,分为 4 个步骤(检出、编译、上传新版本、发送通知)
下面我们来一步步实现它。
项目
具有权限的微信小程序账
企业微信机器人 地址
将示例仓库导入至 代码仓库中
此过程需要将构建任务的网络出口 添加至小程序白名单中,你可以在构建计划的「基本信息」中获取出口 。
前往微信小程序的管理后台,点击左侧菜单栏中的 -> 者设置 -> 小程序代码上传 -> 编辑 白名单,添加需要的出口地址。
在「持续集成」中新建构建计划,选择「自定义构建过程」模板。
在配置详情中参考 编写构建过程。
持续集成过程中,我们总会将一些配置(如:账/版本等)信息以环境变量的形式注入到构建过程中。在本实践中需要将以下两个凭据以环境变量的形式添加至构建计划中。
微信小程序代码上传私钥
企业微信机器人 地址
前往微信管理后台: -> 设置 -> 小程序代码上传获取上传私钥与 。
将信息导入至 项目中的 项目设置 -> 者选项 -> 凭据管理 -> 录入凭据 -> 选择 私钥凭据类型,私钥内容粘贴至凭据中。 会对您的私钥进行加密保存,杜绝明文暴露在工程文件中。同时还需要勾选「授权所有持续集成构建计划」。
创建完成后将生成一串凭据 ,将其导入至变量与缓存中。
新建群聊机器人后,机器人的 地址后,以字符串的形式粘贴至「变量与缓存」中。
示例项目的代码是从微信者工具中抽离的关于小程序/小游戏项目代码的编译模块。者可不打开小程序者工具,使用已导入的示例仓库进行小程序代码的上传、预览等操作。
在上文中,我们将小程序上传代码的凭证加到环境变量,通过在 定义 参数即可快速提取凭证。
提取到凭证后,调用了一个 . 脚本。此部分代码涉及到了代码的上传和预览二维码的生成。
原理为直接发送请求,触发 后将发送预览二维码。关于企业微信 的可查看这里企业微信文档。
当我们把代码上传,发布新版本之后,就会往企业微信群上发送一个预览二维码,通知群上的同事进行预览体验
版本和版本说明没有集中管理,目前是读取 文件里的 和 参数。若需要进行版本控制,可以尝试通过 代码仓库的 来管理版本,同时配置通过 来触发构建。