gpt4 book ai didi

tfs - 团队 build : Publish locally using MSDeploy

转载 作者:行者123 更新时间:2023-12-03 08:46:56 25 4
gpt4 key购买 nike

我刚刚开始使用团队构建功能,我发现做一些非常简单的事情需要做的事情太多了。我目前的设置是一个包含 Web 应用程序、程序集应用程序和测试应用程序的解决方案。 Web 应用程序有一个 PublishProfile 设置,它通过文件系统发布。

我有一个 TFS 构建定义设置,它当前每晚构建整个解决方案并将其放到网络共享上作为旧构建的备份。我现在要做的就是让我已经设置的 PublishProfile 为我发布 Web 应用程序。我确信这真的很简单,但我已经用 MSBuild 命令玩了一整天了,没有运气。帮助!

最佳答案

不幸的是,在 MSBuild 中不支持或实现发布配置文件的共享。从配置文件发布的逻辑包含在 VS 本身中。幸运的是,配置文件不包含太多信息,因此有一些方法可以实现您正在寻找的内容。我们的目标并不特别支持发布对话框所遵循的完全相同的步骤,但要从团队构建中获得相同的结果,您有两个选择,我将在此处概述。

当您设置团队构建定义以进行部署时,您需要为构建过程的 MSBuild 参数传递一些值。请参阅下面的图片,我在其中突出显示了这一点。
alt text

选项 1:
传入以下参数:

/p:DeployOnBuild=true;DeployTarget=PipelinePreDeployCopyAllFilesToOneFolder;PackageTempRootDir="\\sayedha-w500\BuildDrops\Publish";AutoParameterizationWebConfigConnectionStrings=false

让我稍微解释一下这些参数,显示结果然后解释下一个选项。 DeployOnBuild=true :这告诉项目执行 DeployTarget 中定义的目标。属性(property)。
DeployTarget=PipelinePreDeployCopyAllFilesToOneFolder :这指定了 DeployTarget 目标。
PackageTempRootDir="\\sayedha-w500\BuildDrops\Publish" :这指定将写入包文件的位置。这是在打包文件之前写入文件的位置。
AutoParameterizationWebConfigConnectionStrings=false :这告诉 Web 发布管道 (WPP) 不要参数化 web.config 文件中的连接字符串。如果您没有指定,那么您的连接字符串值将被替换为 $(ReplacableToken_dummyConStr-Web.config Connection String_0) 之类的占位符

完成此操作后,您可以开始构建,然后在 PackageTempRootDir 位置内,您将找到一个 PackageTmp 文件夹,其中包含您要查找的内容。

选项 2:
因此,对于上一个选项,您可能注意到它创建了一个名为 PackageTmp 的文件夹,如果您不希望这样做,则可以使用以下选项。
/p:DeployOnBuild=true;DeployTarget=PipelinePreDeployCopyAllFilesToOneFolder;_PackageTempDir="\\sayedha-w500\BuildDrops\Publish";AutoParameterizationWebConfigConnectionStrings=false

这里的区别在于,而不是 PackageTempRootDir你会通过 _PackageTempDir .我不建议以 _ 开头的原因是因为以 _ 开头的 MSBuild 属性表示该属性本质上是“内部”的,因为在将来的版本中它可能意味着其他东西或根本不存在。所以使用风险自负。

选项 3

综上所述,您可以只使用构建来打包您的网络。如果您想这样做,请使用以下参数。
/p:DeployOnBuild=true;DeployTarget=Package

当您在构建的放置文件夹中执行此操作时,您会像往常一样找到 _PublishedWebsites 文件夹,然后在其中将有一个文件夹 {ProjectName}_Package 其中 {ProjectName} 是项目的名称。该文件夹将包含包、.cmd 文件、参数文件和其他一些文件。您可以使用这些文件来部署您的网站。

我希望这不是信息过载。

关于tfs - 团队 build : Publish locally using MSDeploy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4041836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com