我花了大约 3 天时间来设置 TeamCity 以构建和发布 asp.net-5 项目。最后我通过使用dnu publish
命令发布站点来做到这一点。我正在使用批处理文件来执行以下命令
// stops the apppool for 'samplesite' overvise it returns exception
// The process cannot access the file '...' because it is being used by another process
call "%windir%\system32\inetsrv\appcmd" stop apppool "samplesite"
// publish the site to the --out dir
call "C:\Users\Administrator\.dnx\runtimes\dnx-coreclr-win-x86.1.0.0-beta6\bin\dnu" publish --out "F:\Sites\samplesite" --runtime dnx-clr-win-x86.1.0.0-beta6
// copies the 'prod' config.json
copy "..\..\build\configuration\samplesite\config.json" "F:\Sites\samplesite\approot\src\samplesite\config.json" /Y
// copies the 'prod' web.config
copy "..\..\build\configuration\samplesite\web.config" "F:\Sites\samplesite\wwwroot\web.config" /Y
// starts the apppool for 'samplesite'
call "%windir%\system32\inetsrv\appcmd" start apppool "samplesite"
问题是
- 是否可以从命令返回错误/异常
dnu publish
以显示发布失败?例如,我可以在发布时遇到异常- 该进程无法访问该文件.....或
- 路径长度不能超过 260 个字符...
但是 TeamCity 构建结果将显示为Success
,所以我总是需要检查它是否真的完成了,没有任何异常。
- 是否有另一种更好的方式/脚本来发布 asp.net-5 站点?也许我只是做错了什么。