/open-c3

CICD系统/发布系统/作业平台/监控系统/云监控/故障自愈/K8S集群管理/CMDB/公有云资源管理/工单系统

Primary LanguagePerlGNU General Public License v2.0GPL-2.0

OPEN-C3



OPEN-C3为解决CI/CD/CO而生。

Documentations

book

Getting Started

docker run -p 8080:88 openc3/allinone:latest

Q&A

  • Any issue or question is welcome, Please feel free to open github issues :)
  • FAQ

介绍

在整个的运维环节中,对产品的持续构建(CI)持续部署(CD)伴随着产品的整个生命周期。 一个运行良好的运维系统可以辅助提升运营效率,达到持续运营(CO)的效果。OPEN-C3为解决CI/CD/CO而生。

可以把OPEN-C3当作CI/CD平台来使用。安装部署后便可以独立使用。根据文档中的描述可以方便的完成体验版单机版集群版的安装。同时可以根据实际情况,给OPEN-C3提供指定接口后,可以在不修改任何OPEN-C3代码的情况下对接公司的登录系统、服务树、权限系统、OA审批。

可以简单看一下OPEN-C3的设计理念。安装一个体验版试试吧。点击查看视频教程

社区

点击查看社区情况,可以扫描二维码添加open-c3微信。

微信二维码

特点

  • 高效的文件传输协议,在面对服务器数量庞大的情况下效果明显。
  • 强大的网络代理方式,可以方便的管理分布在全球各地区的服务器。
  • 高可用,系统没有核心单点,易运维,易部署,可以水平扩展。
  • 独立性,系统可以独立使用,也可以根据公司环境对接登录系统、服务树OA审批。
  • 插件性,可以方便的添加插件已满足对流程编排的不同的需求。
  • 支持作业叠加,支持流水线中调用流水线,作业中调用作业,从满足更复杂的编排要求。

架构

架构图

连接器

OPEN-C3系统内置登录管理、用户管理、权限管理、服务树、审批功能。
但考虑到企业环境中该部分功能需要和公司的基础架构进行联动。
OPEN-C3内部把这部分功能全部集中到了系统中的连接器模块。可以通过修改配置把这部分接口指向外部系统。

输入

以下几种动作可以操控OPEN-C3系统。他们影响着OPEN-C3的运行逻辑。

  • 人为操作

    • 用户在控制台上进行操作,可以配置流水线、作业、定时任务、可以批量操作服务器、批量传输文件等。
    • 用户的审批操作,审批操作可以通过移动端完成,审批的结果(通过或者拒绝)会影响OPEN-C3的流程。
  • 代码仓库触发

    代码的变化可以触发构建操作,同时构建操作可以和发布进行联动。

    • SVN: 通过打tag的方式进行触发。
    • GIT:支持tag方式和webhook方式触发(webhook方式可以做到每次git push操作都触发一次构建)
    • FILE: 支持通过上传文件触发构建。
  • 故障自愈系统触发

    • 如果有故障自愈系统,可以把自愈操作对接到OPEN-C3中。
  • 文件上传

    • 上传文件除了在控制台页面中直接上传,同时也可以通过命令来进行上传,可以配置成文件上传后触发某个流程,达到上传后立即发布的效果。
  • 定时任务

    • 可以在控制台中把一个作业流程配置成定时执行。

输出

  • 生成程序包

    • 构建成功后会保存构建好的压缩包,压缩包会保存在OPEN-C3的文件系统中等待发布时使用。
  • 上传镜像到镜像仓库

    • 如果是容器发布,可以配置成构建容器镜像,上传到镜像仓库中。
  • 控制服务器

    • 批量操作服务器,同时内置了部分指令用于发布程序。
    • 批量同步文件,文件同步可以跨区域,文件传输过程支持多对多传输。
  • 通过内建插件控制其他服务

    • 可以方便的添加插件,内置了terraform(可以用于资源编排)和kubectl(可以用于发布kubernetes应用)等插件。

控制台界面

前端有两种样式可以进行选择,可以在连接器中进行切换。

默认样式

仪表盘

聚云样式

聚云样式