Определение зависимостей для групп задач и задач в файлах подключаемых модулей

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

Обязательные подключаемые модули и зависимости подключаемых модулей

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

Зависимости подключаемого модуля шаблона процесса

Совет

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

Зависимости могут использоваться для указания порядка, в котором подключаемые модули запускаются Мастером нового командного проекта. Одни подключаемые модули всегда зависят от других. Кроме того, не все подключаемые модули являются обязательными для шаблона процесса.

В следующей таблице определены зависимости между подключаемыми модулями. Обязательным является только подключаемый модуль классификации. Остальные подключаемые модули необязательны. Дополнительные сведения о каждом подключаемом модуле см. в разделе Общие сведения о файлах шаблонов процессов.

Подключаемый модуль

Зависимые подключаемые модули

Построение

Группы, управление версиями

Классификация

Нет

Группы

Классификация

Лаборатория

Построение, классификация, группы, отслеживание рабочих элементов

Портал

Классификация, отчеты, управление версиями и отслеживание рабочих элементов

Отчеты

Классификация, управление версиями и отслеживание рабочих элементов

Управление тестами

Классификация, группы и отслеживание рабочих элементов

Управление версиями

Классификация, группы и отслеживание рабочих элементов

Отслеживание рабочих элементов

Классификация и группы

Определение зависимостей групп задач

Для указания того, что существует зависимость, используется элемент dependency в заданиях и группах. Следующий пример показывает, как использовать элемент dependency для указания, что группа заданий WorkItemTracking зависит от групп заданий Classification и Groups.

<group id="WorkItemTracking"
   description="Workitem definitions uploading."
   completionMessage="Workitem definitions uploaded.">
   <dependencies> 
      <dependency groupId="Classification"/> 
      <dependency groupId="Groups"/> 
   </dependencies>
   <taskList filename="WorkItem Tracking\WorkItems.xml"/>
</group>

Примечание

Элемент groupId содержит ссылку на элемент id другой группы.

В следующей таблице описаны элементы, используемые для определения зависимостей групп задач. Дополнительные сведения об определении групп задач см. в разделе Справочник по XML-элементам ProcessTemplate.

Элемент

Синтаксис

Описание

dependencies

<dependencies>
<dependency>. . . </dependency>
</dependencies>

Обязательный дочерний элемент элемента group.

Задает другие группы, от которых зависит данная группа.

dependency

<dependency groupId="groupId" />

Необязательный дочерний элемент элемента dependencies.

Задает идентификатор другой группы задач, от которой зависит данная группа. Выполнение задач другой группы должно быть завершено до запуска этой группы.

Определение зависимостей задач

В следующем примере показано, как элемент dependency используется для указания того, что задача WorkItems зависит от задачи с идентификатором "WITs".

<task
   id="WIs"
   name="WorkItems"
   plugin="Microsoft.ProjectCreationWizard.WorkItemTracking"
   completionMessage="Work items uploaded"
   completionDescription = "Processing the actual work items used by work item tracking">
   <dependencies> 
      <dependency taskId="WITs" /> 
   </dependencies>

В следующей таблице описаны элементы, используемые для определения зависимостей задач. Дополнительные сведения о том, как определять задачи, см. в разделе Определение элемента tasks для обработки подключаемого модуля.

Элемент

Синтаксис

Описание

dependencies

<dependencies>
<dependency>. . . </dependency>
</dependencies>

Необязательный дочерний элемент элемента task.

Задает другие задачи, от которых зависит данная задача.

dependency

<dependency taskId="taskId" />

Необязательный дочерний элемент элемента dependencies.

Задает идентификатор другой задачи, от которой зависит данная задача. Другая задача должна быть выполнена до начала этой задачи.

См. также

Основные понятия

Настройка шаблона процесса

Определение элемента tasks для обработки подключаемого модуля

Определение корневого элемента tasks с помощью файла подключаемого модуля шаблона процесса