web-applications - 使用 Web 部署包通过 TFS 2017 构建和部署 Web 应用程序

标签 web-applications deployment tfs continuous-integration release

我的问题与此类似

Build and Deploy a Web Application with TFS 2015 Build

但是,该解决方案对我不起作用。我正在研究持续集成,我必须部署一个 Web 应用程序和其他网站,通过该网站,我在创建用于部署的 .zip 包时没有问题。我正在使用 /p:DeployOnBuild=true/p:WebPublishMethod=Package/p:PackageAsSingleFile=true/p:SkipInvalidConfigurations=true/p:PackageLocation="$(Build.StagingDirectory)\\"

然后我使用部署 IIS 应用程序在网站的虚拟目录中提取 .zip 包。

enter image description here

但是对于 Web 应用程序,无论我在 MSBuild 参数中使用什么参数,都不起作用,而且我不想将所有文件从项目复制到服务器,并且我想要一个与删除 .sln 不同的选项以及从服务器释放后的其他文件。

我尝试了 /p:DeployOnBuild=True/p:PublishProfile=$(DeploymentConfiguration) 并使用了作为 Web 部署包创建的发布配置文件,但在工件中构建之后,我得到了相同的文件,我的意思是所有项目文件,包括 .sln。

我不确定当我使用 /p:DeployOnBuild=True/p:PublishProfile=$(DeploymentConfiguration) 时应该在工件中期待什么,但我没有看到变化。

有人可以解释一下在这种情况下我应该等待什么吗?以及如何使用 TFS 正确部署 Web 应用程序项目(因为当我使用 .pubxml 从 Visual Studio 发布时工作正常,在服务器中仅复制权限文件),并且想法是在TFS 不使用任何来自 Visal Studio 的手册。

欢迎任何想法和解释,谢谢。

最佳答案

直到我研究构建定义的 TFS 选项,并且当您必须为定义选择模板时,您可以看到构建和部署两个选项,我选择了构建的模板,但我尝试使用部署选项时,一切都不起作用: enter image description here

默认情况下,MSBuild Arguments 中的参数为:/p:OutDir="$(build.binariesdirectory)\\" enter image description here

在该文件夹中,我们拥有部署所需的一切。

关于web-applications - 使用 Web 部署包通过 TFS 2017 构建和部署 Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43985427/

相关文章:

c# - 如何从 C# 客户端发送补丁请求?

c# - asp.net web 应用程序如何在线使用 Microsoft Access 数据库文件?

java - HttpServlet - 将上下文添加到 html 页面

ruby-on-rails - heroku[路由器] : at=error code=H10 desc ="App crashed" method

c++ - 使用带有 cmake/cpack 的 boost 库打包 c++ 程序

tfs - 将 SVNBridge 与 TFS(不是 CodePlex)一起使用

visual-studio - Visual Studio/TFVC - checkin / checkout

c# - Web 应用程序数据层的缺点/优点

flash - Flash AS3 中的动态舞台宽度和高度

.net - 如何编写 Visual Studio 数据库项目的部署脚本?