Jenkins
Jenkins is a self-contained, open-source automation server. It is useful for Open SDG in a way that is typical of open-source projects: it "listens" for certain events in your Github repository, and then performs pre-configured tasks. Open SDG needs a CI tool to accomplish these things:
- Run each new proposed change through certain tests, to prevent regression bugs
- Build and deploy the platform to a "staging" environment whenever changes are made
- Build and deploy the platform to a "production" environment whenever a new release is made
Pros¶
- Large community of plugins and users
- Integrations with Github (and most other services) via plugins
Cons¶
- Must be self-hosted, which requires maintaining and upkeeping a server
- As a do-it-yourself option, requires more technical expertise to set up and run
Set-up¶
Jenkins has been around long enough for the creation of a multitude of tutorials and videos on how to set it up. The best place to start is the official Jenkins documentation.
Usage¶
As with set-up, Jenkins usage is well-documented online. A good place to start is the official Jenkins tutorials.