使用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,每当我推送新代码时,我也会建立网站。
我遇到的问题是我不明白接下来该做什么。 我的想法是我需要:
我确实在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" />
我的版本定义分为三个步骤
目标计算机上的PowerShell
Machines =我要部署的服务器 Admin Login =我的AD用户名。(工作后将切换到服务帐户) 协议= Https PowerShell脚本=我在代理PC上的脚本上的文件位置/也是测试Web服务器
这是转向IIS的PowerShell脚本。 iisreset -stop
Windows机器文件复制 此步骤正常运行
目标计算机上的PowerShell 与步骤1相同,但
目前,如果我手动关闭IIS然后手动更新web.config文件,则Release正在运行。
那么,简而言之就是这些问题?
如何自动更正web.config?
如何安排在文件传输之前停止IIS并在传输之后启动,或者有更好的方法吗?(如果我没有关闭IIS,当前版本失败)
< / LI>我的理解是如何解释这个正确的/您将在本地部署的构建步骤是什么?
答案 0 :(得分:0)
1.如何自动更正web.config?
您可以使用Replace Token task替换带有变量值的相应值(打开您的构建定义=&gt;变量)。
例如:在构建/发布定义中添加变量(例如:name:LAUNCHER_PATH值:。\ My.Multnomah.exe),更改web.config(将%LAUNCHER_PATH%替换为#{LAUNCHER_PATH}#和其他)
2.如何安排在文件传输之前停止IIS并在传输之后启动,或者有更好的方法吗?
在更新web.config文件之前,您无需停止IIS,您可以直接更新它。更新web.config后,网站将自动回收。
3.我的理解是如何解释这个正确的/您将在本地部署的构建步骤是什么?
这些步骤没问题,有IIS Web App Deployment Using WinRM和IIS Utilities task可以帮助您处理IIS。