Description
A lightweight Golang CI/CD tool that automatically clone code, build, and deploy with just a few lines of configuration
{
"get_list": ["github.com/asaskevich/govalidator"]."zip_list": ["conf"]."after_script":"echo hello"."before_script":"pwd"
}Copy the code
- Perfect integration with Gitlab, Github (Future), Bitbucket (Future)
- Configuration requirements are much lower than mainstream CI tools (Jenkins etc.) with low memory footprint and can run on any configured Linux host
- One key open, only need Golang environment and Git environment, the program will automatically obtain their own environment
- The configuration is simple and has only four configuration items
- Clone, build, and tar with one click. Just write an SSH script and deploy it to your machine
- Supports custom scripts, which can be customized before and after construction
- REST API support that can be integrated into any system
- You can save any number of builds without losing any
Use
- Configure the host GOPATH, GOROOT, GIT environment
- Download the solo-CI compiled program
- Create a new project using the REST API
- Write a simple solo.json file in your project and configure Webhook in code management (see REST API for the address).
- Push! Trigger a CI
POST trigger Webhook at http://your-ip:13233/v1/solohook/:project_id
POST http://your-ip:13233/v1/project
Params in form
- name
- type
- url
- path
- branch
- Secret_token (not necessary)
DELETE DELETE project at http://your-ip:13233/v1/project/:project_id
PUT http://your-ip:13233/v1/project/:project_id update project
GET http://your-ip:13233/v1/project/:project_id for project information
GET http://your-ip:13233/v1/project Obtain the project list
Params in query
- page (default 0)
- pageSize (default 20)
solo-ci.json
- Get_list: Go package to download
- Zip_list: files or directories that need to be packed into the project after the build is complete
- Before_script: Scripts executed before build
- After_script: A script that is executed after the build
None of the options need to exist, even if you write nothing at all. Here is an example of an empty configuration file
{}Copy the code
- The Web GUI support
- Github, Bitbucket support