Solo CI:輕量級 Golang CI/CD 工具

angeliamaclean 7年前發布 | 10K 次閱讀 Go語言 REST Google Go/Golang開發

Solo CI

Description

一個輕量級的Golang CI/CD工具,全自動clone代碼,構建,部署,只需要幾行配置即可

{
  "get_list":[
    "github.com/asaskevich/govalidator"
  ],
  "zip_list":[
    "conf"
  ],
  "after_script":"echo hello",
  "before_script":"pwd"
}

Features

  • 完美集成Gitlab,Github(future),Bitbucket(future)
  • 配置要求遠低于主流CI工具(Jenkins etc.)內存占用低,可以運行在任何配置Linux主機中
  • 一鍵開啟,只需要Golang環境和Git環境,程序會自動獲取自己所需要的環境
  • 配制簡單,只有四個配置項
  • 一鍵clone,build,打包成tar,只需要寫個SSH腳本部署到自己的機器即可
  • 支持自定義腳本,構建前構建后觸發均可自定義
  • REST API支持,可以集成進任何系統
  • 可以保存任意數量的構建,不丟任何構建

Use

  1. 配置好主機的GOPATH,GOROOT,GIT環境
  2. 下載solo-ci編譯好的程序
  3. 使用REST API新建項目
  4. 在你的項目中寫個簡單的solo.json,并且在代碼管理中配置webhook (配置地址請看REST API)
  5. push!觸發CI

REST API

POST http://your-ip:13233/v1/solohook/:project_id 觸發Webhook

POST http://your-ip:13233/v1/project

Params in form

  • name
  • type
  • url
  • path
  • branch
  • secret_token (非必要)

DELETE http://your-ip:13233/v1/project/:project_id 刪除項目

PUT http://your-ip:13233/v1/project/:project_id 更新項目

GET http://your-ip:13233/v1/project/:project_id 獲取項目信息

GET http://your-ip:13233/v1/project 獲取項目列表

Params in query

  • page (default 0)
  • pageSize (default 20)

solo-ci.json

  • get_list:需要下載的Go包
  • zip_list:構建完成需要打包進項目的文件或者目錄
  • before_script:構建之前執行的腳本
  • after_script:構建之后執行的腳本

所有的選項都不是必須存在的,及時你什么都不寫也可以,下面是一個空的配置文件例子

{

}</code></pre>

Next

  • Web GUI 支持
  • Github,Bitbucket支持

 

 本文由用戶 angeliamaclean 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!