22 Star 205 Fork 93

GVPgo-atomci / atomci

加入 Gitee
与超过 1000 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md

介绍

AtomCI 一款云原生CICD平台,致力于让中小企业快速落地Kubernetes,支持k8s/reigstry/jenkins/代码源的轻松集成,高并发的流水线,云原生yaml支持,多环境灵活管理,权限控制等, 代码均已开源, 您的star 是我们开源的动力,非常感谢(:

为什么选择 atomci

  • 多代码源轻松集成( gitlab/gihub/gitee/gitea/gogs )
  • 强大的服务集成(不论是阿里云 /腾讯云,还是自建 k8s ;不管是自建 harbor 还是公有镜像仓库;均可以轻松集成)
  • 流水线灵活自定义
  • 支持原生的 yaml 应用编排
  • 环境灵活新增 /删除
  • 部署方式简单
  • 更多期待你的体验...

架构图

┌─────────┐
│         │
│ Git Scm ├──────┐      ┌───────────────────────┐    ┌──────────┐   ┌───────────────────────┐
│         │      │      │ AtomCI                │    │          │   │                       │
└─────────┘      │      │                       │    │          │   │  ┌────────────────┐   │
                 │      │      Frontend (Vue)   │    │          │   │  │ jnlp-agent pod1│   │
                 ├──────►                       ├────►          │   │  └────────────────┘   │
┌──────────┐     │      │                       │    │          ├───►                       │
│          │     │      │      Backend (Go)     ◄────┤  Jenkins │   │  ┌────────────────┐   │
│ Registry ├─────┤      │                       │    │          │   │  │ jnlp-agent pod2│   │
│          │     │      │                       │    │          │   │  └────────────────┘   │
└──────────┘     │      └──────────┬────────────┘    │          │   │        ....           │
                 │                 │                 │          │   │  ┌────────────────┐   │
┌───────────┐    │      ┌──────────┴────────────┐    ├──────────┤   │  │ jnlp-agent podn│   │
│           │    │      │                       │    │k8s/docker│   │  └────────────────┘   │
│ Kubernetes│    │      │        MySQL          │    │   or     │   │                       │
│           ├────┘      │                       │    │ warfile  │   │ agent on kubernetes   │
└───────────┘           └───────────────────────┘    └──────────┘   └───────────────────────┘

在线体验

在线体验, 非常感谢@liuzilong提供的kubernetes环境(:

账号 密码
atomci 123456

:

  • 体验帐户为授权用户,不显示“系统管理”的配置页面, 可本地安装完整体验。
  • 因k8s资源有限,部署的服务会定时清理,避免资源过分占用

视频演示

  1. 概述及如何安装部署 视频链接
  2. 介绍及快速开始 视频链接
  3. 5分钟全流程体验 视频链接

快速开始

一键部署最新版本

  1. 准备一台可以正常运行的linux服务器(支持MacOS)
  2. 安装Docker 和 Docker Compose
curl -sSL https://raw.githubusercontent.com/go-atomci/atomci/master/deploy/docker-compose/quick_start.sh | bash

如何本地运行

前置条件

  • go 1.18+
  • node v14.20.0
  • yarn v1.22.5
  • mysql 5.7

创建数据库

> create database atomci character set utf8mb4;

修改配置

# conf/app.conf
[DB]
url = root:root@tcp(127.0.0.1:3306)/atomci?charset=utf8mb4

[notification]
dingEnable = 1 # 启用钉钉通知;0:不启用,1:启用
ding = 钉钉机器人

mailEnable = 1 # 启用邮件通知;0:不启用,1:启用
smtpHost = SMTP服务器
smtpPort = 465
smtpAccount = 邮件账号
smtpPassword = 邮件密码

注: 对于[ldap],[jwt], [atomci]可以参照附录-『配置说明』进行修改

启动后端

# linux/mac环境
$ make run  

# windowns环境,或是没有make命令
$ go build -o atomci  cmd/atomci/main.go; ./atomci

启动前端

$ cd web
# 安装依赖
$ yarn install  #仅首次运行时需要执行  
# 运行
$ yarn run dev

访问

# 默认用户名/密码 admin/123456
http://your-ip:8081

如何构建镜像

前端

$ cd web
$ pwd
# ./atomci/web/
$ cd web ; docker build . 

后端

$ pwd
# ./atomci
$ docker build .

如果你使用 docker-compsoe方式部署的话,可以通过替换镜像地址的方式,即可使用master分支的最新代码.

贡献代码

可查阅AtomCI项目计划,在对应issues中回复认领,或者直接提交PR,感谢你对AtomCI的贡献
贡献包括但不限于以下方式:

  • 帮助文档
  • Bug修复
  • 新功能提交
  • 代码优化
  • 测试用例完善

请参阅Contribution Guide 获取更多的信息.

互动交流

AtomCI开发者


已知问题

Issues是本项目唯一的沟通渠道,如果在使用过程中遇到问题,请先查阅文档,如果仍无法解决,请查看相关日志,保存截图信息,给我们提交 issue,我们会及时标记、修复。

AtomCI 因你而变。


AtomCI 用户交流群

可添加 微信Wechat 邀请入群

附录

配置说明

配置项 默认值 说明
default::appname atomci 应用名
default::httpport 8080 应用侦听端口
default::runmode dev 运行模式dev|prod
default::copyrequestbody true 是否允许在 HTTP 请求时,返回原始请求体数据字节
日志配置
log::logfile log/atomci.log 日志文件
log::level 7 日志级别
log::separate ["error"] 分隔error独立一个文件, 默认是atomci.error.log
DB配置信息
DB::url root:root@tcp(127.0.0.1:3306)/atomci?charset=utf8mb4 数据库的链接信息
DB::debug false 是否开启debug
DB::rowsLimit 5000
DB::maxIdelConns 100
DB::maxOpenConns 200
LDAP 配置信息
ldap::host ldap.xxx.com
ldap::port 389
ldap::bindDN ldap@xx.com
ldap::bindPassword Xxx..,
ldap::userFilter (samaccountname=%s)
ldap::baseDN OU=Xxx,DC=xx,DC=com
JWT 配置
jwt::secret changemeforsecurity  jwt的加密使用的字段,建议修改

atomci::url http://localhost:8080 AtomCI 回调地址 

简介

为中国企业而来,以应用为中心的云原生cicd平台 - 流水线模板/并行构建/多环境管理/权限控制 - 致力于让中小企业快速落地Kubernetes 展开 收起
取消

发行版 (9)

全部

atomci

贡献者

全部

近期动态

加载更多
不能加载更多了
Go
1
https://gitee.com/goatom/atomci.git
git@gitee.com:goatom/atomci.git
goatom
atomci
atomci
master

搜索帮助