【问题标题】:How to Setup and Deploy a .net web app Build Using TFS 2015.Update3.RC1 CI on Prim如何在 Prim 上使用 TFS 2015.Update3.RC1 CI 设置和部署 .net Web 应用程序构建
【发布时间】:2017-03-17 16:32:06
【问题描述】:

使用 Visual Studio 2015 更新 3 和 Team Foundation 服务器更新 3(现场)

我正在尝试为针对完整框架 4.61 的 .net 核心样板应用程序进行设置和自动部署。目前,我的应用程序主要是您在选择 new->Project->Templates->Visual C#->Web->ASP.NET Core Web Application(.Net Framework) 时获得的常用应用程序。我的目标是通过 Git 推送,然后让网站在测试服务器上正确显示。

我能够使用在MVA 找到的说明 但是,他们没有详细说明如何部署到本地服务器。但他们明确表示这是可能的。

我在 TFS2015 中使用 Git 作为源代码控制设置了这个 Web 项目。对于我的构建定义,我使用 Visual Studio 默认构建 ScreenShot of TFS build Definition,每当我推送新代码时,我都会构建站点。

我的问题是我不知道下一步该做什么。 我的想法是我需要:

  1. 通过 PowerShell 关闭 IIS (iisreset -stop)。
  2. 将构建的文件移动到我的 iss 位置。在这个例子中,它是 C:\inetpub\apps\My
  3. 运行脚本来更新数据库架构(注意目前没有数据库设置,但这是我的下一步。计划使用“代码优先”和“实体框架”
  4. 我必须重新打开 IIS。

我确实得到了一个重要线索,可以在我的 Visual Studio 构建步骤中添加以下内容。 MSBuild 参数。

/p:DeployOnBuild=True /p:DeployDefaultTarget=WebPublish
/p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True
/p:publishUrl=$(build.artifactstagingdirectory)\for-deploy\website

来自 Benjamin Day 博客 www.benday.com/2016/09/08/an-asp-net-mvc-site-thats-easy-to-deploy-from-a-tfs-build/(抱歉不能由于缺少代表点而链接)

使用那些构建 MS 构建参数,我可以找到我构建的网站,它似乎工作正常,除了显示 Web.config 文件

<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>

应该是什么时候

<aspNetCore processPath=".\My.Multnomah.exe" arguments="" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" />

我的发布定义分为三个步骤

  1. 目标机器上的 PowerShell

    机器 = 我要部署到的服务器 Admin Login = 我的 AD 用户名。(工作后会切换到服务帐户) 协议 = Https PowerShell 脚本 = 我在代理 PC/这也是测试 Web 服务器上的脚本上的文件位置

这里是打开 IIS 的 PowerShell 脚本。 iisreset - 停止

  1. Windows 机器文件复制 这一步工作正常

  2. 目标计算机上的 PowerShell 与第 1 步相同。但

目前,如果我手动关闭 IIS 然后手动更新 web.config 文件,则该版本正在运行。

那么,简而言之,这里有问题吗?

  1. 如何自动更正 web.config?

  2. 如何安排在文件传输之前停止 IIS 并在传输之后启动,或者有更好的方法吗?(如果我没有关闭 IIS,当前版本将失败)

  3. 我的理解是否正确/您将使用哪些构建步骤来进行本地部署?

【问题讨论】:

  • 你用我的解决方案解决了这个问题吗?

标签: asp.net asp.net-mvc deployment tfs visual-studio-2015


【解决方案1】:

1.如何自动更正web.config?

您可以使用Replace Token task 将相应的值替换为变量值(打开您的构建定义=>变量)。

例如:向您的构建/发布定义添加变量(例如,名称:LAUNCHER_PATH 值:.\My.Multnomah.exe),更改您的 web.config(将 %LAUNCHER_PATH% 替换为 #{LAUNCHER_PATH}# 等)

2.如何安排在文件传输前停止 IIS 并在传输后启动或有更好的方法?

更新web.config文件前不需要停止IIS,直接更新即可。更新web.config后,网站会自动回收。

3.我的理解是否正确/您将使用哪些构建步骤来进行本地部署?

这些步骤都可以,有IIS Web App Deployment Using WinRMIIS Utilities task可以帮你处理IIS。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-14
    • 2013-02-14
    • 1970-01-01
    • 1970-01-01
    • 2013-02-18
    • 2010-09-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多