Поиск всех конфигураций сборки в зависимости от родительской конфигурации в TeamCity? - PullRequest
2 голосов
/ 11 августа 2011

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

Теперь у вас есть конфигурация A, B, C, D и E, которые зависят от конфигурации Z. Проходит три месяца.

Теперь предположим, что вы хотите переключиться с конфигурации Z на X, возможно, потому что этоКонфигурация, с которой вы тестировали множество разных настроек на разных агентах сборки.И вы хотите внедрить эти изменения.И вы не хотите навязывать время простоя CI для разработчиков только потому, что вы вручную копируете параметры конфигурации вокруг себя, уже успешно протестированные с конфигурацией X.

Таким образом, чтобы переключить конфигурацию зависимости Z на другую конфигурацию X и переключитьсявсе зависимые конфигурации для этой новой конфигурации: как вы узнаете, какие конфигурации все еще зависят от Z?

Спасибо - Стефан

1 Ответ

1 голос
/ 15 августа 2011

Хотя TeamCity хорошо отслеживает зависимости для каждой сборки, мне не известна страница в пользовательском интерфейсе, которая позволяет просматривать список конфигураций сборки, которые зависят от заданной «родительской» конфигурации.Конечно, вы можете просмотреть каждую отдельную конфигурацию, чтобы выяснить это, но это может оказаться невозможным в вашем крупном развертывании.

Если вы хотите получить доступ к этой информации в одном месте или программно, она хранится в TeamCityв файле project-config.xml в вашем\ Config \directory.

<project id="project1">
  <build-type id="bt1" name="Parent">
    ...
  </build-type>

  <build-type id="bt2" name="Child 1">
    ...
    <settings>
      <dependencies>
          <depend-on sourceBuildTypeId="bt1">
          ...
          </depend-on>
      </dependencies>
    </settings>
  </build-type>

  <build-type id="bt3" name="Child 2">
    ...
    <settings>
      <dependencies>
          <depend-on sourceBuildTypeId="bt1">
          ...
          </depend-on>
      </dependencies>
    </settings>
  </build-type>
</project>

В приведенном выше примере вы можете найти любой тип сборки , у которого есть settings / dependencies / depen-on узел с sourceBuildTypeId соответствует вашей родительской конфигурации id .Этот подход должен работать, даже если ваши зависимости охватывают несколько проектов, поскольку идентификаторы типов сборки уникальны при установке TeamCity.

...