/node-ci

CI Server and Git Integration for Node.js (very beta)

Primary LanguageJavaScriptMIT LicenseMIT

Node CI Server

This is a UI to support node.js development. It acts a CI hub for heroku, travis-ci and coveralls.io. It provides a hostable hub to aggregate the CI metrics and provides a single point of entry into each of the CI process; testing, persistance, coverage and regression.

  • Provide a front end for the forever node service. (Dropping this)
  • Github integration.
  • CI hooks for testing.

Configuration

The following configuration options will enabled at the CLI.

  • Port Range (required) - Defines ports available for new processes. Defaults to 3010 to 3020.
  • Repo Name (required) - Name of the public or private repo.
  • Repo Owner (required) - Name of the repo owner. Needed for github api activity.
  • Github Application (required) - Github API client ID and secret keys.
  • Base Domain (beta) - Domain that support wildcard subdomains.
  • Log Path (beta) - Base path for all log file.
  • Repo Build Path (beta) - Base path for storage of repo builds. Defaults to /tmp in the working folder.

Setup

Clone the repo to a working folder. Start with either node web.js or forever start web.js. The process will bind to port 3005. All log files drop in the install folder.

CLI

This application builds upon the work done by Charlie Robbins and the forever/forever-monitor projects. The UI interface will forever CLI activity. The current forever process lacks a few helper features needed to make the UI attach to the correct process. For this reason this project uses a fork of the forever and forever-monitor projects.

Roadmap (in Progress)

The following is a list of features still in development.

  • Strict github login to organization team members.
  • Implement the Base Domain configuration
  • Impliment the Log Path configuration.
  • Impliment the Repo Build Path configuration.
  • Impliment the startup config options in a mongod db.
  • Better domain to port mapping.
  • Better early failure and messaging of process changes.
  • Public metric report. (code coverage etc).

Roadmap (Planned)

The following is a list of features will build upon the base UI.

  • Persistent NPM testing and UI using Mongodb.
  • Persisent testing metrics and storage.
  • Persistent Session storage.
  • Alters to members on error, build etc.

License: MIT

Author: Stephan Smith