AtomCI ่ดๅไบ่ฎฉไธญๅฐไผไธๅฟซ้่ฝๅฐKubernetes๏ผไปฃ็ ๅๅทฒๅผๆบ, ๆจ็star ๆฏๆไปฌๅผๆบ็ๅจๅ๏ผ้ๅธธๆ่ฐข๏ผ๏ผ
โโโโโโโโโโโ
โ โ
โ Gitlab โโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ โ โ 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 โ
โโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโ
- ๆฆ่ฟฐๅๅฆไฝๅฎ่ฃ ้จ็ฝฒ ่ง้ข้พๆฅ
- ไป็ปๅๅฟซ้ๅผๅง ่ง้ข้พๆฅ
- 5ๅ้ๅ จๆต็จไฝ้ช ่ง้ข้พๆฅ
- 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
- ๅๅคไธๅฐๅฏไปฅๆญฃๅธธ่ฟ่ก็linuxๆๅกๅจ๏ผๆฏๆMacOS๏ผ
- ๅฎ่ฃ Docker ๅ Docker Compose
curl -sSL https://raw.githubusercontent.com/go-atomci/atomci/master/deploy/docker-compose/quick_start.sh | bash
$ cd web
$ pwd
# ./atomci/web/
$ cd web ; docker build .
$ pwd
# ./atomci
$ docker build .
ๅฆๆไฝ ไฝฟ็จ
docker-compsoe
ๆนๅผ้จ็ฝฒ็่ฏ๏ผๅฏไปฅ้่ฟๆฟๆข้ๅๅฐๅ็ๆนๅผ๏ผๅณๅฏไฝฟ็จmaster
ๅๆฏ็ๆๆฐไปฃ็ ๏ผ
AtomCI ๆฌข่ฟๅนถ้ผๅฑ็คพๅบ่ดก็ฎ๏ผ ่ฏทๅ้ Contribution Guide ่ทๅๆดๅค็ไฟกๆฏ๏ผ
AtomCI ไปๅจไธๆญๅฎๅไธญ๏ผ้ฎ้ขๅ่กจ๏ผ๏ผ ๅฆๆไฝ ๅ็ฐไฝ ๆณ็จ็ไธไบๅ่ฝไธ่ฝๆญฃๅธธๅทฅไฝ็่ฏ๏ผ็ฆ่ฏทๅๅปบissue๏ผๆไปฌไผๅๆถๆ ่ฎฐใไฟฎๅคใ
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็ๅ ๅฏไฝฟ็จ็ๅญๆฎต๏ผๅปบ่ฎฎไฟฎๆน |
K8s้
็ฝฎใ |
||
k8s::configPath |
./conf/k8sconfig | k8s ้ ็ฝฎๆไปถๅญๆพ่ทฏๅพ๏ผไธๅปบ่ฎฎไฟฎๆน |
atomci::url |
http://localhost:8080 | AtomCI ๅ่ฐๅฐๅใ |