Хранение сторонних DLL в системе контроля версий (Azure DevOps / TFS / Git) - PullRequest
2 голосов
/ 06 марта 2020

У нас есть собственный сервер TFS (Azure DevOps 2019) и множество решений Visual Studio, некоторые из которых ссылаются на различные сторонние библиотеки DLL (не более десятка). Это обычно приобретаемые библиотеки, поэтому они не существуют в виде пакетов NuGet. Мы храним эти библиотеки DLL в системе управления исходным кодом, внутри ветви вместе с исходным кодом.

Хранение двоичных файлов в системе управления исходными кодами обычно не одобряется, и сейчас мы рассматриваем переход от TFS к Git, где это кажется быть еще большей проблемой. Какие у меня варианты? Учитывая, что эти DLL редко, если вообще меняются, действительно ли это будет проблемой, если они хранятся в Git? Некоторые из файлов не изменились за 5+ лет.

Просто ищу какое-либо руководство о том, как бороться с такими зависимостями. Можем ли мы обернуть сторонние библиотеки в пакеты NuGet и сохранить их в нашем Azure DevOps «хранилище» вместо контроля исходного кода, или это не стоит усилий?

1 Ответ

2 голосов
/ 06 марта 2020

У вас есть 2 варианта:

  • Использовать git lfs , который используется для хранения двоичных файлов, так как Azure DevOps предоставляют эту функцию. Часто хорошей идеей является установка и настройка git lfs в проекте для предотвращения случайной фиксации двоичных файлов.

  • Создание пакетов nuget и добавление их sh в пользовательский канал Nuget как это действительно легко создать (в Artifact части Azure DevOps). Этот вариант, возможно, немного лучше, если вы хотите четко видеть / управлять версиями зависимостей.

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

...