====== Teamcity ======
Система CI/CD фирмы Jetbrains.
[[https://www.jetbrains.com/ru-ru/teamcity/tutorials/#generalVideo|Tutorials]]\\
[[https://www.youtube.com/watch?v=zqi4fDF-S60|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"
https://stackoverflow.com/questions/20829161/teamcity-using-setparameter-to-pass-information-between-build-steps
===== Изменить параметры агента =====
Проблема - проект собирается с неверными региональными настройками ''ru_RU.CP1251'', хотя в ''~/.bashrc'' у серверного юзера прописано ''ru_RU.UTF-8''. В агенте Тимсити в параметрах в переменных окружения прописано ''LANG=ru_RU.CP1251''.
Решение: в файле ''/conf/buildAgent.properties'' добавить параметр, например,
nano /opt/app/Teamcity/buildAgent/conf/buildAgent.properties
env.LANG=ru_RU.UTF-8
Потом перезапустить агента (можно из GUI -> Agents -> [pool]).
https://www.jetbrains.com/help/teamcity/9.0/project-and-agent-level-build-parameters.html#agent-level-build-parameters-agentspecific