【问题标题】:How do I manage app versions in all code instances?如何在所有代码实例中管理应用版本?
【发布时间】:2020-04-29 21:59:47
【问题描述】:

我在 monorepo 有一个项目。它包含一大堆提到应用程序版本的文件:

./app/app.json <- expo.io
./app/package.json
./api/package.json
./cloud-functions/<15 cloud functions here>/package.json
etc...

我有各种部署脚本,每个脚本都需要版本号。严格来说,每次合并到 git 中的主 dev 分支时,我都必须更新版本。

是否有一种通用的做法或某种东西可以在一个地方管理版本代码?

【问题讨论】:

    标签: version versioning


    【解决方案1】:

    目前我用这个,也许有人会改进它?

    #!/bin/bash
    
    OLD_VERSION=`cat scripts/current-version-code`
    echo $NEW_VERSION
    if [ -z "$1" ]; then
      read -p "Current version is $NEW_VERSION. What is new version? " NEW_VERSION
    else
      NEW_VERSION=$1
    fi
    
    if [ -z "$NEW_VERSION" ]
      then
        echo "No version specified"
        exit 1
    fi
    
    sed -e "/\"version\":.*$/{s//\"version\": \"$NEW_VERSION\",/;:a" -e '$!N;$!ba' -e "}" -i '' 'api-server/package.json'
    sed -e "/\"version\":.*$/{s//\"version\": \"$NEW_VERSION\",/;:a" -e '$!N;$!ba' -e "}" -i '' 'cloud-functions/deleteTransactions/package.json'
    sed -e "/\"version\":.*$/{s//\"version\": \"$NEW_VERSION\",/;:a" -e '$!N;$!ba' -e "}" -i '' 'cloud-functions/emailSend/package.json'
    sed -e "/\"version\":.*$/{s//\"version\": \"$NEW_VERSION\",/;:a" -e '$!N;$!ba' -e "}" -i '' 'cloud-functions/exportUsersBq/package.json'
    sed -e "/\"version\":.*$/{s//\"version\": \"$NEW_VERSION\",/;:a" -e '$!N;$!ba' -e "}" -i '' 'cloud-functions/getWholesalers/package.json'
    sed -e "/\"version\":.*$/{s//\"version\": \"$NEW_VERSION\",/;:a" -e '$!N;$!ba' -e "}" -i '' 'cloud-functions/mongoUpdateByWholesaler/package.json'
    sed -e "/\"version\":.*$/{s//\"version\": \"$NEW_VERSION\",/;:a" -e '$!N;$!ba' -e "}" -i '' 'admin/package.json'
    sed -e "/\"version\":.*$/{s//\"version\": \"$NEW_VERSION\",/;:a" -e '$!N;$!ba' -e "}" -i '' 'expo-app/package.json'
    sed -i ''  "s|$OLD_VERSION|$NEW_VERSION|g" 'expo-app/app.json'
    sed -i ''  "s|$OLD_VERSION|$NEW_VERSION|g" 'scripts/current-version-code'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-06
      • 1970-01-01
      • 2014-07-15
      • 2016-08-13
      • 2021-07-02
      • 2015-07-04
      • 1970-01-01
      • 2016-10-24
      相关资源
      最近更新 更多