我创建了一个Azure Function应用(Linux),运行在应用服务计划Y1上,并在Azure DevOps Git中拥有我的源代码。函数是在DOTNET 6上用C#编写的。
下面你可以看到我对CI的YAML定义和一个单独的CD管道。当我执行管道时,一切都运行良好(两者都是绿色)。然而,部署后,这是我的Azure门户在Functions
刀片中的外观:
使用VS代码Azure扩展并查看函数应用程序的文件,我得到:
当我查看CI管道的工件时,一切看起来都很好(下载zip的资源管理器视图):
bin
-文件夹将填充到此处。
一些要点:
- 我在函数应用程序中没有插槽。
- 部署在关联的App Insights中可见。
- 我的参考点是Microsoft Learn
那么,在VS代码中搜索时得到404是正常的吗?有人经历过类似的事情吗?甚至知道解决方案吗?
旁注:
我曾经使用VS代码部署我的函数,并安装扩展。今天我在部署后收到一个奇怪的错误消息:
CI YAML
pool:
vmImage: 'ubuntu-latest'
trigger: none
variables:
- name: 'Solution'
value: '**/MyProject.sln'
- name: 'ProjectFilter'
value: '**/*.csproj'
- name: 'BuildConfiguration'
value: 'Release'
steps:
- task: UseDotNet@2
displayName: Use DotNet 6
inputs:
version: '6.0.x'
- task: DotNetCoreCLI@2
displayName: Restore
inputs:
command: restore
projects: '$(ProjectFilter)'
- task: DotNetCoreCLI@2
displayName: Build
inputs:
projects: '$(ProjectFilter)'
arguments: '--no-restore --configuration $(BuildConfiguration)'
- task: DotNetCoreCLI@2
displayName: Publish Image Converter
inputs:
command: publish
projects: src/Functions/**/MyProject.csproj
publishWebProjects: false
arguments: '--no-restore --no-build --configuration $(BuildConfiguration) --output $(Build.DefaultWorkingDirectory)/function_publish_output'
zipAfterPublish: false
- task: ArchiveFiles@2
displayName: Archive Image Converter
inputs:
rootFolderOrFile: '$(Build.DefaultWorkingDirectory)/function_publish_output'
includeRootFolder: false
archiveFile: '$(Build.ArtifactStagingDirectory)/MyProject.zip'
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact'
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
condition: succeededOrFailed()
CD YAML
variables:
- name: 'vmImageName'
value: 'ubuntu-latest'
- name: 'serviceConnectionName'
value: 'MYCONN'
- name: 'project'
value: 'MYPROJECT'
resources:
pipelines:
- pipeline: ci
source: 'NAMEOFCI'
trigger: true
pool:
vmImage: $(vmImageName)
trigger: none
stages:
- stage: Production
displayName: Production
jobs:
- deployment: Deploy
displayName: 'Deploy'
environment: 'Production'
pool:
vmImage: $(vmImageName)
strategy:
runOnce:
deploy:
steps:
- download: ci
displayName: 'Download Artifact'
artifact: drop
- task: AzureFunctionApp@1
displayName: 'Deploy Image Converter Function'
inputs:
azureSubscription: '$(serviceConnectionName)'
appType: functionAppLinux
appName: 'fapp-**********-prod'
package: '$(Pipeline.Workspace)/ci/drop/MyProject.zip'
runtimeStack: 'DOTNET|6.0'
1条答案
按热度按时间pkmbmrz71#
您可以检查您在文件系统上看到的具体内容吗?您可以使用控制台或高级工具: