开源中国社区团队直播首秀,以分享为名讲述开源中国社区背后的故事”
Zadig,作为一款全面的 DevOps 平台,致力于简化多样化软件交付环境中的发布流程。它集成了多种功能和工具,适配了广泛的操作系统和部署环境,使得团队可以轻松执行持续交付、自动化测试和灰度发布等关键 DevOps 实践,显著提高了软件开发的效率和质量。Zadig 已经成功支持了 Android 和 iOS 应用的自动化发布,不仅在 Kubernetes 构建基础设施上表现出色,也能在 Linux 、 MacOS 和 Windows 主机上完成应用的编译和发布,证明了其跨平台的兼容性和强大功能。
在本文中,我们将深入探讨如何通过 Zadig 实现小程序的自动化发布。Zadig 将自动化能力扩展到了小程序这一特殊应用类型,为无论是传统移动应用还是新兴小程序的开发团队提供了稳定而高效的 DevOps 支持。通过 Zadig,团队可以确保软件交付的每个环节都流畅无阻,实现快速且可靠的小程序发布。
前置工作
申请 APP ID
在微信公众平台申请 APP ID,一般由开发工程师提供。
制作构建镜像
为了使小程序的代码编译、上传和预览等操作更加顺畅,我们推荐使用微信官方提供的 miniprogram-ci 工具。工具详细介绍参见
微信官方文档
。
微信官方文档
。
在构建过程中,为了能够使用 miniprogram-ci 工具,需要准备一个包含该工具的镜像环境,具体过程如下:
1. 制作镜像并推送镜像仓库。Dockerfile 及镜像构建命令参考如下:
根据实际项目依赖情况选择相应的 node 版本。
Dockerfile 参考:
FROM node:14.20.0-buster-slim
RUN apt update &&
apt install curl git -y &&
npm install -g miniprogram-ci --registry=https://registry.npmmirror.com
镜像构建并推送镜像仓库:
$ docker build -t koderover.tencentcloudcr.com/test/node:14.20.0-buster-slim .
$ docker push koderover.tencentcloudcr.com/test/node:14.20.0-buster-slim
2. 在 Zadig 上配置和使用自定义镜像,具体配置参考
自定义镜像管理 | Zadig 文档
自定义镜像管理 | Zadig 文档
Zadig 上配置自定义镜像
管理员配置
新建项目
进入 Zadig 系统,选择
项目
->
新建项目
,填写项目名称,可选择任一项目类型新建项目,并跳过向导。
项目
->
新建项目
,填写项目名称,可选择任一项目类型新建项目,并跳过向导。
准备工作流
管理员为不同角色准备好协作工作流,具体配置参考:
面向角色
|
功能描述
|
工作流名称样例
|
包含步骤
|
研发/测试工程师
|
测试工作流,构建测试版本
|
test-workflow
|
构建测试版本(通用任务)-> IM 通知(代码变更触发)
|
发布工程师
|
发布工作流,上传正式版本
|
release-workflow
|
构建并上传正式版本(通用任务)-> IM 通知
|
测试工作流配置
1. 新建工作流添加「通用任务」,选择小程序的构建镜像、配置代码信息及构建脚本。
选择构建镜像
配置构建预览脚本
构建脚本参考:
#!/bin/bash
set -e
cd ${REPONAME_0}
yarn install
npx gulp -f build/compiler.js buildExample --color # 根据项目实际构建过程修改
miniprogram-ci preview
--appid
--project-path ./example
--private-key-path ./example/private.key
--upload-version $TASK_ID
-r 1 --enable-qrcode true%
--enable-es6 true%
2. 添加通知配置,通知测试工程师进行小程序测试,具体配置参考
工作流通知 | Zadig 文档
。
工作流通知 | Zadig 文档
。
添加通知
3. 添加 Git 触发器,具体配置参考
Git 触发器 | Zadig 文档
。
Git 触发器 | Zadig 文档
。
配置 Git 触发器
发布工作流配置
1. 新建工作流添加「通用任务」,选择小程序的构建镜像、配置代码信息、抽取版本信息作为自定义变量、构建推送脚本。
选择构建镜像
配置构建及推送脚本
构建脚本参考:
#!/bin/bash
set -e
cd ${REPONAME_0}
yarn install
npx gulp -f build/compiler.js buildExample --color # 根据项目实际构建过程修改
miniprogram-ci upload
--appid
--project-path ./example
--private-key-path ./example/private.key
--upload-version $version
--enable-es6 true%
2. 添加通知配置,通知发布工程师正式版本已上传。
添加通知
工程师使用
开发工程师自测调试
小程序开发工程师一般使用本地开发工具即可完成自测调试。
本地开发工具
测试工程师集成验证
研发工程提交代码后,自动触发 test-workflow 执行,执行完成后,测试工程师可以在 IM 上收到通知,通过扫描任务输出中的二维码,即可打开小程序进行测试。
工作流任务详情
工作流任务通知
发布工程师正式发布
测试通过后,由发布工程执行 release-workflow 进行正式版本的构建及推送。
执行 release-workflow
release-workflow 任务详情
成功推送后,前往微信公众平台,选择相应的版本进行提交审核。一旦审核通过,即可进行发布。
小程序提交审核
领先企业都在用
扫码咨询如何落地先进理念
Zadig 在 Github / Zadig 在 Gitee
推荐阅读:
Zadig 推出发布计划模块,发布其实很简单 / DevOps 选型指南:Zadig / 云效 / Coding/Jenkins/GitLab/Argo/Tekton / Jenkins 迁移 Zadig,新项目实施上线效率提升 6 倍 / Zadig vs. Jenkins 详细比对:时代的选择与开发者之选 / ZADIG 专家版倾情上线:一键高效发布,119 元 / 人月起,社区老友享年终福利