Опубликовал Шамрай Александр на Август 14, 2009
<< Перейти в раздел «Team Foundation Build FAQ»
Для того чтоб создать сборку в TFS, нужно выполнить следующие шаги:
- Правой клавишей мыши на папке «Построения» в проекте в командном обозревателе выбрать «Определение нового построения»

- В появившемся диалоговом окне ввести наименование и описание сборки

- Далее перейти на страницу «Файл проекта» и нажать кнопку «Создать»

- В появившемся диалоговом окне выбрать проект, для которого будет выполняться сборка, и нажать «Далее»

- На следующем шаге необходимо выбрать конфигурацию, в которой будет выполняться сборка, и нажать «Далее»

- На следующей странице, если необходимо, можно выбрать список тестов, которые будут автоматически выполняться после сборки проекта. Далее нужно нажать кнопку «Готово»

- На странице «Параметры построения по умолчанию» нужно выбрать сервер сборок, на котором будет собираться проект, и сетевой каталог, в который будут выкладываться продукты и результаты сборки.

- На странице «Триггер» можно установить параметры запуска сборки. Сборка может запускать по запросу, по расписанию или после каждой регистрации изменений, что необходимо для непрерывной интеграции.

Рубрика: Build FAQ, Microsoft, Team Foundation Server FAQ, Visual Studio | Помечено: build, FAQ, Microsoft, Team Foundation Server, Team System, tfs, Visual Studio | Оставьте комментарий »
Опубликовал Шамрай Александр на Июль 15, 2009
<< Перейти в раздел «Team Foundation Build FAQ»
Для того чтоб сделать свою отдельную задачу, которая будет выполняться при сборке проекта, необходимо:
- Создать новый проект как «Class Library».
- Для этого проекта нужно подключить следующие связи:
Microsoft.Build.Framework
Microsoft.Build.Utilities
- Отредактировать новый класс по следующему сценарию:
……………
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
namespace SampleBuildTask
{
public class CustomTask : Task
{
private string Argument;
[Required]
public string Argument
{
get { return Argument; }
set { Argument = value; }
}
public override bool Execute()
{
Log.LogMessage(«My custom task for project: {0}», Argument)
return true;
}
}
}
- Собрать проект.
- Перейти к фалу проекта командной сборки (на сервере TFS с расширением «.proj») и изъять его на редактирование.
- Перед секцией </Project> внести изменения по следующему шаблону:
<UsingTask TaskName=»SampleBuildTask.CustomTask»
AssemblyFile=»Путь_к_проекту\bin\Debug\SampleBuildTask.dll» />
<Target Name=»BeforeDropBuild»>/
<CustomTask Argument=»$(SolutionRoot)» />
</Target>
- Сделать «check in» для проекта сборки и можно сборку выполнять.
- В результате работы сборки в ее журнале должны быть строки: «My custom task for project: Путь к проекту».
Рубрика: Build FAQ, Microsoft, Team Foundation Server FAQ, Visual Studio | Помечено: build, FAQ, Microsoft, Team Foundation Server, tfs, Visual Studio | Оставьте комментарий »
Опубликовал Шамрай Александр на Июль 5, 2009
<< Перейти в раздел “Team Foundation Build FAQ”
Если необходимо выполнить сборку из командной строки, то можно воспользоваться утилитой TFSBuild. Для запуска сборки используется команда «TFSBuild start«, которая использует следующие параметры:
- Team Foundation Server – URL сервера, на котором определена сборка
- Team Project – имя проекта, который содержит описание сборки
- Build Type – наименование сборки
- Build Machine – имя компьютера, на котором будет выполняться сборка (необязательно)
- Build Directory – наименование каталога, в котором будет выполняться сборка (необязательно)
Выполнение команды:
TFSBuild start <Team Foundation Server> <Team Project> <Build Type>
Пример:
TFSBuild start http://tfsserver:8080 TFSTeamProject AdvancedBuild
Если необходимо переопределить компьютер и директорий, в которых будут выполняться сборка, то команду нужно выполнить в следующем виде:
TFSBuild start <Team Foundation Server> <Team Project> <Build Type> /m:<Build Machine> /d:<Build Directory>
Пример:
TFSBuild start http://tfsserver:8080 TFSTeamProject AdvancedBuild /m:BUILDSRV2 /d:C:\BuildDir
Рубрика: Build FAQ, Microsoft, Team Foundation Server FAQ, Visual Studio | Помечено: build, FAQ, Microsoft, Team Foundation Server, tfs, Visual Studio | Оставьте комментарий »
Опубликовал Шамрай Александр на Апрель 7, 2009
<< Перейти в раздел «Team Foundation Build FAQ»
Проблема:
При попытке выполнить сборку с помощью Team Build проекта, который содержит приват ключ, возникает ошибка:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Microsoft.Common.targets(1718,7): error MSB4018: The «ResolveKeySource» task failed unexpectedly.
System.InvalidOperationException: Showing a modal dialog box or form when the application is not running in UserInteractive mode is not a valid operation. Specify the ServiceNotification or DefaultDesktopOnly style to display a notification from a service application.
at Microsoft.Build.Shared.ExceptionHandling.RethrowUnlessFileIO(Exception e)
at Microsoft.Build.Tasks.ResolveKeySource.ResolveAssemblyKey()
at Microsoft.Build.Tasks.ResolveKeySource.Execute()
at Microsoft.Build.BuildEngine.TaskEngine.ExecuteTask(ExecutionMode howToExecuteTask, Hashtable projectItemsAvailableToTask, BuildPropertyGroup projectPropertiesAvailableToTask, Boolean& taskClassWasFound)
Решение:
- Войти на сервер сборок под учетной записью, которая используется сервисом сборки.
- Запустить проект на сборку с помощью Visual Studio.
- Ввести пароль для проекта.
Дополнительные ресурсы:
Strong Name your assemblies with Team Build using a private key
Рубрика: Build FAQ, Microsoft, Team Foundation Server FAQ, Visual Studio | Помечено: build, FAQ, Microsoft, Team Foundation Server, tfs, Visual Studio | Оставьте комментарий »