而对于持续集成流水线,以及持续交付流水线的管理和配置,Jenkins2.0通过PipelineAsCode的方式通过编写DSL来帮助我们实现全面的基础设施及代码的要求。
在代码库当中及包含源代码src,也包含我们的环境准备过程Dockerfile以及环境定义docker-compose.yml.rancher-compose.yml.同时我们将我们的持续交付流水线也通过Jenkinsfile的形式保存在源代码库中,那么只要我们获取了软件仓库的代码,就能够获取支撑我们软件交付各个阶段的所有物品,包括源代码以及运行时环境。并且对于任何代码或者环境的变更都能够通过持续交付流水线进行持续的验证和反馈
同时Rancher也提供了内置的监控功能:包括主机以及容器。通过Catalog我们也能快速的搭建ELK的日志分析平台以及其他的监控服务。
通过服务容器化,以及引入诸如Rancher这样的容器管理平台。我们可以使我们的研发团队更加专注于软件架构以及环境架构的设计,而将一些其他的运维和管理工作交给容器管理平台来管理。能有效的减少我们在DevOps实践当中的成本,包括人员能力以及自动化能力的要求。
同时对于微服务团队而言,我们基于持续交付流水线能够使软件交付各个阶段的人员能够有效的协同工作,保证我们能够又快又安全的交付软件,每一次代码变更都能够产生一个可工作的软件所以对于转型微服务而言,我们需要明白持续交付以及DevOps文化是支撑我们微服务转型的一个重要手段。
我们需要有独立自治的全功能型团队,通过引入虚拟化技术,容器化技技术,以及相应的管理平台来减少我们部署和运维的复杂度。并且通过更加完善的质量保证体系来确保我们的服务能够确实的去支撑我们的软件交付质量。 |