我已将TeamCity设置为我的CI解决方案,用于构建,打包和部署(通过MSBuild / Web Deploy)我的ASP.NET MVC 3 Web应用程序。
效果很好。
但是,在我的应用程序的Application_Start
事件中,我会执行各种启动活动,例如预热缓存。
我想添加一个TeamCity构建任务(post deploy)以某种方式调用此方法(因此第一个手动用户请求不等待)。
唯一想到的是使用powershell脚本来基本ping / wget网站。
是否有更好的解决方案 - 可能是MSBuild部署任务的一部分选项?
答案 0 :(得分:2)
使用简单的PowerShell脚本,作为TeamCity构建步骤:
来源:MSDN
# webclient.ps1
# Web client sample recoded in PowerShell
# Converted from MSDN C# Sample
# Thomas Lee - tfl@psp.co.uk
# get a web page (author's blog)
$client = new-object system.net.WebClient
$client.Headers.Add("user-agent", "PowerShell")
$data = $client.OpenRead("http://www.mywebsite.com/")
$reader = new-object system.io.StreamReader $data
[string] $s = $reader.ReadToEnd()
# display output
"The returned document is {0} bytes" -f $s.length.tostring("###,###,##0")
# close
$data.Close()
$reader.Close()