这是我在 GCP 中熟悉的内容。我能够将 Spring Boot REST API 部署到 GAE(Google App Engine),并在 Cloud Logging 中查看所有启动和运行日志记录。
它看起来非常漂亮,并且干净地整理了日志记录:
当我尝试使用 Azure 完成相同的事情,并将相同的 Spring Boot REST API 部署到 Azure“应用服务”时,我不知道是否存在类似的东西。
在部署中心,我将其配置为通过 Github Actions 通过以下默认 yaml 脚本推送我的代码:
# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
# More GitHub Actions for Azure: https://github.com/Azure/actions
name: Build and deploy JAR app to Azure Web App
on:
push:
branches:
- develop
jobs:
build-and-deploy:
runs-on: windows-latest
steps:
- uses: actions/checkout@master
- name: Set up Java version
uses: actions/setup-java@v1
with:
java-version: '11'
- name: Build with Maven
run: mvn clean install
- name: Deploy to Azure Web App
uses: azure/webapps-deploy@v1
with:
app-name: '**********'
slot-name: 'production'
publish-profile: ${{ secrets.AzureAppService_PublishProfile_12ee0e892d9c498898a01f1268a3dbd4 }}
package: '${{ github.workspace }}/target/*.jar'
可能需要注意的是,最初该文档说它是部署“WAR”应用程序,但我只是将它正在查找的文件从 更改.war
为.jar
. 我真的没有在应用服务中看到任何选项来配置它以期望 SBA(弹簧启动应用程序),但谷歌不需要我告诉它如何运行应用程序,那么 Azure 为什么会呢?
无论如何,我试图寻找这些日志的主要原因是因为我无法访问我公开的在 localhost 上工作的 api 端点。我收到一条消息The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
,这是我在尝试时得到的应用程序日志记录(监控 -> 日志流)(我手动呈现了原始 html 输出):
Azure 是否有任何类型的云日志记录可以让我了解为什么我的 vanilla spring 应用程序只有 404 处于生产状态?