Azure Linux Webapp не может найти развернутый Spring .jar из репозитория DevOps - PullRequest
0 голосов
/ 14 апреля 2020

У меня есть Spring Web Application в репозитории DevOps, с .yml, который выглядит следующим образом (как генерируется инструментом в веб-клиенте DevOps):

# Build your Java project and deploy it to Azure as a Linux web app
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/java

trigger:
- master

variables:
  Version: '0.0.1'


  # Azure Resource Manager connection created during pipeline creation
  azureSubscription: '-snipped-'

  # Web app name
  webAppName: 'SlackCentralTestApp'

  # Environment name
  environmentName: 'SlackCentralTestApp'

  # Agent VM image name
  vmImageName: 'ubuntu-latest'

stages:
- stage: Build
  displayName: Build stage
  jobs:
  - job: MavenPackageAndPublishArtifacts
    displayName: Maven Package and Publish Artifacts
    pool:
      vmImage: $(vmImageName)

    steps:
    - task: Maven@3
      displayName: 'Maven Package'
      inputs:
        mavenPomFile: 'pom.xml'
        publishJUnitResults: true
        testResultsFiles: '**/surefire-reports/TEST-*.xml'
        javaHomeOption: 'JDKVersion'
        jdkVersionOption: '1.11'
        mavenVersionOption: 'Default'
        mavenAuthenticateFeed: false
        effectivePomSkip: false
        sonarQubeRunAnalysis: false

    - task: CopyFiles@2
      displayName: 'Copy Files to artifact staging directory'
      inputs:
        SourceFolder: '$(System.DefaultWorkingDirectory)'
        Contents: '**/target/SlackbotTest-$(Version)-SNAPSHOT.?(war|jar)'
        TargetFolder: $(Build.ArtifactStagingDirectory)

    - upload: $(Build.ArtifactStagingDirectory)
      artifact: drop

- stage: Deploy
  displayName: Deploy stage
  dependsOn: Build
  condition: succeeded()
  jobs:
  - deployment: DeployLinuxWebApp
    displayName: Deploy Linux Web App
    environment: $(environmentName)
    pool: 
      vmImage: $(vmImageName)
    strategy:
      runOnce:
        deploy:
          steps:
          - task: AzureWebApp@1
            displayName: 'Azure Web App Deploy: SlackCentralTestApp'
            inputs:
              azureSubscription: 'Azure for Students (4998490e-1bc4-43fc-a370-80744706d1f5)'
              appType: 'webAppLinux'
              appName: 'SlackCentralTestApp'
              package: '$(Pipeline.Workspace)/drop/target/SlackbotTest-$(Version)-SNAPSHOT.jar'
              runtimeStack: 'JAVA|11-java11'
              startUpCommand: 'java -jar $(Pipeline.Workspace)/drop/target/SlackbotTest-$(Version)-SNAPSHOT.jar'

Процесс развертывания выглядит следующим образом: успешно, как видно на этом скриншоте , но когда я смотрю на журнал сервера, меня, к сожалению, встречает следующая ошибка:

2020-04-14T09:03:55.658599508Z Initializing App Insights applicationinsights-agent-codeless-2.5.0.jar....
2020-04-14T09:03:55.669449167Z STARTUP_FILE=
2020-04-14T09:03:55.676322304Z STARTUP_COMMAND=java -jar /home/vsts/work/1/drop/target/SlackbotTest-0.0.1-SNAPSHOT.jar
2020-04-14T09:03:55.676350305Z No STARTUP_FILE available.
2020-04-14T09:03:55.676428905Z Running STARTUP_COMMAND: java -jar /home/vsts/work/1/drop/target/SlackbotTest-0.0.1-SNAPSHOT.jar
2020-04-14T09:03:55.681352232Z Error: Unable to access jarfile /home/vsts/work/1/drop/target/SlackbotTest-0.0.1-SNAPSHOT.jar
2020-04-14T09:03:55.694784805Z Finished running startup command 'java -jar /home/vsts/work/1/drop/target/SlackbotTest-0.0.1-SNAPSHOT.jar'. Exiting with exit code 1.

Это привело бы меня к выводу, что путь, указанный в свойстве 'startUpCommand' из файла .yml, неверен, но я не смог найти правильный путь.

Я попытался сделать следующее:

  1. Укажите без каталогов, только имя файла. К сожалению, приводит к тому же результату.
  2. Используйте команду 'find' в Bash, чтобы найти любые файлы .jar в веб-приложении, которые сообщают, что их нет.

Ручная сборка приложения из Web-приложения также не представляется возможным, так как это приложение Java 11, а java SE, который, кажется, включен, является версией 1.8, независимо от версии, которую я указал при создании. ресурса Web App в Azure.

...