如果启动命令不成功,是否有可能使Azure Release Pipeline阶段失败?

时间:2019-12-27 07:06:14

标签: azure-devops azure-web-sites azure-pipelines azure-pipelines-release-pipeline

我有一个ASP.NET Core应用程序,并尝试通过本地Azure DevOps服务器自动部署到基于Linux的Azure应用程序服务。我设法构建了所有内容并将代码部署到App Service。

此刻,应运行应用程序(dotnet dllname)的启动命令失败。当我打开Web应用程序的URL时,会看到默认的Azure“欢迎”页面(从opt/defaultsite提供)。

对于此特定故障,我没有任何问题-我尚未配置连接字符串和其他设置,因此是可以预期的。但是,我不知道应该如何处理此类故障。我有这些担忧:

  1. 我如何知道在不手动访问Web应用程序的情况下启动失败?尽管启动失败,但部署任务成功完成并带有绿色标记。
  2. 当应用无法启动时,我想在浏览器而不是默认站点中看到错误消息(至少对于非产品环境而言)。否则,了解我有问题并查看原因的唯一方法是转到Kudu控制台并查看日志流。
  3. 如果我的应用程序崩溃了,它会重新启动它还是会再次切换到opt / defaultsite页面?

此刻,为了解决第一个问题,我将向舞台添加另一个任务-一个简单的PowerShell脚本,它将向一个应用程序端点发送请求,但是,我想知道Microsoft是否建议一些更好的/更原生的解决方案。

1 个答案:

答案 0 :(得分:0)

基本上,如果部署期间存在错误/异常,则该阶段将失败。

但是,如果启动命令未成功,我们将无法使Azure Release Pipeline阶段失败,因为部署实际上已经完成。

作为一种解决方法,您可以添加另一个任务来运行脚本以请求端点像您一样检测到该情况。