微信小程序自动化部署-小程序开发-

首页 2024-06-26 15:42:01

本文为您带来了微信applet的相关内容,主要介绍了微信applet自动化部署的相关问题。微信applet的日常开发过程相对繁琐。自动部署过程可以减少此过程。让我们看看。我希望这对你有帮助。

【相关学习推荐:小程序学习教程】

让我们首先整理一下微信小程序的日常开发过程:代码开发后,我们应该首先将代码提交到代码仓库,然后使用微信开发人员工具运行代码,然后通过开发人员工具将代码上传到微信小程序的后台,最后在后台提交审核。

不难看出,这个过程仍然很繁琐。自动化部署过程可以帮助我们减少这个过程,解放解放码农民的手。让我们往下看看如何实现它。

miniprogram-ci

必须依靠微信小程序的自动化部署流程 miniprogram-ci,这个插件。

miniprogram-ci 小程序/小游戏项目代码的编译模块是从微信开发者工具中抽取的。

开发人员可以独立使用小程序开发人员工具而不打开 miniprogram-ci 上传和预览小程序代码。

由于脚本的执行依赖于该插件,我们可以将该插件安装在需要执行脚本的服务器或本地项目中。

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
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.xxxxxxx3xxxxxxx3xxxxxxxxxxxxx.key \
  --appid xxxxxxx3xxxxxxx3xxxxxxxxxxxxx \
  --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"
登录后复制
解释脚本的具体模块
set -e
登录后复制

表示后续的一切 bash 命令的返回 code 如果不是 0.如果脚本立即退出,后续脚本将没有机会执行。说人话是指在脚本执行过程中,如果有错误,立即退出并停止执行。

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)
登录后复制

看到 yarn, 每个人都应该知道,这个脚本依赖于安装项目,并包装和编译小程序项目,包括 start1、end1、take1 这些都是记录时间的,可以忽略。

# upload
miniprogram-ci \
  upload \
  --pp ./dist/build/mp-weixin \
  --pkp ./private.xxxxxxx3xxxxxxx3xxxxxxxxxxxxx.key \
  --appid xxxxxxx3xxxxxxx3xxxxxxxxxxxxx \
  --uv $version \
  --threads 1 \
  -r 1 \
  --enable-es6 true \
  --enable-es7 true \
  --enable-autoprefixwxss true \
  --enable-minify true \
登录后复制

以上脚本是核心。

不难看出,我们是通过脚本的 miniprogram-ci 上传代码。

具体参数含义:

  • --pp:包装产品文件的路径

  • --pkp:微信公共平台生产的私钥文件路径

  • --appid:小程序的 appid

  • --uv:项目版本号

  • --threads:开启线程数

  • -r:机器人编号(这个参数不重要)

到目前为止,整个脚本已经基本完成。

实现自动化部署

主要有三个核心部分:

  • 上传脚本

  • miniprogram-ci 插件

  • 密钥文件

实现自动化部署的方法有很多种,本文主要讲解两种。

第一种方法(推荐)

jenkins gitlab webhook

将脚本和密钥文件直接放在项目根目录中,jenkins 安装 webhook 相关插件,gitlab 配置 webhook,这样就可以了 master 可以触发分支代码的变化 webhook,进而触发 jenkins 执行,别忘了在那里 jenkins 全局安装服务器 miniprogram-ci 插件。

这样,当业务需求开发完成时,代码合并就实现了 master 分支后,自动触发 webhook,进而触发 jenkins 执行上传脚本。

我们开发人员需要做的就是合并代码 master 分支,然后到小程序后台选择上传的版本提交审核。

nice~

第二种方式

基于本地终端的实施,脚本和密钥文件直接放在项目根目录中,本地安装 miniprogram-ci 插件,脚本可以直接执行到终端。

./ci-xxx.sh
登录后复制

下图是自动化部署上传的版本:

【相关学习推荐:小程序学习教程】

以上就是微信小程序自动化部署的详细内容,更多请关注其它相关文章!