У моєму відділі ми розробляємо кілька менших AddOns для якогось єдиного сервера зв'язку. Для розробки версій та розподілених версій ми використовуємо Team Foundation Server 2012.
Але: існує лише одне велике рішення TFS для всіх наших програм і бібліотек:
- Основне рішення
- Програми
- Додаток 1
- Додаток 2
- Додаток 3
- Зовнішні
- Бібліотеки
- Lib 1
- Lib 2
- Інструменти
- Програми
Шлях "Додаток" містить усі основні програми. Вони не залежать один від одного, але залежать від проектів "Бібліотеки та зовнішні організації".
Шлях "Зовнішні" містить деякі зовнішні DLL-файли, на які посилаються наші програми та бібліотеки.
Шлях до бібліотек містить часто використовувані файли (шаблони користувальницького інтерфейсу, класи Helper тощо). Вони не залежать один від одного і на них посилаються в бібліотеках та проектах Інструменти.
Шлях до Інструментів містить деякі допоміжні програми, такі як помічники з налаштування, оновлення веб-служб тощо.
Тепер є кілька основних моментів, чому я хотів би змінити цю структуру:
- Ми не можемо використовувати збірки серверів.
- Незручно керувати керуванням scrums TFS за допомогою спринтів, перешкод тощо тощо із такою структурою рішення.
- Кожен розробник завжди має доступ до всіх проектів у рішенні.
- Повна збірка триває занадто довго, якщо випадково потрапить [F6] у Visual Studio ...
Що ви змінили б у цьому рішенні? Як би ви поділили ці проекти на більш дрібні рішення, як вони повинні бути структуровані.
Першим моїм підходом було б створення одного проекту TFS для кожної програми, бібліотеки та інструменту. Але як я можу переконатися, що наприклад, у додатку 2 завжди є найновіша версія Lib 1? Чи потрібно контролювати зміни в Lib 1 та оновлювати додаток 2 вручну, як тільки Lib зміниться? Або я можу якось змусити Visual Studio завжди якось використовувати найновішу версію зовнішнього проекту?
Редагувати: На TFS є лише одна колекція TFS Team Project, що містить один проект TFS Team. Командний проект містить одне велике рішення Visual Studio, яке містить кілька папок, що містять (див. Структуру вище), причому кожна з них містить кілька проектів VS.
Зараз у мене запитання, як би ви переорганізувались:
- Проекти команди TFS
- Проекти VS