TFS构建下Binaries \ _PublishedWebsites目录的目的是什么

时间:2012-02-01 14:03:23

标签: tfs2010 build-agent msbuild-wpp

TFS在构建代理工作目录下生成一个发布目录:

Z:\TFSBuilds\1\box\CT\Binaries\\_PublishedWebsites

我认为这是TFS自动发布网站的地方。我如何使用它来自动发布网站...我们应该将我们的IIS网站引用到这个目录。它的目的是什么?

1 个答案:

答案 0 :(得分:13)

首先,工作目录如名称所示,是一个“工作”目录。这是构建代理下载源代码,执行编译等的地方。每当您再次运行构建时,它也会清除工作目录,因此当您尝试从工作目录中检索时,您可能会抓取未完成的工件。

TFS定义了一个“drop folder”,它将在构建完成后将最终工件复制到其中。您可以通过编辑构建定义来定义构建的drop文件夹:

  1. 右键单击构建版本,然后选择“编辑构建定义。
  2. 选择“构建默认值”部分。
  3. 勾选'此版本将输出文件复制到放置文件夹'
  4. 输入构建代理的UNC路径以将工件复制到(确保构建代理可以访问该UNC路径!)
  5. 其次,关于_PublishedWebsites。构建代理将为它构建的每个Web项目创建一个_PublishedWebsites文件夹,作为其构建工件的一部分(因此,如果您告诉它构建一个包含2个Web项目的解决方案,它将创建[Project name A] \ _ PublishedWebsites和[Project Name] B] \ _ PublishedWebsites)。在每个_PublishedWebsites文件夹中都有要放入IIS应用程序的内容,与右键单击Web项目并选择“发布”相同。我通常在构建工作流程中添加最后一步,将此_PublishedWebsites文件夹的内容复制到我想要的IIS目录。

    此链接告诉您如何添加复制工作流程:TFS 2010: Copy _PublishedWebsites to test server

    这里有关于丢弃文件夹的更多内容:http://msdn.microsoft.com/en-us/library/bb778394.aspx