Как настроить сервер сборки TFS2010 для создания справки с использованием SHFB - PullRequest
7 голосов
/ 14 декабря 2011

Я много гуглил, пытаясь найти решение, но мне кажется, что я что-то упустил.

В большинстве статей говорится, что я должен изменить файл сборки (TfsBuild.proj).Но я нигде не могу найти этот файл.Погуглив немного больше, я узнаю, что его заменили новой моделью сборки в TFS2010?

И официальная документация для SHFB просто говорит:

Измените свой файл сборки.В этом примере для создания документации используется ежедневная сборка:

В нем не упоминается, какой файл и как.

Может ли кто-то быть добрым и пролить свет на то, как я могу настроить нашу сборку TFSСервер для создания документации с использованием Sandcastle Helpfile Builder?

Ответы [ 4 ]

4 голосов
/ 21 декабря 2011

Самый простой способ сделать это - просто включить файл проекта SHFB в конфигурацию сборки. Файлы проекта SHFB работают так же, как и любой файл проекта в Visual Studio.

3 голосов
/ 14 декабря 2011

Вы правы. Team Build 2010 основан на Workflow Foundation, и для этого вам необходимо создать собственный шаблон процесса сборки.

Даже если основной проект устарел, вы можете найти то, что ищете, здесь: http://tfs2010extendedbuild.codeplex.com/

Информацию о том, как настроить шаблон процесса сборки, можно найти здесь: http://rabcg.codeplex.com/

Если вы попали в книги, это фантастика: http://www.amazon.com/Inside-Microsoft-Build-Engine-Foundation/dp/0735645248/ref=ntt_at_ep_dpt_1

2 голосов
/ 14 декабря 2011

Сначала я надеюсь, что вы говорите о TFS2010, иначе этот ответ выходит за рамки.

Мы настроили наш шаблон процесса сборки с дополнительным вызовом MSBuild в этой последовательности:

enter image description here

Параметры выглядят следующим образом:

enter image description here

Чтобы все работало, мы добавили еще один аргумент с именем SandcastleProject,в котором мы предоставляем в нашем Определении сборки путь контроля исходного кода к файлу .shfbproj ($ / ... / .shfbproj).

Непосредственно перед тем, как эта последовательность разорвется, мы преобразуемпуть к локальному с использованием операции ConvertWorkspaceItem, которая заполняет переменную с именем localSandcastleProject локальной записью:

enter image description here

1 голос
/ 25 апреля 2015

Я недавно написал в блоге об этом: http://www.22bugs.co/post/sandcastle-help-file-builder-tfs-build/. Вот необходимые шаги:

1. Загрузите и установите SHFB на свой сервер сборки

Загрузите последнюю версию с [https://github.com/EWSoftware/SHFB][shfb] и установите ее на свой сервер сборки. После завершения установки может потребоваться перезагрузка.

2. Определить место падения (необязательно)

Отредактируйте ваш файл **. Shfbproj *, добавив следующее:

<!-- Put this code under inside <Project><PropertyGroup>...</PropertyGroup></Project> -->
<OutDir Condition=" '$(OutDir)' == ''">.</OutDir>
<OutputPath>$(OutDir)\Help</OutputPath>

Это будет указывать TFS скопировать вывод SHFB в папку сброса сборки.

3. Определить место развертывания (необязательно)

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

if NOT "$(DeployDocsTo)" == "" (
  powershell "\"$(DeployDocsTo)\" -split \";\" | foreach { Copy-Item \"$(OutputPath)\" \"$_\" -Force -Recurse }"
)

Теперь вы можете определить аргумент MSBuild $(DeployDocsTo), чтобы указать TFS, где развернуть ваши документы. Например, установите его на

/p:DeployDocsTo="\\app-server\c$\docs"

Удачи.

...