Переменная TeamCity Current Date в формате MMdd - PullRequest
21 голосов
/ 11 августа 2011

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

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

Ответы [ 5 ]

40 голосов
/ 16 сентября 2013

Это довольно легко сделать с помощью шага сборки 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%

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

9 голосов
/ 11 августа 2011

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

Предоставляет свойства сборки:

system.build.start.date / env.BUILD_START_DATE

system.build.start.time / env.BUILD_START_TIME

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

6 голосов
/ 28 апреля 2014

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

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.

1 голос
/ 22 февраля 2013

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

0 голосов
/ 11 февраля 2015

Чтобы добавить устаревшую папку в мою сборку в TeamCity, я добавил следующее в свой пользовательский скрипт.Меня застрял двойной знак% в строке даты.Д'Ох

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...