В непрерывной интеграции, что является лучшим способом справиться с зависимостями внешних приложений - PullRequest
1 голос
/ 23 сентября 2008

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

Первоначально это было обнаружено с зависимостью от Crystal Reports, поэтому мы пошли и установили Crystal Reports на сервер, чтобы устранить непосредственную проблему. Однако когда мы перемещаем больше приложений на CI-сервер, мы находим больше зависимостей.

Какова лучшая стратегия здесь? Это продолжить установку необходимых приложений на сервере?

Спасибо

Ответы [ 4 ]

4 голосов
/ 23 сентября 2008

Где возможно, сделайте внешние зависимости частью вашей системы сборки. Например, проверьте установщик в вашей системе контроля версий и выполните шаг, который проверяет его и запускает в автоматическом режиме (многие установщики поддерживают режим без действий пользователя, иногда используя командную строку /s).

Таким образом, если вам нужно настроить другую сборочную машину для филиала или просто для нового оборудования, все повторяется.

1 голос
/ 06 января 2009

Если для вашей сборки требуется фактическое приложение для завершения сборки, то вам, вероятно, следует продолжить установку приложения на сервере сборки.

Если вам просто нужны ссылки на dll или сборки из приложения, то мы сделали в моей компании создание устанавливаемых «SDK» ссылок, необходимых для конкретного приложения, и установили их на наших машинах разработки и сборки известные каталоги библиотек, на которые ссылаются наши решения.

На сборочной машине наши шаги перед сборкой устанавливают правильную версию зависимостей, а затем очищают их, когда мы закончим.

Недавно мы перешли на использование виртуальных машин для наших сборочных машин, которые активирует наш процесс сборки. Эти виртуальные машины устанавливают SDK на них как предварительную сборку, а затем после сборки восстанавливаются до состояния моментального снимка. У нас были некоторые зависимости, которые было практически невозможно удалить, поэтому каждый раз это обеспечивало чистую отправную точку.

0 голосов
/ 23 сентября 2008

Я не уверен, правильно ли я следовал ...

Я предполагаю, что ваше приложение зависит от этого внешнего приложения при сборке? В этом случае это должно быть на машине, делающей CI ...

0 голосов
/ 23 сентября 2008

Если вы используете Maven для сборки, вы можете определить свои зависимости в файле pom.xml. Затем они будут автоматически загружены при необходимости.

...