atomci
atomci copied to clipboard
🐳 为中国企业而来,以应用为中心的云原生cicd平台
ä»ç»
AtomCI ä¸æ¬¾äºåçCICDå¹³å°ï¼è´åäºè®©ä¸å°ä¼ä¸å¿«éè½å°Kubernetesï¼æ¯æk8s/reigstry/jenkins/代ç æºçè½»æ¾éæï¼é«å¹¶åçæµæ°´çº¿ï¼äºåçyamlæ¯æï¼å¤ç¯å¢çµæ´»ç®¡çï¼æéæ§å¶ç, 代ç åå·²å¼æº, æ¨çstar æ¯æ们å¼æºçå¨åï¼é常æè°¢ï¼ï¼
- github: https://github.com/go-atomci/atomci
- gitee: https://gitee.com/goatom/atomci
为ä»ä¹éæ© 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èµæºæéï¼é¨ç½²çæå¡ä¼å®æ¶æ¸ çï¼é¿å èµæºè¿åå ç¨
è§é¢æ¼ç¤º
- æ¦è¿°åå¦ä½å®è£ é¨ç½² è§é¢é¾æ¥
- ä»ç»åå¿«éå¼å§ è§é¢é¾æ¥
- 5åéå ¨æµç¨ä½éª è§é¢é¾æ¥
å¿«éå¼å§
ä¸é®é¨ç½²ææ°çæ¬
- åå¤ä¸å°å¯ä»¥æ£å¸¸è¿è¡çlinuxæå¡å¨ï¼æ¯æMacOSï¼
- å®è£ Docker å Docker Compose
curl -sSL https://raw.githubusercontent.com/go-atomci/atomci/master/deploy/docker-compose/quick_start.sh | bash
å¦ä½æ¬å°è¿è¡
åç½®æ¡ä»¶
- go
1.15
+ - node
v12.22.1
- 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 ç¨æ·äº¤æµç¾¤
å¯æ·»å 微信 é请å
¥ç¾¤
éå½
é 置说æ
é 置项 | é»è®¤å¼ | 说æ |
---|---|---|
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 |
[email protected] | |
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 åè°å°åã |