导语
随着微服务、容器、云计算的发展,近些年 DevOps、CI/CD 等概念越来越多地映入大家的眼帘。许多开发团队都希望应用这些理念来提高软件质量和开发效率,工欲善其事必先利其器,什么样的工具才能够满足开发者的需求?TARS 作为一套优秀的开源微服务开发运营一体化平台,拥有多语言、高性能、敏捷研发、高可用等特点。那么 TARS 是否能够完美支持 DevOps 理念呢?本文通过将开源 CI 工具 Jenkins 与 TARS 集成,进行一次完整的实践来展示如何实现 TARS 服务的自动化构建与部署的流程。
目录
什么是 DevOps 和 CI/CD
随着微服务、容器、云计算的发展,近些年 DevOps、CI/CD 等概念越来越多地映入大家的眼帘。DevOps 是现在流行的一种软件开发方法,将持续开发、持续测试、持续集成、持续部署、持续监控等贯穿到软件开发的生命周期中,用于提高软件的开发质量,被当前几乎所有顶级公司采用。
CI/CD 是实现 DevOps 理念的重要一环,我们先来了解一下概念:CI 指持续集成(Continuous Integration),CD 指持续交付(Continuous Delivery)和持续部署(Continuous Deployment),意思是通过一系列自动化的脚本执行,实现开发过程中的代码的交付和部署,实现快速交付,提高团队开发的效率。
越来越多的开发团队都希望通过 DevOps 来提高软件质量和开发效率,工欲善其事必先利其器,TARS 作为一套优秀的开源微服务开发运营一体化平台,拥有多语言、高性能、敏捷研发、高可用等特点。通过将开源 CI 工具 Jenkins 与 TARS 集成即可实现针对TARS服务开发的 CI/CD 流程。
前期准备
环境
进行本文操作之前,需要提前部署一套 TARS 框架,TARS 框架的安装部署可以查阅官方文档中框架部署部分,要求是部署 Jenkins 的服务器节点能够访问到 TARS 的框架服务即可;也可以直接将 Jenkins 与 TARS 框架部署在同一节点上。
部署 Jenkins 的服务器节点需要能够被 GitHub 的 webhook 访问到,一般只要通外网并打开相应端口即可。
文中使用的操作系统、TARS 框架、TarsCpp 和 Jenkins 的版本如下
- 操作系统: CentOS7
- TarsFramework 版本: 2.4