gitlab runner 实现 微信小程序自动化部署

微信小程序多人开发的情况下,开发人员都只能在本机上发布体验版,且需要到小程序管理后台自行切换到自己发布的版本,会出现体验版本覆盖的问题。给开发测试带来问题。

miniprogram-ci 的发布,使得开发人员可以通过命令行上传小程序代码,二结合gitlab 的CI,开发人员就可以实现小程序自动发布。

实现目标:

1、代码提交到 master分支即自动上传小程序体验版。

2、每次上传代码自动递增修正版本号

3、提交代码的注释内容作为版本发布时的备注。

实现:

1、在小程序代码中新增一个version.txt内容为当前开发的小程序版本号前2位

复制代码
1.0

2、在小程序管理后台申请代码上传私钥和配置IP白名单

3、在gitlab 服务上全局安装 miniprogram-ci ,如果没有按照nodejs先安装nodejs

4、.gitlab-ci.yml配置

先创建这两个文件

/home/mp-version/p.txt 内容为 1

/home/mp-version/v.txt 内容为 1.0

私钥放到相应的位置

/home/private-key/private.key

复制代码
stages:
  - build
job-prod:
  stage: build
  only:
    - master
  script:
    - node -v
    - npm i
    - p=$(cat /home/mp-version/p.txt)
    - v=$(cat /home/mp-version/v.txt)
    - v1=$(cat ./version.txt)
    - if [ "$v" == "$v1" ]; then 
    - p1=$(expr $p + 1) 
    - echo "patch version add $p1"
    - else 
    - p1=0 
    - echo "patch version rest $p1"
    - fi
    - ud=$(echo $(git log -1 --format=%B) | cut -d ":" -f 2)
    - by=$(git log -1 --format=%an)
    - miniprogram-ci pack-npm --pp $(pwd) --pkp /home/private-key/private.key --appid wxxxxxxxxxxx
    - miniprogram-ci upload --pp $(pwd) --pkp /home/private-key/private.key --appid wxxxxxxxxxxx --pi [node_modules/**/*] --ud "$ud by:$by" --use-project-config true --uv "$v1.$p1"
    - echo $p1 > /home/mp-version/p.txt
    - echo $v1 > /home/mp-version/v.txt
    - echo "upload version: $v1.$p1 desc:$ud"
相关推荐
古法老登瞎折腾4 小时前
大数据智能运维实战(十一):运维 MCP 的工程化——权限、限流、审计与错误处理
java·大数据·运维·spring ai·mcp
琥珀.5 小时前
mysql中json数组转列表查询
linux·运维·服务器
收放扳机5 小时前
多机连线(In-Line)场景下,收放板机“缓存工位”的容量与架构选型参考
人工智能·科技·自动化·制造·pcb工艺
dawnsky.liu5 小时前
在 RHEL 中使用 goose 实现远程主机管理
linux·运维·ai
Linux运维技术栈7 小时前
CVE-2026-91403 高危漏洞修复:Rocky Linux 9 多版本 JDK 环境清理实操
java·linux·运维
虎鲸不是鱼7 小时前
AI 自动化逆向(二十六)「已解出」和「已解析」是两回事
人工智能·自动化·大模型·逆向·ai逆向
云上先途17 小时前
企业 AI 服务部署周期多久,会不会影响原有业务运转?
大数据·运维·人工智能
执伞人ONLY8 小时前
AI知识库自动化知识加工没做对,人工整理永远追不上知识产生
运维·人工智能·自动化
叼烟扛炮8 小时前
Linux 学习笔记(三十三):线程互斥——互斥锁(Mutex)与死锁
linux·运维·服务器·笔记·学习·1024程序员节
无足鸟ICT9 小时前
【RHCA+】who命令(查看已登陆用户)
linux·运维·服务器