如何从具有两个项目的Github存储库中设置Azure连续交付

问题描述 投票:0回答:1

我想使用Azure Dev Ops设置持续交付。

在Github中,存储库目录结构如下:

  • FunctionAppProject /
  • AspMvcProject /
  • Project.sln

FunctionApp项目引用了AspMvc项目中的对象,反之亦然。

我想创建一个.yaml文件,当与master合并时会触发生成。然后,我想构建功能应​​用程序并将其部署到Azure功能应用程序,并将AspMvc项目部署到Azure Web应用程序(如果可能)。

我是yaml和Azure Dev Ops的初学者,任何帮助将不胜感激!

asp.net-core azure-devops azure-functions continuous-deployment
1个回答
0
投票

由于您是yaml和Azure DevOps的初学者,我建议您首先为解决方案建立一个经典的编辑器CI / CD管道。

这将帮助您快速熟悉Azure DevOps的过程。然后,您可以学习如何在Azure DevOps中使用yaml。最后,尝试将经典管道转换为yaml管道。

对于多个项目,您只需要为CI使用一个构建管道即可。具有多个部署任务的CD的单个发布管道,或与每个项目相对应的CD的多个发布管道(推荐)。

在构建管道中,我们需要使用过滤器,分支过滤器和路径过滤器

  • 分支过滤器]下,单击添加并添加分支。只要提交到master分支,构建就会开始。
  • 路径过滤器]下,我们需要指定查找文件的路径更改,您将需要包含/FunctionAppProject/AspMvcProject。如果您与这些项目中的任何一个共享代码您将需要确保包括那些项目路径。
  • enter image description here

    路径过滤器使构建管道创建者可以方便地基于是否在任何给定提交中基于已修改文件的路径来决定是否触发构建。因此,如果路径与特定路径不匹配,则也将阻止触发构建。

某些博客可能会使您受益:

  1. Create a CI/CD pipeline for .NET with the Azure DevOps Project(如何在Azure DevOps中使用CI / CD)
  2. Multiple Project Deployment with Azure DevOps(如何处理Azure DevOps中的多个项目)
  3. How to publish artifacts separately for each project in solution from VSTS CI pipeline?(分别发布您的两个项目构建的工件)
  4. 使用Azure DevOps设置和部署项目后,将成功。

    然后,您可以学习YAML schema reference,这是有关Azure Pipelines YAML管道的详细参考指南。它包括所有受支持的YAML功能和可用选项的目录。

最后,将您的经典管道转换为yaml管道。例如,当使用分支和路径过滤器的yaml时,应如下所示:

# specific path build
trigger:
  branches:
    include:
    - master
    - releases/*
  paths:
    include:
    - FunctionAppProject/*
    - AspMvcProject/*
    exclude:
    - docs/README.md

希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.