如何配置Azure DevOps Release Pipeline指定部署解决方案中对应Azure Functions项目
解决方案
第一步:调整Build Pipeline,生成独立的项目部署包
- 不要直接发布整个解决方案,在Build Pipeline中添加两个独立的
dotnet publish步骤,分别对应两个Azure Functions项目 - 每个publish步骤指定单独的项目路径,通过
--output参数配置不同的输出目录,示例命令如下:
dotnet publish 第一个Function项目路径/项目名.csproj --configuration Release --output $(Build.ArtifactStagingDirectory)/FuncApp1 dotnet publish 第二个Function项目路径/项目名.csproj --configuration Release --output $(Build.ArtifactStagingDirectory)/FuncApp2
- 添加「发布构建产物」步骤,将
$(Build.ArtifactStagingDirectory)下的所有内容发布为构建产物,完成后Release Pipeline就能获取到两个独立的项目部署包
如果你用的是可视化编辑器而非yaml配置,不需要手动写命令,在构建的发布步骤界面直接选择对应项目的输出目录作为发布路径即可。
第二步:配置Release Pipeline部署指定项目
如果选择创建两条独立的Release Pipeline,操作如下:
- 第一条Release Pipeline绑定上述构建产物,在「Azure App Service部署」步骤的「包或文件夹」配置项,选择产物路径下的
FuncApp1目录或该目录打包生成的zip包,目标App Service选择第一个对应的Function App - 第二条Release Pipeline同理,「包或文件夹」配置项选择产物路径下的
FuncApp2目录/zip包,目标App Service选择第二个对应的Function App
如果不需要分开两条Pipeline,也可以在单条Release Pipeline中添加两个部署步骤,每个步骤分别选择对应的包路径和目标App Service即可。
内容的提问来源于stack exchange,提问作者Xav Sc
相关产品推荐
相关产品推荐

