Solo CI:轻量级 Golang CI/CD 工具
angeliamaclean
8年前
<h2>Solo CI</h2> <h3>Description</h3> <p>一个轻量级的Golang CI/CD工具,全自动clone代码,构建,部署,只需要几行配置即可</p> <pre> <code class="language-go">{ "get_list":[ "github.com/asaskevich/govalidator" ], "zip_list":[ "conf" ], "after_script":"echo hello", "before_script":"pwd" }</code></pre> <h3>Features</h3> <ul> <li>完美集成Gitlab,Github(future),Bitbucket(future)</li> <li>配置要求远低于主流CI工具(Jenkins etc.)内存占用低,可以运行在任何配置Linux主机中</li> <li>一键开启,只需要Golang环境和Git环境,程序会自动获取自己所需要的环境</li> <li>配制简单,只有四个配置项</li> <li>一键clone,build,打包成tar,只需要写个SSH脚本部署到自己的机器即可</li> <li>支持自定义脚本,构建前构建后触发均可自定义</li> <li>REST API支持,可以集成进任何系统</li> <li>可以保存任意数量的构建,不丢任何构建</li> </ul> <h3>Use</h3> <ol> <li>配置好主机的GOPATH,GOROOT,GIT环境</li> <li>下载solo-ci编译好的程序</li> <li>使用REST API新建项目</li> <li>在你的项目中写个简单的solo.json,并且在代码管理中配置webhook (配置地址请看REST API)</li> <li>push!触发CI</li> </ol> <h3>REST API</h3> <p>POST http://your-ip:13233/v1/solohook/:project_id 触发Webhook</p> <p>POST http://your-ip:13233/v1/project</p> <p>Params in form</p> <ul> <li>name</li> <li>type</li> <li>url</li> <li>path</li> <li>branch</li> <li>secret_token (非必要)</li> </ul> <p>DELETE http://your-ip:13233/v1/project/:project_id 删除项目</p> <p>PUT http://your-ip:13233/v1/project/:project_id 更新项目</p> <p>GET http://your-ip:13233/v1/project/:project_id 获取项目信息</p> <p>GET http://your-ip:13233/v1/project 获取项目列表</p> <p>Params in query</p> <ul> <li>page (default 0)</li> <li>pageSize (default 20)</li> </ul> <h3>solo-ci.json</h3> <ul> <li>get_list:需要下载的Go包</li> <li>zip_list:构建完成需要打包进项目的文件或者目录</li> <li>before_script:构建之前执行的脚本</li> <li>after_script:构建之后执行的脚本</li> </ul> <p>所有的选项都不是必须存在的,及时你什么都不写也可以,下面是一个空的配置文件例子</p> <pre> <code class="language-go">{ }</code></pre> <h3>Next</h3> <ul> <li>Web GUI 支持</li> <li>Github,Bitbucket支持</li> </ul> <p> </p>