kralco626
kralco626

Reputation: 8654

Team Foundation Server 2012 Automated Build Target Location

I have a solution in VS2012 and when I do a publish in VS it drops the compiled code to the target location with the following structure

\bin
\Content
\Properties
\Scripts
\Services
... etc.

When the TFS 2012 automated build runs it drops the code into my target location with the following structure

MyProject_Build\MyProject_Build_20130823.5\_PublishedWebsites\MyProject\bin
MyProject_Build\MyProject_Build_20130823.5\_PublishedWebsites\MyProject\Content
... etc.

I would like to drop the code into the location like the first example, or at least

\MyProject\bin
... etc.

The idea is to publish the compiled code to the same exact location every time so that IIS knows where the code is right?

How can I change this?

Upvotes: 0

Views: 2467

Answers (2)

Mitul
Mitul

Reputation: 9854

This is something TFS doesn't support out of the box but with Process Template customization you can definitely do it.

However, I would suggest updating the website directly using msdeploy. If you just have to update one website then it is very easy using msdeploy commands in TFS(https://stackoverflow.com/a/13706005/581922).

Edit:
Based upon your comment you will have to customize the build process. Ewald Hofman has a great series of articles on how to customize TFS Build process templates to suit your needs.

If you want to customize the TFS Process Template then

  1. You can either do everything in powershell but invoking a powershell script as Ewald demonstrates. I have written a blog post on how to deploy websites to IIS using MSdeploy, Powershell and TFSBuild
  2. Use InvokeProcess Activitiy in TFSProcess template and use Xcopy to copy files to destination folder on the server you want.

You might also want to check this post.

Upvotes: 2

suresh2
suresh2

Reputation: 1169

Create publish profiles for your website and choose publish method as file copy and choose the shares folder location where you want to copy the files. In the tfs build template, in ms build parameters options choose the publish profile you created.

/p:DeployOnBuild=true;PublishProfile=Production;

Upvotes: 0

Related Questions