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

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"

http://www.kler.cn/a/457689.html

相关文章:

  • 【小程序开发】- 小程序版本迭代指南(版本发布教程)
  • 【蓝桥杯比赛-C++组-经典题目汇总】
  • “善弈者”也需妙手,Oclean欧可林:差异化不是说说而已
  • VSCode设置ctrl或alt+mouse(left)跳转
  • 前端路由 Hash 和 History 模式原理对比区别
  • 只谈C++11新特性 - 内联命名空间
  • Flutter 插件开发入门
  • frameworks 之 WMS添加窗口流程
  • 嵌入式开发 的循环实现
  • 牛客周赛 Round 66 E题 小苯的蓄水池(hard)
  • 【电路复习--选择题】
  • 【汇编】关于函数调用过程的若干问题
  • 选择排序cYuyan
  • 破解无人机能源瓶颈:优化调度与智能布局的实践
  • mongdb的简介和使用
  • 面向机器学习的Java库与平台
  • cellphoneDB进行CCI以及可视化
  • TCP网络编程(二)—— 服务器端的编写
  • Upload-labs 靶场(学习)
  • 【Linux】Socket编程-UDP构建自己的C++服务器
  • 3.微服务灰度发布落地实践(组件灰度增强)
  • AI 自动化编程的现状与局限
  • delete,drop,truncate的区别
  • ChatGPT与Postman协作完成接口测试(四)
  • sql注入杂谈(一)--union select
  • Mysql(MGR)和ProxySQL搭建部署-Kubernetes版本