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"
相关推荐
实心儿儿2 分钟前
Linux —— 进程间通信 - system V进程间通信 - 共享内存(1)
linux·运维·服务器
csdn小瓯5 分钟前
三层监控系统设计:从API日志到DevOps健康检查
运维·devops
CC城子5 分钟前
EtherCAT研究之物理层PHY(一)
linux·运维·数据库
yyuuuzz8 分钟前
国际云服务器的技术特点与使用经验
运维·服务器·网络·数据库·云计算·aws
nix.gnehc11 分钟前
Langfuse v3 Docker 部署
运维·人工智能·docker·容器·langfuse
JiaWen技术圈14 分钟前
Web 安全防护 介绍
运维·nginx·安全
蜀道山老天师18 分钟前
Prometheus监控Hadoop集群(实操完整版,含避坑指南)
大数据·linux·运维·hadoop·云原生·prometheus
biubiubiu070621 分钟前
Ubuntu命令练习
linux·运维·ubuntu
sbjdhjd25 分钟前
01| 裸机部署 K8S:从零搭建生产可用集群
运维·经验分享·云原生·kubernetes·开源·kubelet·kubeless
jran-31 分钟前
Docker 容器化技术&docker安装
运维·docker·容器