Инструмент для отслеживания и управления версиями и зависимостями компонентов проекта (exe, dll, ssis и т. Д.) - PullRequest
2 голосов
/ 12 ноября 2011

Моя компания переходит на сервисно-ориентированную и модульную структуру разработки. Пока все выглядит отлично и работает хорошо.

Одной из проблем, которые мы можем начать наблюдать, является отслеживание того, какие программы ссылаются на различные Dlls и (WCF) сервисы. По мере обновления dll и сервисов появятся приложения, использующие более старые версии.

Мы находим, что ведение простого тестового списка зависимостей и манифестов продукта (списков компонентов в проекте) работает. Но это не гибкий.

Простой текстовый список нельзя запрашивать и манипулировать для извлечения необходимой информации.

Итак, мне интересно, существуют ли какие-либо инструменты для отслеживания версий файлов и зависимостей между ними?

Если есть несколько инструментов, я бы (конечно) предпочел бесплатное решение с открытым исходным кодом.

В случае, если это имеет значение, мы используем TFS для контроля версий и автоматических сборок.

1 Ответ

1 голос
/ 12 ноября 2011

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

В двух словах вам понадобится:

  1. Списоквсех продуктов (двоичные файлы, MSI, DLL и т. д.), доступных в вашей компании
  2. Список всех возможных конфигураций для продуктов
  3. Доступны версии для любого продукта
  4. Списококружение (подготовка, тестирование UAT, производство и т. д.)

Вам также понадобится место, где вы сможете выбрать продукт определенной версии, его конфигурацию и развернуть его одним нажатием кнопки для выбранногосреда.Этот пользовательский интерфейс также позволяет вам видеть, какой продукт (версия и конфигурация) развернут в какой среде.За кулисами инструмент просто вызовет сценарии, которые вы написали для выполнения пользовательского развертывания.

С точки зрения инструментов вам понадобится довольно много вещей:

  1. CI-сервер (Go, TeamCity, TFS)
  2. Создание сценариев управления, таких как MSBuild, NAnt и т. Д.
  3. Инструменты типа Puppet или CMDB для управления конфигурацией
  4. Сценарии развертывания,как Powershell
...