The CI server should either be polling for changes in version control repository systems, such as GitHub, at a specified time interval, or be configured via WebHook to trigger a software build. A CI build should perform certain actions on a scheduled basis—hourly or daily, if needs be. You should identify a quiet period during which no integration builds are performed for the project. A CI server should support different build scripting tools, such as Rake, Make, NPM, or Ant. A CI server should send emails to concerned parties, as well as display a history of previous builds.
A CI server should display a dashboard that is web accessible so that all concerned parties can review integration build information when necessary. ...