Creating a build process template which does nothing but copy all files to another directory

好久不见. 提交于 2019-12-04 05:24:54

问题


I would like to create a Build Definition inside TFS 2012 Express which will simply copy all files within my project source tree to another folder on my drive. Just to underline - I do not want the build output to go to another directory - I want the source files themselves to. The reason for this is I have IIS pointed at a specific folder, and I want the build to copy the latest asp and aspx files to the IIS hosted folder.

I am not sure of the intricacies of doing this, I did find : http://toadcode.blogspot.co.uk/2008/06/copy-multiple-files-via-tfs-build.html articles like this but I simply need a more direct list of what I need to do from somebody who understands this area.

Basically - when the build is queued, all I want is to copy my project source files to another directory :). I think this can be done by editing some Build.xml file...but when making a build definition I dont seem to be given the freedom to do what I would like to!

I think what I am looking for to alter my DefaultTemplate.11.1.xaml file to alter the build process which will let me run this / or a batch file after the build process completes?

My TFS build process edit screen looks like this:


回答1:


Using this post as a guide on how to start editing TFS Build Templates (or the Wrox TFS 2012 book), you need to make the following changes:

  • Locate the Copy to Drop Folder Activity:

  • Drag in a "CopyDirectory" activity under the "Drop Files to Drop Location" (from the Toolbox under Team Foundation Build Activities):

  • Goto the Properties Window for the new Activity and set Source and Destination as follows:
    • Destination: Path.Combine(BuildDetail.DropLocation, "MyOutputFolder")
    • Source: Path.Combine(SourcesDirectory, "MyFileFolder")

You may need to repeat this if you don't have all your files in one folder.




回答2:


I actually put something together for TFS2010 and 2013 (not 2012, unfortunately) a few weeks ago that does exactly that. Basically, anything in the workspace you define for your build just gets shoved over to the drop location.

Here's a link to the blog post where you can download them:

http://www.incyclesoftware.com/2014/06/deploying-uncompiled-resources-release-management/

For the record, I strongly recommend against using a build process template to deploy software. Don't try to overextend the build... its job is taking stuff from source control and compiling/packaging it for deployment. Use a real release management solution to actually handle deploying software.




回答3:


Add a bat file to your source folder. within the batch file add an xcopy %1*.* TargetLocation. Add an invoke process activity to your workflow, somewhere near the end. call the bat file and pass it the SourcesDirectory.



来源:https://stackoverflow.com/questions/24563341/creating-a-build-process-template-which-does-nothing-but-copy-all-files-to-anoth

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!