从控制台部署java函数应用程序可以使用以下命令:./mvnw azure-functions:deploy
但是,当尝试从Azure devops部署时,函数无法工作。函数显示在函数门户上。
每个功能的状态均为“已启用”
设置与以前相同。
所以一切似乎都很正常,但当我试图唤起一个函数时。响应是500内部服务器错误。
构建工件的yaml:YAML
Copy
trigger:
- master
pool:
vmImage: ubuntu-latest
steps:
- task: JavaToolInstaller@0
displayName: 'JavaToolInstaller Java version 17 '
inputs:
versionSpec: '17'
jdkArchitectureOption: 'x64'
jdkSourceOption: 'PreInstalled'
- task: Maven@3
displayName: 'Maven Build and Package'
inputs:
mavenPomFile: 'pom.xml'
goals: 'clean package'
options: '-DskipTests' # Optional, to skip tests
- task: Maven@3
displayName: 'Azure Functions Package'
inputs:
mavenPomFile: 'pom.xml'
goals: 'azure-functions:package'
options: ''
- task: CopyFiles@2
displayName: 'Copy Files to: $(build.artifactstagingdirectory)'
inputs:
SourceFolder: '$(system.defaultworkingdirectory)'
Contents: '**/azure-functions/**'
TargetFolder: '$(build.artifactstagingdirectory)'
condition: succeededOrFailed()
- task: ArchiveFiles@2
displayName: 'Archive $(Build.ArtifactStagingDirectory)/target/azure-functions/f-app-v2'
inputs:
rootFolderOrFile: '$(Build.ArtifactStagingDirectory)/target/azure-functions/f-app-v2'
includeRootFolder: false
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: drop'
inputs:
PathtoPublish: '$(build.artifactstagingdirectory)'
condition: succeededOrFailed()
字符串
我尝试将一个工件从Azure devops部署到Azure函数,看起来一切正常,但调用函数会返回500内部服务器错误。
2条答案
按热度按时间i34xakig1#
根据您的描述,您正在Azure DevOps Pipeline Maven任务中运行
./mvnw azure-functions:deploy
。根据这份文件:
该工具包包含验证、编译、测试、打包、验证、安装和部署。
您需要将命令:azure-functions:deploy放在Maven任务的options字段中。
举例来说:
字符串
然后,您可以使用AzureRmWebAppDeployment@4将包部署到Azure Function。
举例来说:
型
utugiqy62#
Azure函数应用程序有一个部署任务:Azure Function Deployment: ARM
你必须创建一个服务连接Connect to Microsoft Azure with an ARM service connection。然后使用它通过Azure DevOps管道进行部署:
字符串