Автоматизация процессов и документации для TFS проверок и слияний - PullRequest
2 голосов
/ 29 февраля 2020

Я недавно взялся за задачу упрощения и автоматизации процессов в нашем конвейере разработки, и я ищу предложения / советы других о том, что было сделано для подобных проблем.

В настоящее время мы используем TFS 2019 / Azure Devops и стратегия ветвления:

Master
└ Major Version 1 QA
└ Major Version 1 Release
└ Major Version 2 QA
└ Major Version 2 Release

Мы используем рабочие элементы в TFS и связываем их, чтобы изменить наборы на ветви выше. Как правило, вся работа выполняется в Master и выборочно объединяется с QA в одной или обеих версиях по одной.

После тестирования / проверки изменения обычно объединяются массово с Release, когда они проходят go в другом раунде тестирования перед тем, как отправиться в публикацию c.

Эти слияния не всегда массовые, иногда они выполняются один за другим, иногда изменения объединяются из Main> QA> Release в одном shot (три регистрации для одной цели ...).

Кроме того, у нас есть отдельная система отслеживания ошибок, которая используется для сбора отчетов об ошибках из CSR, и эта система предоставляет статус внешним участникам (людям без TFS). доступ). Для этой настройки требуется, чтобы человек дублировал данные из TFS во внешнюю систему (и наоборот), что является серьезной неэффективностью, которую я пытаюсь решить.

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

  1. Как я могу предоставить доступное для чтения представление только для чтения данных рабочих элементов внешним не-разработчикам ? Кроме того, у TFS есть простая роль "сообщить об ошибке"? Я чувствую, что нечто подобное уже должно существовать, но, похоже, мне нужно будет создать или идентифицировать что-то, что интегрируется с TFS.
  2. При массовом объединении изменений индивидуальная ассоциация рабочего элемента с изменением кода теряется. Похоже, что это давняя жалоба на TFS, и я думаю, что мне нужно было бы написать сценарий слияния индивидуально для достижения автоматизации. Существуют ли другие способы?
  3. . Принимая во внимание приведенную выше стратегию ветвления, любое изменение в файле требует, как минимум, 3 повторных проверок, чтобы он появился в мире. Это хорошая стратегия? Идея заключается в том, что работа может непрерывно добавляться, пока ветки Release заморожены.

Дополнительная информация:

Мы небольшая команда из 5 разработчиков и 5 QA с Внешняя инфраструктура с соотношением сторон 20: 1 построена вокруг наших продуктов, поэтому я стремлюсь автоматизировать.

Спасибо за ваши советы / предложения!

1 Ответ

0 голосов
/ 02 марта 2020

1.Не рекомендуется использовать в TFS.

TFS не предназначен для отслеживания ошибок publi c. Предварительно TFS использует Windows AD для аутентификации. Azure Служба DevOps (облачная) использует учетные записи Microsoft или организационные (поддерживаются Azure AD).

Кроме того, отсутствует концепция ограничения определенных рабочих элементов определенными пользователями - любой пользователь, имеющий доступ к редактированию рабочих элементов в данной области, может редактировать все рабочие элементы в этой области.

Ссылка на источник: Можно ли использовать TFS в качестве общедоступного c инструмента сообщения об ошибках?

Если вы настаиваете на этом, лучшим способом будет делать это с помощью какого-то стороннего инструмента. Вы можете посмотреть ответ Эвальда Хофмана нашего PG в этом вопросе: Обработка ошибок, возникших у клиентов в TFS


2.Вы правы. В TFS при объединении ветвей результирующий набор изменений связывается со всеми объединенными наборами изменений. TFS = не предоставляет возможность выбора связанных рабочих элементов в диалоге слияния, мы должны вручную добавить рабочие элементы в окне Pending Changes, прежде чем нажать кнопку «Check in», чтобы выполнить регистрацию в ветви слияния.

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


3. Мы не можем судить, что это хорошая или плохая стратегия. Это хорошо, если полностью соответствует тому, что вы ищете. Если вы беспокоитесь о времени регистрации и количестве наборов изменений. Во-первых, когда вы объединяете изменения в Release. Обычно есть несколько наборов изменений. Вам не нужно делать это, если в файле есть только небольшие изменения. Другими словами, вам не нужно часто регистрироваться. Вы также можете выбрать ожидающую работу с набором полок, не нужно проверять каждое обновление.

Кроме того, для получения дополнительной информации вы можете обратиться к нашей официальной ссылке здесь: Узнайте о стратегиях ветвления для версии Team Foundation. Контроль (TFV C) и как выбрать эффективную стратегию

...