前言
随着近些年微服务的流行,有越来越多的开发者和团队所采纳和使用,它的确提供了很多的优势也解决了很多的问题,但是我们也知道也并不是银弹,提供优势的同时它也给我们的开发人员和团队也带来了很多的挑战。
为了迎接或者采用这些新技术,开发团队需要更加注重一些流程或工具的使用,这样才能更好的适应这些新技术所带来的一些问题。 对于流程行问题,敏捷的Scrum能够很好的提升产品开发团队之间的协作问题,那么对于应用变的越来越复杂这种情况,它最直接的问题就是带来了开发运维的复杂性,这个时候我们就需要使用工具来解决了。
开发运维的复杂性
从字面意思可以看出开发运维的复杂性指的是开发的复杂以及运维的复杂,然后我们具体来说一下到底是怎么复杂的。
我们先说开发的复杂性, 应用由单体变成分布式,需要处理分布式系统遇到的所有问题。 我在之前的博客里面大致都说过遇到的一些挑战,感兴趣的同学可以跳过去看下。
除此之外就是遇到的另外一个也会导致变得复杂就是应用的构建和发布以及部署,因为涉及到的服务特别多就带来了很多的问题,所以遇到的这些问题你可以认为应该开发处理也可以认为应该运维处理,那么就合在一起叫开发运维问题吧。
针对这种开发运维问题,业内提出了DevOps支持。
DevOps
DevOps (Development和Operations的组合词),他是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。
这种整合在微服务团队变得尤其重要,在整合的过程中需要用到很多的一些工具来解决遇到的问题,总之一图胜千言。

从上图可以看出在 Build 和 CI/CD 阶段需要用到很多的工具,我们需要写脚本对这些工具进行调用以便于让他们能够协同工作,通常我们会使用 shell 脚本,然后来调用这些工具提供的 cli 命令行,然后由构建平台来触发,比如 Jenkins 或者 GitLab CI, Team City 等等。
那么对于不熟悉 shell 的同学,或者觉得使用 shell 效率太低又不方便维护有没有其他的工具可以使用呢,最好是C#可以直接写? 答案当然是有的,今天就给大家强烈推荐一款利器 FlubuCore.
FlubuCore 是什么?

FlubuCore 是一个跨平台的自动化构建和部署系统,用于使用C#代码构建项目和执行部署脚本。
Github: https://github.com/dotnetcore/FlubuCore
文档:https://flubucore-zh.dotnetcore.xyz/










