从Azure DevOps管道部署的Java Azure函数成功,但未部署任何函数

时间:2020-05-04 12:44:09

标签: azure-devops azure-functions

我想创建用于部署Java Azure Function的管道。管道作业说成功(产生了1个工件,通过了100%的测试。上传了13个文件),但是我看不到Azure门户中部署的功能。

请给我建议。我以本教程为基础,但我使用的是Azure DevOps的Git Repo,而不是GitHub。 https://docs.microsoft.com/en-us/azure/devops/pipelines/ecosystems/java-function?view=azure-devops

我的Visual Code项目(解压缩)位于git / MyProject / FunctionsJava / Pom.xml位于(解压缩)/MyProject/FunctionsJava/pom.xml

我的yml以下:

trigger:
- master

pool:
  vmImage: 'ubuntu-latest'

# at the top of your YAML file 
# set some variables that you'll need when you deploy
variables:
# the name of the service connection that you created above
  serviceConnectionToAzure: connection-to-TestRG-rg
  # the name of your web app here is the same one you used above
  # when you created the web app using the Azure CLI
  appName: JavaFuncApp

# ...


steps:

   # ...
   # add these as the last steps
   # to deploy to your app service
   - task: CopyFiles@2
   displayName: Copy Files
   inputs:
    SourceFolder: $(system.defaultworkingdirectory)/MyProject/FunctionsJava/
    Contents: '**'
    TargetFolder: $(build.artifactstagingdirectory)   

- task: Maven@3
  inputs:
   mavenPomFile: '$(System.DefaultWorkingDirectory)/MyProject/FunctionsJava/pom.xml'
    mavenOptions: '-Xmx3072m'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: '1.8'
    jdkArchitectureOption: 'x64'
    publishJUnitResults: true
    testResultsFiles: '**/surefire-reports/TEST-*.xml'
    goals: 'package'

  - task: PublishBuildArtifacts@1
  displayName: Publish Artifact
  inputs:
   PathtoPublish: $(build.artifactstagingdirectory)    


- task: AzureWebApp@1
  inputs:
    azureSubscription: 'TestRG-Conn'
    appType: 'webApp'
    appName: '$(appName)'
    package:  $(build.artifactstagingdirectory)
    deploymentMethod: 'auto'

1 个答案:

答案 0 :(得分:1)

问题应由appType: 'webApp'任务中的AzureWebApp引起,appType应该为functionApp。 Web应用已部署到应用服务。

您可以尝试Azure Function App部署任务或Azure App Service deploy任务。

- task: AzureFunctionApp@1
  displayName: Azure Function App deploy
  inputs:
    azureSubscription: $(serviceConnectionToAzure)
    appType: functionApp
    appName: $(appName)
    package: $(build.artifactstagingdirectory)