Инструменты пользователя

Инструменты сайта


service:teamcity

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
service:teamcity [05.12.2024 09:43] – [Задать параметр из задачи] viacheslavservice:teamcity [26.03.2025 11:26] (текущий) – [Изменить параметры агента] viacheslav
Строка 6: Строка 6:
  
 ===== Задать параметр из задачи ===== ===== Задать параметр из задачи =====
-Прописать пустой параметр (здесь: version) в задачу. +Сначала нужно прописать пустой параметр (здесь: version) в задачу.\\ 
- +Потом в задаче сделать шаг command line, где
-В задаче сделать шаг command line, где+
 <code bash> <code bash>
 +# Строка "v2.2.231 certified" из последнего коммита, где убраны все символы, кроме цифр, точки и дефиса
 version=$(git log --format=%B -n 1 |grep certified |sed 's#[^0-9\.-]##g') version=$(git log --format=%B -n 1 |grep certified |sed 's#[^0-9\.-]##g')
-echo "##teamcity[setParameter name='version' value '$version']"+# $version в одинарных кавычках здесь интерпретируется 
 +echo "##teamcity[setParameter name='version' value='$version']" 
 +# Заданный параметр можно использовать только в следующих шагах, в этом же шаге %version% не сработает!
 echo "### BUILDING VERSION $version ###" echo "### BUILDING VERSION $version ###"
 </code> </code>
-Заданный параметр можно использовать **только в следующих шагах.** В этом же шаге он не сработает, т. е., ''%%echo "### BUILDING VERSION %version% ###"%%'' версию не покажет. В следующих шагах уже можно ссылаться на этот параметр, например,+В следующих шагах уже можно ссылаться на этот параметр, например,
 <code bash> <code bash>
 curl -ku %nexus_user%:%nexus_pass% -T ./target/platform.war \ curl -ku %nexus_user%:%nexus_pass% -T ./target/platform.war \
Строка 20: Строка 22:
 </code> </code>
 https://stackoverflow.com/questions/20829161/teamcity-using-setparameter-to-pass-information-between-build-steps 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''.
 +
 +Решение: в файле ''<agent home>/conf/buildAgent.properties'' добавить параметр, например,
 +<code bash>
 +nano /opt/app/Teamcity/buildAgent/conf/buildAgent.properties
 +
 +env.LANG=ru_RU.UTF-8
 +</code>
 +Потом перезапустить агента (можно из GUI -> Agents -> [pool]).
 +
 +https://www.jetbrains.com/help/teamcity/9.0/project-and-agent-level-build-parameters.html#agent-level-build-parameters-agentspecific
 +
 +===== Вызов одной задачи из другой с передачей параметров =====
 +<code bash>
 +curl -ku admin:admin -X POST \
 +http://teamcity.example.com:8111/httpAuth/action.html?add2Queue=MyBuildConf&name=<full property name1>&value=<value1>&name=<full property name2>&value=<value2>
 +</code>
 +https://www.jetbrains.com/help/teamcity/accessing-server-by-http.html#Triggering+a+Custom+Build
 +===== Tips & tricks =====
 +==== Использование % в скриптах ====
 +Нужно удваивать.
 +<code bash>
 +version=$(date +'%%Y-%%m-%%d-%%H-%%M-%%S')
 +</code>
 +
 +==== Версия, тэг и описание коммита ====
 +<code bash>
 +#str="v2.2.187 #468350 Add crutches and bicycles"
 +str=$(git log --format=%B -n 1 |grep ^v)
 +read -r tag desc <<< $str
 +version="${tag/v/}"
 +echo "##teamcity[setParameter name='version' value='$version']"
 +echo "### BUILDING VERSION $version ###"
 +echo "### $desc ###"
 +git config --local user.email "worker@example.com"
 +git config --local user.name "Teamcity worker"
 +git tag -a $tag -m "$desc"
 +</code>
 +
service/teamcity.1733391798.txt.gz · Последнее изменение: 05.12.2024 09:43 — viacheslav

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki