Используя значение из файла и обновляя его с помощью скрипта Linux:

У меня есть скрипт автоматической сборки для моего сервера сборки, который собирает приложения для Android. Как часть этого процесса сборки, мне нужно увеличить два параметра в одном из файлов приложения Android после сборки и зафиксировать этот файл в репозитории Git.

Поэтому я должен построить следующий скрипт bash:

#!/bin/bash
clear
echo "Start of Pull command"
git pull
echo "End of Pull command"
echo "Start of incrementedRelease build"
gradle incrementedRelease
echo "End of incrementedRelease build"
echo "Start of Commit command"
git commit -a -m "======================== Commit to change Manifest Version ======================"
echo "End of Commit command"
echo "Start of Push command"
git push
echo "End of Push command"

Теперь проблема в том, что вместо создания коммита с именем:

Обязательство изменить версию манифеста

Я хочу передать текущую версию приложения.

Ибо я создал version.txt файл, который содержит текущую версию, которая будет выпущена, я хочу, чтобы в процессе сборки он получил значение из этого файла и поместил его как часть имени коммита, а также автоматически обновил этот файл следующей версией для следующий коммит.

1 ответ

Решение

В вашем version.txt поместите его как переменную оболочки, такую ​​как APPVER="version"

Тогда в вашем скрипте bash используйте . /path/to/version.txtзатем экспортируйте переменную со строкой export APPVER

это затем импортирует эту переменную в ваш скрипт сборки и использует ее там, где вы хотите имя, используя переменную $APPVER

Commit to change Manifest $APPVER

в ответ на комментарий

MAJOR=`echo $APPVER| cut -c1-1`
export MAJOR

MINOR=`echo $APPVER | cut -c3-5`
export MINOR


NEWVER=$((MINOR + 1))
export NEWVER


echo APPVER=$MAJOR.$NEWVER > /path/to/version.txt

РЕДАКТИРОВАТЬ: забыл добавить команду экспорта. РЕДАКТИРОВАТЬ: добавил способ приращения... и исправил некоторые ошибки и форматирование

Другие вопросы по тегам