【问题标题】:TFS 2013 publish multiple projects to local foldersTFS 2013 将多个项目发布到本地文件夹
【发布时间】:2014-05-09 02:50:55
【问题描述】:

我正在使用 TFS2013 构建单个 Web 项目并将其发布到构建机器上的本地文件夹。正如here 指定的那样,我只需将以下参数添加为 msbuild 参数,它就可以工作,包括 Web.config 转换。

/p:DeployOnBuild=true;DeployTarget=PipelinePreDeployCopyAllFilesToOneFolder;PackageTempRootDir="\\sharedfolder";AutoParameterizationWebConfigConnectionStrings=false

现在我正在处理一个包含多个 Web 项目的解决方案。我想最终得到多个本地文件夹,每个 Web 项目一个。上面的解决方案似乎不起作用(仅生成其中一个项目)。我还检查了放置文件夹中的 _PublishedWebsites,但这些文件没有应用转换。

有没有办法做到这一点?

【问题讨论】:

    标签: tfs msbuild


    【解决方案1】:

    您可以通过为每个项目设置发布配置文件来实现此目的。为每个具有相同名称的项目添加发布配置文件。您可以使用文件系统发布方法将输出发布到每个项目的不同目录。

    只需调用 Ms-build 参数中的发布配置文件。

    /p:DeployOnBuild=true;PublishProfile=yourProfileName
    

    点击此链接了解更多详情http://msdn.microsoft.com/en-us/library/dd465337(v=vs.110).aspx 使用文件系统而不是 Web 部署。

    【讨论】:

    • 这是推荐的方法
    • 感谢您的回复,帮助很大。现在,在 TFS 中,我为不同的环境(DEV、QA、PROD)构建了多个版本。为每个项目添加三个不同的 .pubxml 需要大量的基础工作。我正在考虑在每个项目中只添加一个“publish.pubxml”作为占位符。然后在构建模板中添加一些自定义逻辑,以实际编辑每个构建的原始 xml,以便: 更改构建配置(以正确匹配 DEV、QA 或 PROD)和嵌套在 dropfolder 中某处的输出文件夹。这太疯狂了还是有更好的方法来做到这一点?
    • 您只需将 .pubxml 文件添加到您的 Web 项目中,而不需要添加到所有其他类型的项目中。如果您有许多 Web 项目要部署并且不想为每个环境添加额外的 .pubxml,那么自定义构建模板是唯一的选择。每个环境单独发布 pubxml 的好处是,您还可以从 Visual Studio 部署代码,并且可以轻松更改文件夹位置。
    猜你喜欢
    • 2011-06-18
    • 1970-01-01
    • 1970-01-01
    • 2014-10-11
    • 1970-01-01
    • 2020-10-04
    • 2012-07-06
    • 2016-05-04
    • 1970-01-01
    相关资源
    最近更新 更多