![](/img/trans.png)
[英]How to deploy an Azure function into a function app through a CI/CD pipeline?
[英]How to deploy a Azure Function using a CI pipeline?
大多数时候,当我部署 function 时,我是通过发布配置文件来完成的。 但是,我不知道如何通过 CI/CD 部署它。
当我尝试通过 Azure 上的部署中心进行操作时,它不起作用。 你在哪里 go 到部署中心 -> Github -> Azure 存储库 -> Z999382812/bra->16EFE489 我认为这是因为我的存储库文件夹设置不是它所期望的。 我的设置如下
-Repo folder
--Project1
--Project1Function
---Function1.cs
---Project1Function.csproj
---host.json
--.gitignore
--Project1.sln
我认为问题在于 Azure 期望包含 host.json 文件的 Project1Function 文件夹实际上位于存储库的根文件夹中。 问题是 Project1Function 引用了 Project1 并且基本上只是将 Project1 中的代码称为 function,这就是回购结构如此的原因。 因此,鉴于这种结构,我如何通过管道使用 CI 部署它? 我真的找不到描述如何执行此操作的好资源,因此指向教程/答案的链接也可以。
Azure function 可以以类似的方式部署 Azure WebApp 部署。 遵循正常的构建和部署流程
pool:
name: Azure Pipelines
demands:
- msbuild
- visualstudio
steps:
- task: NuGetToolInstaller@0
displayName: 'Use NuGet 4.4.1'
inputs:
versionSpec: 4.4.1
- task: NuGetCommand@2
displayName: 'NuGet restore'
inputs:
restoreSolution: '$(Parameters.solution)'
vstsFeed: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
- task: VSBuild@1
displayName: 'Build solution'
inputs:
solution: '$(Parameters.solution)'
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'
clean: true
- task: DotNetCoreCLI@2
displayName: 'dotnet publish'
inputs:
command: publish
publishWebProjects: false
projects: |
XXXXXX/XXXXXXXXXXX.csproj
arguments: '-o $(Build.ArtifactStagingDirectory)/XXXXXXXXX -c Release'
zipAfterPublish: false
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact'
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)/XXXXXXXXXX'
ArtifactName: '$(Parameters.ArtifactName)'
condition: succeededOrFailed()
steps:
- task: AzureRmWebAppDeployment@4
displayName: 'Deploy Azure App Service'
inputs:
azureSubscription: 'Subscription Name'
WebAppName: XXXXXX
VirtualApplication: /
packageForLinux: '$(System.DefaultWorkingDirectory)/_Pipelinename/drop/XXXXXX.zip'
我认为这是您正在寻找的资源Functions CI/CD
这表明文件夹结构是这里的问题。
您能否在同一解决方案中没有两个单独的项目,例如一个用于 Function 应用程序(具有所需的文件夹结构),一个用于另一个应用程序并在您的另一个项目中引用 Function 应用程序项目?
这可能有助于在 Function App 项目中获得所需的结构。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.