1

У меня есть скрипт автоматической сборки для моего сервера сборки, который собирает приложения для 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 ответ1

2

в вашем 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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .