Последовательность Построения В Tfs

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

Это актуально, когда код продукта разделен на несколько проектов и они зависят друг от друга.

В этой статье я хочу рассказать вам, как это можно сделать с помощью TFS-сервера.

Пусть у нас есть два проекта «Сборка1» и «Сборка2».

Для проекта «Сборка1» настроены две конструкции: «Библиотека классов1» и «Библиотека классов2».

Для проекта «Сборка2» также настраиваются две конструкции: «А2.т2» и «А2.т3».

После начала построения «ClassLibrary1» нам необходимо последовательно запустить «ClassLibrary2» и «A2.t2».

1. Простой и медленный способ (мы делали это раньше).

Конструкции ClassLibrary2 и A2.t2 настраиваем особым образом: Мы указываем строительство при заселении.



Последовательность построения в TFS

Добавляем рабочие папки из предыдущей сборки.



Последовательность построения в TFS

Для построения «A2.t2» выполняются аналогичные шаги.

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

Но есть и больше недостатков: — Чем больше «рабочих каталогов» используется, тем больше времени занимает построение.

— Последовательность построений нельзя запускать вручную, только регистрация.

— Последовательность построений может выполняться в любой последовательности, что не всегда хорошо.

В нашем случае мы не знаем, какая конструкция будет выполнена раньше «ClassLibrary2» или «A2.t2».

2. Мы используем TFS API. — Создаём новый проект «ClassLibrary».

— Добавьте новый элемент «CodeActivity».

— Мы создаем два входных параметра «BuildDetail» и «TfsProjectAndBuildDefinition», первый из которых используется для получения и управления BuildServer. — Анализируем список проектов и построек.

— Этот список состоит из строк, где каждая строка определяет название проекта, по которому ведется строительство, и название сооружения, разделенные точкой с запятой.

Ниже приведен код:

   

using System; using System.Activities; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Text; using Microsoft.TeamFoundation.Build.Client; using Microsoft.TeamFoundation.Build.Workflow.Activities; using Microsoft.TeamFoundation.Build.Workflow.Services; using Microsoft.TeamFoundation.Client; namespace QueueNewBuilds {

Теги: #Team Foundation Server 2013 #непрерывная интеграция #C++ #.

netframeowrk #.

NET #C++

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.