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.