Rancher Pipeline
Pipeline,简单来说,就是一套运行于Rancher上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂发布流程。
Rancher Pipeline 主要在Rancher环境中用于运行持续集成、持续交付和持续部署任务,讲到pipeline就是敏捷开发的延伸的产物,我们不得不说持续集成、持续交付和持续部署。
持续集成:频繁地(一天多次)将代码集成到主干。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。
好处主要有两个:
快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易。
防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。
持续集成的目的:让产品可以快速迭代,同时还能保持高质量。它的核心措施是代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败就不能集成。
持续交付:将集成后的代码部署到更贴近真实运行环境的准生产环境中。比如,我们完成单元测试后,可以把代码部署到连接数据库的 Staging 环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境中。
持续部署:在持续交付的基础上,部署的前提是能自动化完成测试、构建、部署等步骤。
Rancher Pipeline是由RancherUI服务,Pipeline服务和Jenkins三部分组成,如图: