我想使用Azure Dev Ops设置持续交付。
在Github中,存储库目录结构如下:
FunctionApp项目引用了AspMvc项目中的对象,反之亦然。
我想创建一个.yaml文件,当与master合并时会触发生成。然后,我想构建功能应用程序并将其部署到Azure功能应用程序,并将AspMvc项目部署到Azure Web应用程序(如果可能)。
我是yaml和Azure Dev Ops的初学者,任何帮助将不胜感激!
由于您是yaml和Azure DevOps的初学者,我建议您首先为解决方案建立一个经典的编辑器CI / CD管道。
这将帮助您快速熟悉Azure DevOps的过程。然后,您可以学习如何在Azure DevOps中使用yaml。最后,尝试将经典管道转换为yaml管道。
对于多个项目,您只需要为CI使用一个构建管道即可。具有多个部署任务的CD的单个发布管道,或与每个项目相对应的CD的多个发布管道(推荐)。
在构建管道中,我们需要使用过滤器,分支过滤器和路径过滤器
/FunctionAppProject
和/AspMvcProject
。如果您与这些项目中的任何一个共享代码您将需要确保包括那些项目路径。路径过滤器使构建管道创建者可以方便地基于是否在任何给定提交中基于已修改文件的路径来决定是否触发构建。因此,如果路径与特定路径不匹配,则也将阻止触发构建。
某些博客可能会使您受益:
使用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
希望这会有所帮助。