如何使用 2 个项目从 Github 存储库设置 Azure 持续交付

How to set up Azure Continuous Delivery from Github repository with 2 Projects

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

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

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

我想创建一个 .yaml 文件,在合并到 master 时触发构建。然后,如果可能,我想构建 Function App 并将其部署到 Azure Function App,并将 AspMvc 项目部署到 Azure Web App。

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

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

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

对于多个项目,您只需要为 CI 使用单个构建管道。单个CD发布流水线,多个部署任务或每个项目对应CD的多个发布流水线(推荐)。

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

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

路径过滤器允许构建管道创建者方便地决定是否根据任何给定提交中修改文件的路径触发构建。因此,如果路径与特定路径不匹配,它也会阻止触发构建。

一些博客可能对您有所帮助:

  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. (分别发布您的两个项目构建的工件)

使用 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

希望对您有所帮助。