传统上,我们必须一个接一个地在测试和预生产平台上交付我们的应用程序(通常是手动使用设置)。像前端javascript SPA UI这样的应用程序链接到后端服务,它们的交付有时会一起进行。每个服务和每个应用程序都有自己的git存储库。(我们目前使用的是本地TFS 2018 )然后,当需要投入生产时,我们一次性交付所有经过验证的前端服务和应用程序。
我们希望自动化我们的过程,但我们不知道Azure Devops是否合适。根据我对Azure Devops的理解,我们可以为每个微服务和每个前端应用程序创建一个独立的工件。我们也可以独立交付它们。
在我看来,Azure Devops默认允许您管理特定微服务的交付周期,但不允许管理组成完整系统的程序集的交付周期,对吧?
但有没有可能交付一组项目,每个项目都有一个特定的版本?因此,我们所有的项目都必须在相同的解决方案或相同的git库中吗?
发布于 2020-02-17 05:50:03
是的,您可以在单个管道或发布定义中使用来自不同来源的多个工件(构建工件、存储库、包提要、github、docker hub、Azure Container Registry、++)。无论是经典的版本定义还是现代的多阶段管道实现都是如此。
例如,您可以定义一个管道或发布定义,它使用来自RepoA的构建构件中的前端web应用程序、最初来自RepoB的容器注册表中使用的后端服务构件,以及来自RepoC的Git构件形式的脚本库。从那里,您可以将这些工件部署在一起,或并行部署,顺序部署,部分部署,批准部署,有条件部署等,所有这些都来自相同的管道。
作为代码YAML multi-stage管道的完整配置仍在预览中,因此有一些工作流编排更难实现。但是有足够多的经典版本定义的feature parity,我会默认使用multi-stage来满足任何新的需求。
https://stackoverflow.com/questions/60250487
复制相似问题