Как мне управлять версиями приложений во всех экземплярах кода? - PullRequest
0 голосов
/ 13 января 2020

У меня есть проект в монорепо. Он содержит целую кучу файлов, в которых упоминается версия приложения:

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

У меня есть различные сценарии развертывания, каждому из которых нужен номер версии. Строго говоря, я должен обновлять версии при каждом слиянии с основной веткой dev в git.

Есть ли распространенная практика или что-то для управления кодом версии в одном месте?

1 Ответ

0 голосов
/ 15 января 2020

Пока что я этим пользуюсь, может кто-нибудь улучшит это?

#!/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'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...