Giter Club home page Giter Club logo

goci's Introduction

Support with donation

Support with donation

GoCI

GoCI was made to be a simple continuous integration system made with Go (Golang).

It use a simple plugin mechanism that let you use some different plugins to execute tasks. Today we have two main plugins:

  • CLI = Execute anything from command line
  • JS = Execute a javascript file

Some project advantages:

  • With javascript you can create scripts that have own logic inside and use bultin function like: http request, regexp, command line execution, json parser and more - dont need use bash script for it
  • Everything is a simples JSON file - yes, you dont need one database!
  • From project to results - you can versioning everything if you want
  • You dont need reload the server for nothing - unless a crash or bug :)
  • It use a workspace directory, so you can have a lot of workspaces or one for all projects
  • The web interface if nice - made with bootstrap - all results need send HTML
  • Each job execution has progress, html ouput compatible with bootstrap, status, etc
  • Everything work with API and you can consume using external tools
  • It is open-source - you can collaborate
  • You can DONATE!

Configuration

GoCI configuration is a simple INI file called "config.ini".

Example of:

[server]
host = :8080
workspaceDir = YOUR-WORKSPACE-DIRECTORY
resourcesDir = YOUR-GOPATH-DIRECTORY + /src/github.com/prsolucoes/goci

Sample files

I have created a sample project file, a sample config file and a sample javascript file. Check it on extras/sample directory.

Starting

  1. Execute: go get -u github.com/prsolucoes/goci
  2. Execute: cd $GOPATH/src/github.com/prsolucoes/goci
  3. Execute: make deps
  4. Execute: make install
  5. Create config file (config.ini) based on some above example
  6. Execute: goci -f=config.ini
  7. Open in your browser: http://localhost:8080

** dont use character / on any configuration path **

API

Check file: controllers/api.go
Today we dont have a API doc - but is simple looking code [TODO]

Command line interface

You can use some make commands to control GoCI service, like start, stop and update from git repository.

  1. make stop = it will kill current GoCI process
  2. make update = it will update code from git and install on $GOPATH/bin directory
  3. make deps = download all dependencies
  4. make format = format all files (use it before make a pull-request)

So if you want start your server for example, you only need call "make start".

Alternative method to Build and Start project

  1. go build
  2. ./goci -f=config.ini

Sugestion

Today, only some functions are implemented. If you need one, you can make a pull-request or send a message in Github Issue.

Supported By Jetbrains IntelliJ IDEA

alt text

Author WebSite

http://www.pcoutinho.com

License

MIT

goci's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.