微信小程序自动化部署的全过程

发布网友 发布时间:2025-01-04 00:07

我来回答

1个回答

热心网友 时间:2025-01-10 14:05

微信小程序的自动化部署能够显著简化开发流程,提高开发效率。传统流程包括代码开发、提交代码仓库、使用微信开发者工具上传代码到微信小程序后台、最后提交审核。自动化部署流程则能够开发者的双手,减少繁琐步骤。实现这一目标的关键是依赖miniprogram-ci插件。

miniprogram-ci是从微信开发者工具中提取出的小程序代码编译模块。开发者无需打开微信开发者工具,仅通过miniprogram-ci就能进行代码上传和预览操作。安装miniprogram-ci的方法是通过npm命令:npm install miniprogram-ci --save。这一步完成之后,就可以开始配置微信公众平台。

登录微信公众平台,进入开发-开发管理-开发设置,找到小程序代码上传配置项,生成小程序代码上传密钥,并添加ip白名单。密钥文件可以存放于执行脚本的服务器上,也可以保存在项目中,只要脚本能够访问即可。

接下来编写执行脚本,脚本名称随意,但通常命名为xxx.sh。脚本内容如下:

set -e
while read -r line
do
if [[ $line =~ "version" ]]
then
declare a=${line##*:}
declare b=${a#*\"}
declare version=${b%\"*}
break
fi
done
package.json
echo $version

上述脚本逐行读取package.json文件内容,找到version字段,并获取其对应的值定义一个$version变量。这一过程主要是获取项目的版本号,为后续操作做准备。

yarn
echo "开始编译..."
start1=$(date +%s)
yarn build:mp-weixin
end1=$(date +%s)
take1=$(( end1 - start1 ))
echo "Compile Success:${take1}s"
echo "微信小程序上传..."
start2=$(date +%s)
# upload
miniprogram-ci \
upload \
--pp ./dist/build/mp-weixin \
--pkp ./private.wx3fxxxxxxxx3.key \
--appid wx3fxxxxxxxx3 \
--uv $version \
--threads 1 \
-r 1 \
--enable-es6 true \
--enable-es7 true \
--enable-autoprefixwxss true \
--enable-minify true
end2=$(date +%s)
take2=$(( end2 - start2 ))
echo "Upload Success: ${take2}s"
take3=$(( end2 - start1 ))
echo "Total Time: ${take3}s"

这一段脚本的主要功能是通过miniprogram-ci上传代码。具体参数含义如下:--pp:编译打包产物文件路径;--pkp:微信公众平台生成的私钥文件路径;--appid:小程序的app id;--uv:项目的版本号;--threads:开启线程数;-r:机器人编号。

至此,整个脚本已经基本完成。自动化部署实现主要分为上传脚本、miniprogram-ci插件和密钥文件三部分。

自动化部署实现方式多样。本文主要讲解两种方式。第一种推荐使用jenkins+gitlab+webhook。将脚本和密钥文件放在项目根目录,jenkins安装webhook相关插件,gitlab配置webhook。这样就能实现master分支代码变动触发webhook,进而触发jenkins执行。别忘了在jenkins服务器上全局安装miniprogram-ci插件。当业务需求开发完,代码合并到master分支之后,自动触发webhook,进而触发jenkins执行上传脚本。开发人员只需合并代码到master分支,到小程序后台选择上传的版本提交审核即可。

第二种方式基于本地终端执行。将脚本和密钥文件放在项目根目录,本地安装miniprogram-ci插件,在终端中直接执行脚本即可。

至此,微信小程序自动化部署的具体实现过程就介绍完毕。希望这些信息能够帮助到正在探索自动化部署的开发者们。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com