All Projects → node-ci → Nci

node-ci / Nci

Licence: other
Flexible, open source continuous integration server written in node.js

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Nci

Electron Demo
Demo app loading LevelDB into an Electron context.
Stars: ✭ 79 (-23.3%)
Mutual labels:  leveldb
Cog
A Persistent Embedded Graph Database for Python
Stars: ✭ 90 (-12.62%)
Mutual labels:  embedded-database
Libfpta
Ultra fast, compact, Embedded Database for tabular and semistructured data.
Stars: ✭ 100 (-2.91%)
Mutual labels:  embedded-database
Monorepo
Open source platform for code review automation ✅
Stars: ✭ 81 (-21.36%)
Mutual labels:  ci
Freebsd Ci
FreeBSD Continuous Integration (CI)
Stars: ✭ 85 (-17.48%)
Mutual labels:  ci
Github Codebuild Integration
Run and Integrate AWS CodeBuild with GitHub Push/Pull-Request webhook events.
Stars: ✭ 94 (-8.74%)
Mutual labels:  ci
Cssdbpy
Fastest SSDB client written on Cython. Production ready
Stars: ✭ 79 (-23.3%)
Mutual labels:  leveldb
Android Ci
A docker image for building Android apps. Supports multiple SDK Build Tools.
Stars: ✭ 101 (-1.94%)
Mutual labels:  ci
Xcode Ci
CI iOS/MacOS app via command-line
Stars: ✭ 86 (-16.5%)
Mutual labels:  ci
Templates
YML templates
Stars: ✭ 100 (-2.91%)
Mutual labels:  ci
Docker Builder
Docker builder builds Docker images from a friendly config file.
Stars: ✭ 81 (-21.36%)
Mutual labels:  ci
Leeroyci
Leeroy is a self hosted, continuous integration and build service
Stars: ✭ 84 (-18.45%)
Mutual labels:  ci
Dart Code Metrics
Software analytics tool that helps developers analyse and improve software quality.
Stars: ✭ 96 (-6.8%)
Mutual labels:  ci
Mhtextsearch
A fast full-text search library for Objective-C
Stars: ✭ 79 (-23.3%)
Mutual labels:  leveldb
Cize
🔌 Continuous integration with the simplest solution
Stars: ✭ 100 (-2.91%)
Mutual labels:  ci
Php Backslasher
[Git hook] Tool to add all PHP internal functions and constants to its namespace by adding backslash to them.
Stars: ✭ 79 (-23.3%)
Mutual labels:  ci
Lint Diff
💅 Run eslint only in the changed parts of the code
Stars: ✭ 92 (-10.68%)
Mutual labels:  ci
Has Changed Path
GitHub Action that saves time and money in monorepo environments
Stars: ✭ 102 (-0.97%)
Mutual labels:  ci
Orkestra
Functional DevOps with Scala and Kubernetes
Stars: ✭ 102 (-0.97%)
Mutual labels:  ci
Rain
🌧️ A live example to illustrate python packaging, testing, building, & deploying
Stars: ✭ 99 (-3.88%)
Mutual labels:  ci

nci

Flexible, open source continuous integration server written in node.js

It's good for those who prefer modular things to build system for specific requirements by blocks, starting from small core then extend functionality by plugins.

Build Status Coverage Status

Features

  • modular approach, small core a lot of plugins (e.g. rest api, web interface - plugins, not core)
  • modest system requirements (only node and scm clients are required, no external db)
  • pluginnable db storage (any levelup backend could be used)
  • using on-the-fly snappy compression for all stored data (builds, build logs) when leveldb (via leveldown backend) is used
  • working with any mercurial, git repositories (no matter is it service like github, bitbucket or private server, all you need is authenticate user from which nci server is running without password e.g. by ssh key)
  • damn fast single page web application interface (classic ui plugin)
  • server and projects could be configured with yaml (yaml reader plugin) - provides pretty shell scripting (strings without quotes, nice multiline strings, etc)
  • provides agile project relations out of the box (see blocks, blockedBy, trigger at sample project config)
  • could catch every or specific commits (see catchRev at sample project config)

Online demo is here.

System requirements

  • unix-like operating system, not tested on windows
  • node.js >= 0.10
  • git client >= 1.9 (only for building git projects)
  • mercurial client >= 2.8 (only for building mercurial projects)

Quick setup

Clone quick setup repo, go into it and install dependencies.

You can choose from one of following repositories with sample configurations:

  • With local node (all builds will be executed locally from user that started nci server):
git clone https://github.com/node-ci/nci-quick-setup && cd nci-quick-setup && npm install

  • With docker node (all builds will be executed within docker, requires installed docker client and server):
git clone https://github.com/node-ci/nci-docker-node-quick-setup && cd nci-docker-node-quick-setup && npm install

After installing dependencies run nci:

node_modules/.bin/nci

that's all, now you can experiment with it by adding/changing projects, use web interface (on http://127.0.0.1:3000 by default) for run project builds, etc.

Currently web interface doesn't support adding new projects or editing of existing projects. You have to do that by adding/editing project config file.

See basic tutorial for setup and usage details.

Resources

Plugins

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].