功能概览
1. 概念介绍
1.1. 蓝图
蓝图是对应用的抽象。蓝图包含应用的拓扑、工作流以及策略三部分。蓝图是系统核心的概念,整个系统都是围绕着蓝图管理。软件架构师可以通过蓝图管理界面以可视化的方式设计出基于TOSCA标准的应用蓝图。用户在创建服务配置时直接使用内建或者软件架构师定义的蓝图。
1.2. 脚本库
脚本是指可以运行在终端的工具或命令,平台支持包括 Shell、Perl、Bat、PowerShell、Python、SQL 等类型脚本。管理员将海量的脚本在脚本库进行统一的创建和管理,支持根据业务需要创建一些共享脚本,供被授权的业务组某类角色成员,在任意场景下直接引用。
1.3. 制品库
制品仓库管理是对软件研发过程中生成的产物的管理,制品一般作为最终交付物完成发布和交付。所有的制品包,依赖组件均能够纳入制品库中统一管理。可快速在云管理平台上实现对多个环境下的镜像仓库和镜像制品进行数据的统一录入和自动化存储,提供给持续集成系统和发布系统使用。平台通过接入主流的制品仓库对制品进行存放管理和版本控制,云组件关联制品仓库并自定义应用的部署方式和相关参数。
云持续交付产品集成了DTR(Docker Trusted Registry)、Harbor、Nexus,帮助用户迅速搭建一个可部署于企业使用的私有制品源。
1.4. 组件库
云组件拥有“将任意资源”提供服务化的核心能力。云自动化管理平台内置大量常用的组件资源,包括IaaS(不同云平台的云主机、网络、存储等等)、PaaS(服务器、数据库、RDS等等)、容器(Kubernetes、Docker)、软件(MySQL、Oracle、Nginx等等)、代理(监控代理),不同类型资源在统一的界面进行创建和管理。
1.5. 持续集成系统
在 作业管理 - 入口 可以添加需要连接的持续集成系统,例如Jenkins。Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,主要用于持续、自动的构建/测试软件项目。Jenkins通常与版本管理工具、构建工具结合使用,常用的版本控制工具有SVN、Git,构建工具有Maven、Ant、Gradle。
平台广泛集成包括Jenkins、Git、Maven等DevOps工具链,帮助用户高效地构建代码,运行测试(CI),部署和更新应用程序的新版本(CD),致力于打造虚拟化、容器、多云等环境下,适应复杂业务场景的应用持续集成与交付。
1.6. 流水线阶段
指根据业务的需要,定义不同的流水线阶段,在每个阶段中定义需要完成的任务。例如,可定义软件打包、部署测试环境等不同的阶段。
1.7. 流水线任务
流水线具体执行的活动。支持自定义任务类型、输入输出参数,其中输入输出参数指云平台支持流水线各个任务之间传递的参数,例如将上一个任务新部署的虚拟机ID传给下一个任务进行调用。流水线的发布者可以定义每个任务的资源和参数,在后续的任务中进行调用。
任务类型包括:等待任务、蓝图部署任务、Jenkins任务、云资源运维任务、制品库解析任务、人工确认、更新资源池网络资源任务、第三方系统集成任务等。
1.8. 触发器
自定义流水线的触发条件,触发器定义何时自动运行流水线,可以手动触发流水线任务,也可以设定策略由触发器自动触发流水线任务。触发器类型包括:Webhook集成(支持Git,Gitlab等代码仓库改变触发)、Jenkins触发、定时触发、手工触发等等。
1.9. 流水线作业
流水线是持续交付的载体,通过构建自动化、集成自动化、验证自动化、部署自动化,完成从开发到上线过程的持续交付。通过持续向团队提供及时反馈,让交付过程高效顺畅。平台在流水线作业中集成了DevOps工具链,使用时通过脚本、组件、蓝图和可视化的流程编排来实现包括虚拟机在内的多种资源和服务的持续集成/持续交付。
2. 核心功能
通过骞云云持续交付产品,用户可以定义应用软件部署方式,通过制品仓库实现版本控制,利用可视化建模设计应用架构。定义并设计出各种场景适用的开发、部署、运维流水线,建设自动化的、可重复利用、安全合规的应用持续交付和部署,实现应用的测试、部署、更新、运维、回收全生命周期管理。
2.1. 服务编排
可视化的服务建模,通过拖拉拽的方式编排组件,设计IaaS,IaaS+,PaaS、CaaS等服务架构。支持跨多个云平台的应用场景的建模,包括跨虚拟化和容器平台的应用模型,同时支持多云统一建模的云中立蓝图。
2.2. 制品管理
支持制品库管理平台Nexus,VMware Harbor、Docker trusted镜像仓库等,实现软件的自动化安装,变更,升级等。
2.3. Jenkins对接
支持对接Jenkins仓库,通过Jenkins事件触发流水线。
2.4. 流水线作业
提供可视化的流水线作业的构建,一个完整的作业包括若干阶段,每个阶段可以包括若干任务。流水线作业支持共享给全部业务组和全部项目,或指定业务组、项目或角色成员查看和执行。
流水线任务支持制品库解析任务,能够解析二进制制品库中的软件制品包,获取软件包的下载地址;支持蓝图部署任务,可以申请和部署任意服务,创建新的资源;支持云资源运维任务,支持所有类型的云资源执行变更操作;支持Jenkins任务,执行已有的Job,可以将属性文件显示至任务执行的输出文件中;支持等待任务,定义间隔的等待时间;支持人工确认,在流水线执行时,人工确认继续执行或终止,满足多种场景的需求;支持启动另一个流水线的执行;支持在配置时选择特定的资源执行流水线,也可以配置在流水线执行时选择资源,或者通过流水线的上下文中进行获取。
支持查看流水线的历史执行状态、输出信息,例如针对虚拟机做批量执行脚本,可查看脚本输出日志和执行结果。