Переменная текущей даты TeamCity в формате MMdd

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

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

23
задан Youngjae 27 November 2019 в 00:49
поделиться

1 ответ

Если Вы только хотите иметь короткую команду удара на шаге сборки, просто используйте как ниже.

echo "##teamcity[setParameter name='build.timestamp' value='$(date +%%m%%d)']"

(дважды % символ является для TeamCity собственным правилом Escape использовать % символ)

Это установит значение параметра MMdd прямо после выполнения во время времени выполнения, настолько очень полезного для помещения в любой шаг сборки. Затем можно получить значение параметра позже.

Примечание, которое необходимо создать build.timestamp параметр во-первых к проекту TeamCity.

шаг вперед А, я сделал простой сценарий удара, чтобы иметь формат даты удара метка времени. Этот сценарий установит метку времени на поддерживаемый формат даты и времени любого удара и название параметра к TeamCity.

name=""  # TeamCity parameter name
format="%Y-%m-%dT%H:%M:%S%z"  # ISO8601 format by default
result=""  # a TeamCity parameter value to be set

for ARGUMENT in "$@"
do
    KEY=$(echo "$ARGUMENT" | cut -f1 -d=)
    VALUE=$(echo "$ARGUMENT" | cut -f2 -d=)

    case "$KEY" in
            name)              name=${VALUE} ;;
            format)     format=${VALUE} ;;
            *)
    esac
done

result=$(date "+$format")

echo "##teamcity[setParameter name='$name' value='$result']"

Ниже использования установит метку времени формата ISO8601 на build.timestamp параметр.

./teamcity_datetime.sh name=build.timestamp

, Если Вы хотите установить только MMdd, выполнение могло бы быть как ниже.

./teamcity_datetime.sh name=build.timestamp format="%%m%%d"
0
ответ дан 29 November 2019 в 01:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: