Ограничить сборку для запуска только в определенном временном интервале в TeamCity

У меня есть сборка с finish build trigger, и я хочу ограничить ее выполнение только в определенном временном интервале (например, с 4 до 5 утра) независимо от finish build trigger, есть предложения?


person MTZ4    schedule 22.06.2015    source источник


Ответы (3)


Другое решение — приостановить настройку сборки. Вы можете приостановить настройку сборки с помощью REST API.

person Alina Mishina    schedule 03.07.2015
comment
Итак, мне нужно реализовать запланированный код, который будет приостанавливать и запускать сборку каждый день? - person MTZ4; 05.07.2015
comment
Да, если вы хотите запускать сборки только в специальном временном окне - когда конфигурация сборки активна. Также вот соответствующий запрос в трекере TeamCity: youtrack.jetbrains.com/issue/TW-17581, пожалуйста, проголосуйте за него. - person Alina Mishina; 06.07.2015
comment
Кроме того, начиная с TeamCity 9.1, триггер запланированной сборки может вести себя как триггер завершенной сборки. У него есть возможность отслеживать сборки в других конфигурациях сборки и запускать сборку, если эти сборки изменяются. Подробнее об этом здесь. - person Alina Mishina; 06.07.2015
comment
Это не то решение, которого я ожидал, но оно лучшее (до сих пор...). Спасибо! - person MTZ4; 07.07.2015

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

Добавив немного логики вокруг вызова, чтобы проверить, находится ли время в требуемом диапазоне, вы сможете достичь того, что вам нужно.

person infojolt    schedule 22.06.2015
comment
Действительно, это сделает работу, спасибо. Я надеялся на встроенное решение teamcity для этого... - person MTZ4; 23.06.2015

Вы можете использовать cron-like выражения для написания триггеров расписания, которые будут запускать вашу сборку в заданное время. Вы можете прочитать спецификации teamcity здесь

Например, если вы хотите запускать цель каждый день в 4:30 утра, вам нужно будет определить ее в следующем синтаксисе.

Seconds         0
Minutes         30
Hours           4
Day-of-month    *
Month           *
Day-of-week     ?
person Biswajit_86    schedule 23.06.2015
comment
Возможно, я не понял вашего решения, но мне не нужно расписание. Мне нужно ограничить другой триггер определенным временным интервалом. - person MTZ4; 23.06.2015