В TFS 2017 вы можете выполнить все фазы на одном агенте? - PullRequest
0 голосов
/ 14 сентября 2018

Мы используем TFS 2017 с обновлением 3 для CI и CD. Наш сборочный сервер имеет двух агентов. На данный момент у нас есть только несколько автоматических выпусков, но мы работаем над добавлением новых. Типичный выпуск имеет 3 среды, и каждая среда имеет X фаз для логического разделения / группировки действий. Например:

  • Фаза 1 - Замена токенов (загрузка артефактов и замена токенов)
  • Этап 2 - развертывание базы данных (пропускает загрузку артефактов, использует выходные данные этапа 1 и развертывает базу данных)
  • Этап 3 - развертывание службы (пропускает загрузку артефактов, использует выходные данные этапа 1 и развертывает службу)

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

Произошло то, что релиз 1 был запущен, а когда он находился в фазе 3, релиз 2 был поставлен в очередь. Релиз 2 начал Фазу 1 на Агенте 2, потому что Агент 1 использовался Релизом 1. Когда Релиз 2 добрался до Фазы 2, Агент 1 теперь был свободен, поэтому он выполнил Фазы 2 и 3 на Агенте 1. Это привело к Фазам 2 и 3 Выпуск 2 работает из папки, в которой выполнялся выпуск для предыдущей среды, что приводит к копированию неправильных настроек в целевую среду. Надеюсь, это понятно. По сути настройки QA были скопированы в PROD.

Я полагал, что все фазы среды начинаются и заканчиваются на одном и том же агенте.

Итак, чтобы достичь «Сродства к агенту», мой единственный вариант - использовать 1 фазу? Я буду скучать по логическому разделению шагов. Я нигде не вижу, как я могу это контролировать.

Заранее спасибо за помощь.

1 Ответ

0 голосов
/ 14 сентября 2018

Фазы не должны зависеть от выхода предыдущих фаз.Используйте одну фазу.

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

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