The Continuous Integration system will be the central cornerstone :gem: of SPS. It is where all tools are run automatically, and every possible Code Quality issue is checked and audited in a completely automated way in a very timely manner.
The first aspect is to choose the CI Server. The number one priority would be for it to
Run ALL the tools (not just tests) like linters, coverage etc.
Easy GitHub integration. Run CI on every commit / PR, Uses Status API etc.
I think it boils down to Jenkins & TravisCI. This captures the summary of the sentiment the best:
TravisCI
Hosted Service
Free for Open Source
Expensive :moneybag: for private Repos
Without doubt the most popular CI used for Open Source.
Wonderful Github integration with the Status API
Easy to setup with a single configuration file.
Jenkins
Older, but has a lot of features
Not a hosted service
Not popular in the Open Source Community because of :point_up:
100% Open Source
Free for public & private repos (have to host on your own)
Very difficult to setup, a host of things to do.
So final call is, Use Travis for Open Source, Jenkins for Closed Source. Weird but should do for now.
This is a very informative article on how to setup Jenkins for JavaScript projects. @riteshe63 We should definitely find a "preconfigured" state in Jenkins for this.
The Continuous Integration system will be the central cornerstone :gem: of SPS. It is where all tools are run automatically, and every possible Code Quality issue is checked and audited in a completely automated way in a very timely manner.
The first aspect is to choose the CI Server. The number one priority would be for it to
Although there are many options out there, https://github.com/integrations
I think it boils down to Jenkins & TravisCI. This captures the summary of the sentiment the best:
TravisCI
Jenkins
So final call is, Use Travis for Open Source, Jenkins for Closed Source. Weird but should do for now.
This is a very informative article on how to setup Jenkins for JavaScript projects. @riteshe63 We should definitely find a "preconfigured" state in Jenkins for this.
https://strongloop.com/strongblog/node-js-travis-circle-codeship-compare/
Task can now be split into 2: