如何设置和部署.net Web应用程序使用TFS 2015.Update3.RC1构建Prim

时间:2016-11-03 22:50:23

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

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

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

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

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

我遇到的问题是我不明白接下来该做什么。 我的想法是我需要:

  1. 通过PowerShell关闭IIS(iisreset -stop)。
  2. 将构建的文件移动到我的位置。在此示例中,它是C:\ inetpub \ apps \ My
  3. 运行脚本来更新数据库架构(注意,目前没有数据库设置但这是我的下一步。计划首先使用“代码框架”代码“
  4. 我必须重新打开IIS。
  5. 我确实在Visual Studio Build Step中添加了以下内容。 MSBuild参数。

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

    来自本杰明日博客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

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

    2. 这是转向IIS的PowerShell脚本。     iisreset -stop

      1. Windows机器文件复制 此步骤正常运行

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

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

        那么,简而言之就是这些问题?

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

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

          < / LI>
        3. 我的理解是如何解释这个正确的/您将在本地部署的构建步骤是什么?

1 个答案:

答案 0 :(得分:0)

  

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

您可以使用Replace Token task替换带有变量值的相应值(打开您的构建定义=&gt;变量)。

例如:在构建/发布定义中添加变量(例如:name:LAUNCHER_PATH值:。\ My.Multnomah.exe),更改web.config(将%LAUNCHER_PATH%替换为#{LAUNCHER_PATH}#和其他) enter image description here

  

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

在更新web.config文件之前,您无需停止IIS,您可以直接更新它。更新web.config后,网站将自动回收。

  

3.我的理解是如何解释这个正确的/您将在本地部署的构建步骤是什么?

这些步骤没问题,有IIS Web App Deployment Using WinRMIIS Utilities task可以帮助您处理IIS。