收藏
回答

miniprogram-ci上传小程序时版本号能否默认自增小版本号?

miniprogram-ci工具调用ci.upload方法时,版本号参数是必填的

但是每次上传小程序时,如果还需要人工登录小程序平台去查询一下当前正式版的版本号,就没法做到自动化一键上传了

(我也没找到有哪个方法能获取当前正式版的版本号)

希望miniprogram-ci工具调用ci.upload方法时,版本号参数可以设置为选填,如果不传版本号参数的话,则按照当前正式版的版本号给小版本自动+1即可

或者能增加一个方法用于获取当前正式版的版本号

非常感谢~

回答关注问题邀请回答
收藏

2 个回答

  • 慢慢。
    慢慢。
    2023-02-08

    将版本号维护到 package.json 虽然一种解决方法,但其实还是很无奈。比如说 upload 一个版本,然后产品验收不通过或者其他原因导致这个版本不能提审,需要调整后重新上传,这时候版本就不再是线上版本 +1 的形式,而是 +2 了(无论是 major、minor、还是 patch 版本)。如果官方不提供接口的话,这个版本管理问题还是没有最合适的解决方法。

    2023-02-08
    有用 1
    回复 3
    • 清蒸鱼
      清蒸鱼
      2023-09-26
      你不用+2,就+1。没发布的不需要占用版本号啊。
      2023-09-26
      回复
    • 慢慢。
      慢慢。
      2023-09-28回复清蒸鱼
      你再看看?
      2023-09-28
      回复
    • 清蒸鱼
      清蒸鱼
      2023-10-07回复慢慢。
      这个版本如果不用,就不占版本号,不用跳过的意思。
      2023-10-07
      回复
  • 知了
    知了
    2021-12-02

    你好,我这边自己实现了一套。 可以提供给你参考一下


    updateVersion.js


    安装 npm i semver  包
    


    const semver = require('semver')
    let { version } = require('./package.json')
    const fs = require('fs')
    
    // 先更新小版本
    let patchVersion = semver.inc(version, 'patch')
    
    // 更新以后,进行parse
    let patchVersionObject = semver.parse(patchVersion)
    
    
    // 小版本满10. 就直接更新中版本
    if (patchVersionObject && patchVersionObject.patch > 10) {
      // 更新中版本
      patchVersion = semver.inc(patchVersionObject, 'minor')
    }
    
    
    // 中版本满20,则进位
    if (patchVersionObject && patchVersionObject.minor > 20) {
      patchVersion = semver.inc(patchVersionObject, 'major')
    }
    
    
    function updateVersion () {
      let strem = fs.readFileSync('./package.json').toString()
      // 转换成json
      strem = JSON.parse(strem)
    
    
      strem.version = patchVersion
    
    
      // 写入文件
      fs.writeFileSync('./package.json', JSON.stringify(strem, null, 2))
    
    
      console.log('版本更新成功')
    }
    
    
    /**
     * 根据不同的发布环境,如果是生产环境打包发布,则执行updateVersion()
     */
    
    
    module.exports = updateVersion
    


    下面在你的 miniprogram-ci 的逻辑里面调用一下即可


    微信官方明确说不会提供这个功能,自己实现一下吧


    2021-12-02
    有用 1
    回复 5
    • 知了
      知了
      2021-12-02
      https://juejin.cn/post/7037077907864289293/   这是我掘金的账号地址,也顺便更新了一下这个
      2021-12-02
      回复
    • 喵拉喵
      喵拉喵
      2021-12-15
      感谢回复,不过我们这边情况比较复杂,同一套代码是服务于多个项目的,不太方便记录这个版本号。我试试基于日期格式的版本号方案是否可行
      2021-12-15
      回复
    • 清蒸鱼
      清蒸鱼
      2023-01-09回复喵拉喵
      最终方案是?
      2023-01-09
      回复
    • 清蒸鱼
      清蒸鱼
      2023-01-16
      这个满10、20的是什么规范吗
      2023-01-16
      回复
    • 恭喜發財
      恭喜發財
      2023-07-12回复清蒸鱼
      自己定义的
      2023-07-12
      回复
登录 后发表内容