Подтвердить что ты не робот

Текущая переменная TeamCity в формате MMdd

В TeamCity есть простой способ получить переменную для текущей даты в формате MMdd (например, 0811 за 8 августа)?

В моем google-fu не появились существующие плагины. Я просмотрел плагин, но не установил jdk, который выглядит много времени.

4b9b3361

Ответ 1

Groovy Плагин для TeamCity предоставляет свойства даты начала/времени сборки:

Предоставляет свойства построения:

system.build.start.date/env.BUILD_START_DATE

system.build.start.time/env.BUILD_START_TIME

В этом сообщении в блоге содержатся инструкции по установке/настройке плагина Groovy, а также пример настройки формата даты/времени.

Ответ 2

Это довольно легко сделать с шагом сборки PowerShell (без плагина) с использованием следующего исходного кода:

echo "##teamcity[setParameter name='env.BUILD_START_TIME' value='$([DateTime]::Now)']"

или (для UTC):

echo "##teamcity[setParameter name='env.BUILD_START_TIME' value='$([DateTime]::UtcNow)']"

Это использует функцию TeamCity Service Message, которая позволяет вам взаимодействовать с механизмом сборки во время выполнения, например. задайте параметры сборки.

Затем вы можете ссылаться на этот параметр сборки из других мест в TeamCity, используя синтаксис %env.BUILD_START_TIME%

Преимущество такого подхода заключается в том, что вам не нужно использовать плагин. Недостатком является то, что вам нужно ввести шаг сборки.

Ответ 3

Для агентов сборки на основе Unix я предлагаю следующий пользовательский script как одну из команд сборки:

export current_build_date_format="+%%Y.%%m.%%d"
export current_build_date="$(date $current_build_date_format)"
echo "##teamcity[setParameter name='env.current_build_date' value='$current_build_date']"

Вам нужно сделать знак двойного%, чтобы избежать интерпретации для date допустимый аргумент командной строки FORMAT (см.% Y.% m.% d) как уже существующая переменная TeamCity.

Ответ 4

Вы также можете попробовать Плагин даты сборки. Он генерирует дополнительный var в формате номера сборки, а не для создания свойства.

Ответ 5

Чтобы добавить датированную папку в мою сборку в TeamCity, я добавил следующее к своему пользовательскому script. То, что я застрял, - это знак двойной% в строке даты. D'о

TARGET_DIR=/Users/admin/build/daily
TARGET=$(date "+%%Y-%%m-%%d")

if [ ! -d ${TARGET_DIR} ]; then
  mkdir -vp ${TARGET_DIR}/
fi
mv -v build.dmg ${TARGET_DIR}/build_${TARGET}.dmg