Система CI/CD фирмы Jetbrains.
Tutorials
CI/CD with JetBrains TeamCity (TechWorld with Nana)
Сначала нужно прописать пустой параметр (здесь: version) в задачу.
Потом в задаче сделать шаг command line, где
# Строка "v2.2.231 certified" из последнего коммита, где убраны все символы, кроме цифр, точки и дефиса version=$(git log --format=%B -n 1 |grep certified |sed 's#[^0-9\.-]##g') # $version в одинарных кавычках здесь интерпретируется echo "##teamcity[setParameter name='version' value='$version']" # Заданный параметр можно использовать только в следующих шагах, в этом же шаге %version% не сработает! echo "### BUILDING VERSION $version ###"
В следующих шагах уже можно ссылаться на этот параметр, например,
curl -ku %nexus_user%:%nexus_pass% -T ./target/platform.war \ "https://nexus.int.example.com/repository/project-maven-lib/company/platform/%version%/platform-%version%.war"
Проблема - проект собирается с неверными региональными настройками ru_RU.CP1251
, хотя в ~/.bashrc
у серверного юзера прописано ru_RU.UTF-8
. В агенте Тимсити в параметрах в переменных окружения прописано LANG=ru_RU.CP1251
.
Решение: в файле <agent home>/conf/buildAgent.properties
добавить параметр, например,
nano /opt/app/Teamcity/buildAgent/conf/buildAgent.properties env.LANG=ru_RU.UTF-8
Потом перезапустить агента (можно из GUI → Agents → [pool]).