当前位置: 首页 > news >正文

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: buildonly:- masterscript:- 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"
http://www.lryc.cn/news/511676.html

相关文章:

  • Playwright爬虫xpath获取技巧
  • 总结TCP/IP四层模型
  • netcat和nmap的区别
  • MinIO服务器文件复制(Windows环境Linux环境)
  • 【机器学习】【朴素贝叶斯分类器】从理论到实践:朴素贝叶斯分类器在垃圾短信过滤中的应用
  • 无监督学习算法
  • 【Compose multiplatform教程17】【组件】BoxWithConstraints组件
  • 银河麒麟操作系统安装达梦数据库(超详细)
  • Spring源码_05_IOC容器启动细节
  • 科大讯飞在线语音合成(流式版)python版
  • 常见搜索算法汇总
  • vue 中 ref 详解
  • 探索开源项目 kernel:技术的基石与无限可能
  • C 实现植物大战僵尸(二)
  • Vivado - TCL 命令(DPU脚本、v++命令、impl策略)
  • 【JDBC】数据库连接的艺术:深入解析数据库连接池、Apache-DBUtils与BasicDAO
  • hadoop-common的下载位置分享
  • 【机器学习】SVM支持向量机(一)
  • Spring Boot介绍、入门案例、环境准备、POM文件解读
  • 基于Spring Boot + Vue3实现的在线商品竞拍管理系统源码+文档
  • LeetCode--排序算法(堆排序、归并排序、快速排序)
  • 华诺星空 Java 开发工程师笔试题 - 解析
  • QT:一个TCP客户端自动连接的测试模型
  • 关于启动vue项目,出现:Error [ERR_MODULE_NOT_FOUND]: Cannot find module ‘xxx‘此类错误
  • 电路元件与电路基本定理
  • 指针之矢:C 语言内存幽境的精准飞梭
  • uniapp下载打开实现方案,支持安卓ios和h5,下载文件到指定目录,安卓文件管理内可查看到
  • 免费干净!付费软件的平替款!
  • 软路由系统 iStoreOS 中部署 Minecraft 服务器
  • 第 29 章 - ES 源码篇 - 网络 IO 模型及其实现概述