Go to file
2015-06-15 22:16:46 +03:00
data add blocks support 2015-06-15 22:16:46 +03:00
lib add blocks support 2015-06-15 22:16:46 +03:00
resources fix memory leak by correct listen for errors during build writes 2015-06-14 23:41:52 +03:00
static add and show build wait reason 2015-06-15 02:27:58 +03:00
test better wait reasons update + start working on running multiple projects after build complete 2015-06-15 21:40:01 +03:00
views base functionalit 2015-05-09 23:22:05 +03:00
.bowerrc react through requirejs 2015-04-10 23:17:03 +03:00
.gitignore store build data to fs 2015-05-13 00:07:03 +03:00
.npmignore add npmignore 2015-03-18 00:33:52 +03:00
app.js do not load json configs via require for prevent caching 2015-06-14 16:56:52 +03:00
bower.json terminal functionality 2015-06-14 18:24:03 +03:00
dataio.js patch dataio to notify resource clients from the server 2015-05-03 18:23:01 +03:00
db.js notify on change 2015-06-12 16:26:34 +03:00
gulpfile.js reload projects on file change 2015-06-14 16:40:20 +03:00
LICENSE.txt instial commit 2014-05-09 20:48:53 +04:00
package.json add sync script to package.json 2015-06-14 22:58:33 +03:00
README.md start working on notifiers 2015-05-22 00:09:16 +03:00

nci

nci - Continuous integration server written in node.js

work in progress...

TODO for release 1.0

  • Dashboard (builds list, projects autocomlete)
  • Build page (build info, console)
  • Url for trigger build run
  • YAML project and server(executors count, etc) configs
  • Persistent build and console output information
  • Project relations (blocks, triggers, etc)
  • Mail and jabber notifications (with commits, current step and error)
  • Work with git and mercurial (build every commit, commit with tag, etc)
  • Awesome build output (very close to terminal)
  • Ability to change build parameters from ui (at least target branch)
  • Semantic versioning and plugins
  • Safe id and build numbers generation
  • Better tests coverage

Roadmap

  • Responsive ui (persistent connection via socketio or something else + data streams (from shell commands, etc))
  • Console output should be very close to the terminal output
  • Shell command is the main script
  • Tasks relations can be set easily (runAfter, runBefore, prevents, prevented) it also can be attached to the specific branch or commit (e.g. release commits can trigger auto deploy tasks)
  • Ability to build every or specified commits (even if they pushed in a bunch)
  • Simple API for triggering build on scm hook
  • Project dependencies (all projects specified at dependencies should be built before build current project) and optional start for all projects after ci restart
  • Build can be continued from the current failed step
  • Failing of build step can be prevented if special condition for the build step is defined and matched (e.g. ui tests timeout error or internet connection problems detected by regexp) then step will be rerun without error
  • Approximate remaining build time should be shown
  • Named build steps
  • Target branch can be changed easily from ui
  • Embedded database (apparently level db)
  • Lightweight (minimal dependencies)