2016-04-14 1 views
1

Я хочу использовать сервер сборки TFS. Я хочу, чтобы сервер сборки собирал связанные проекты, публиковал и развертывал их на других серверах.Tfs Build Server 2015 опубликовать конкретный проект

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

Мы используем VS 2015, и у нас есть большое решение. Он включает в себя множество проектов dll, веб-сайтов и проекта WCF.

Я хочу определить определения построения для каждого веб-сайта отдельно. , например, когда я запускаю определение сборки A, он должен публиковать только сайт A. И я не хочу строить целое решение для публикации веб-сайта A. Должны быть созданы только необходимые проекты.

Как это сделать?

Благодарим за помощь.

+0

Вы используете сборку vNext или основанную на Xaml? – Angshuman

+0

Я использую vNext. –

+0

ok вместо указания файла .sln попытайтесь указать файл csproj, но вам нужно будет многое изменить в команде Msbuild. – Angshuman

ответ

2

Я наконец нашел решение.

  • Во-первых, я добавил VisualStudioBuild задачи,
  • набор переменных Решение Путь к файлу .csproj, что я хотел построить и опубликовать,
  • набор репозиториев и плаща ненужные проекты,
  • набор MSBuild Аргументы как;

    /p:OutputPath=bin/$(BuildConfiguration) 
    /p:DeployOnBuild=True 
    /p:DeployTarget=MSDeployPublish 
    /p:MsDeployServiceUrl=https://xxx:8172/MsDeploy.axd 
    /p:AllowUntrustedCertificate=true 
    /p:DeployIisAppPath="Default Web Site/xxx" 
    /p:MSDeployPublishMethod=WMSVC 
    /p:CreatePackageOnPublish=True 
    /p:UserName=xxx 
    /p:password=xxx 
    

Важный аргумент OutputPath здесь. Если вы не дадите это свойство и попытаетесь построить csproj, msbuild выдает исключение.