How to set up a TFS2010 build server to create help using SHFB

I searched a lot to try to find a solution, but it looks like I missed something.

In most articles, I am told that I should modify the build file ( TfsBuild.proj ). But I can not find this file anywhere. A little more tells me that it was replaced by a new build model in TFS2010?

And the official documentation

+7
source share
4 answers

The easiest way to do this is to simply include the SHFB project file in the build configuration. SHFB project files work just like any project file in Visual Studio.

+3
source

You're right. Team Build 2010 is based on the Workflow Foundation, and for this you will need to create a custom build process template.

Despite the fact that the main project is out of date, you can find what you are looking for. http://tfs2010extendedbuild.codeplex.com/

Information on how to customize the build process template can be found here: http://rabcg.codeplex.com/

If you're in books, it's fantastic: http://www.amazon.com/Inside-Microsoft-Build-Engine-Foundation/dp/0735645248/ref=ntt_at_ep_dpt_1

+3
source

At first, I hope you are talking about TFS2010, otherwise this answer is beyond the scope.

We customized our build process template with an additional MSBuild call in this sequence:

enter image description here

The parameters are as follows:

enter image description here

So that everyone can function, we added another argument called SandcastleProject , in which we provide in our Build Defitinition the source control path to the .shfbproj file ($ / ... /. Shfbproj).
Before this sequence fails, we convert this path to a local one using the ConvertWorkspaceItem activity, which populates a variable called localSandcastleProject local record:

enter image description here

+2
source

I recently wrote a blog post about this: http://www.22bugs.co/post/sandcastle-help-file-builder-tfs-build/ . Here are the necessary steps:

1. Download and install SHFB on the build server

Get the latest version from https://github.com/EWSoftware/SHFB†►shfb] and install it on your build server. After installation is complete, a reboot may be required.

2. Locate the fall (optional)

Modify the ** file. shfbproj * by adding the following:

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

This will instruct TFS to copy the SHFB output to the drop-down folder.

3. Locate the deployment (optional)

If after each successful build you want to automatically deploy the output to a different location (except the delta folder), you can define the following task after the build:

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

You can now define the MSBuild $(DeployDocsTo) argument to tell TFS where you can deploy your documents. For example, set it to

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

Good luck.

+1
source

All Articles