我有以下用例:
我们有一个解决方案,包含5-10个不同的服务(不同版本的.NET框架网络应用程序)。我们必须在Azure DevOps中设置CI/CD,以便能够独立地(或同时实现所有服务)的每个服务的部署自动化。每个服务将有大约5个不同的环境。
挑战:
我们目前正在使用基于主干的开发,但我正在考虑转移到giflow,以具有基于分支的触发器,因为我觉得在这种情况下更容易管理。
发布于 2019-01-18 16:37:09
CI -由您的构建服务器(例如,团队城市)处理。职责:构建、测试、混淆、创建包,最后将包推送到nuget服务器(.net专用)。传统上,除了应用程序代码之外,您还需要至少两个其他包: db迁移、下面的迁移。
您只需构建一次包,并将确切的版本部署到任何其他您想要的地方。https://gist.github.com/leblancmeneses/1d352bb79447cd7a486598c4dc796ef1这个脚本与https://github.com/leblancmeneses/RobustHaven.DevOps一起工作
CD -处理类似章鱼部署。负责任地:协调整个集群的部署过程。章鱼从nuget服务器上提取包,并将它们移动到您想要的任何环境以及包含该环境的任何机器。
发布于 2019-01-11 05:21:43
您实际上不需要50个构建,每个服务可以使用单个构建(假设不同环境的构建是相同的),并从不同的分支构建。从技术上讲,如果您正确地创建触发器\阶段,那么您可以在50个环境中获得一个版本,但这将是一个混乱,只需为每个环境创建一个。我看不出在一个版本上管理50个环境是如何管理的。
当yaml发布管道到达时,这就变得微不足道了,现在不是,不幸的是。
https://stackoverflow.com/questions/54139735
复制相似问题