Go to file
2017-03-11 15:17:24 +01:00
dist fix yarn install decision 2017-03-11 15:17:24 +01:00
test now fully async 2017-03-11 01:10:37 +01:00
ts fix yarn install decision 2017-03-11 15:17:24 +01:00
.gitignore fixed 16 file Buffer overflow 2016-11-25 13:25:45 +01:00
.gitlab-ci.yml improve gitlab.yml 2017-02-08 23:44:47 +01:00
.npmignore update docs and comments, add servezone compatibility 2016-09-04 13:42:22 +02:00
LICENSE initial 2016-05-26 22:17:57 +02:00
npmextra.json now fully async 2017-03-11 01:10:37 +01:00
package.json 2.3.49 2017-03-11 14:07:40 +01:00
README.md update links 2017-02-08 21:32:22 +01:00
tslint.json update deps and node version 2016-11-15 00:07:55 +01:00
yarn.lock update usage of yarn 2017-03-11 14:07:36 +01:00

NPMCI

npmci is your friend when it comes to handling npm packages during CI builds. It is optimized for GitLab CI

Availabililty

npm git git docs

Status for master

build status coverage report Dependency Status bitHound Dependencies bitHound Code TypeScript node

Usage

npmci is designed to work in docker CI environments. The following docker images come with npmci presinstalled:

Docker Hub:

npmci can be called from commandline:

# Install any node version:
npmci install lts # will install latest LTS node version and update PATH for node and npm versions
npmci install stable # will install latest stable node version and update PATH for node and npm
npmci install legacy # will install latest legacy node version and update PATH for node and npm
npmci install x.x.x #  will install any specific node version.

# Install any node version, install dependencies and run test in cwd:
npmci test lts # will install latest lts node version and run "npm install" and "npm test".
npmci test stable # will install latest stable node version and run "npm install" and "npm test".
npmci test legacy # will install latest legacy node version and run "npm install" and "npm test".
npmci test x.x.x # will install any specific node version and run "npm install" and "npm test".
npmci test docker # will test any build image with tests defined in ./npmci/dockertest_1.sh to ./npmci/dockertest_100.sh
## npmci test docker will look at all Dockerfiles and look for according tags on GitLab container registry


# prepare tools
npmci prepare npm # will look for $NPMCI_TOKEN_NPM env var and create .npmrc, so npm is authenticated
npmci prepare docker # will look for $NPMCI_LOGIN_DOCKER in form username|password and authenticate docker
npmci prepare docker-gitlab # will authenticate docker for gitlab container registry

# build containers
npmci build docker # will build containers
## all Dockerfiles named Dockerfile* are picked up.
## specify tags like this Dockerfile_[tag]
## uploads all built images as [username]/[reponame]:[tag]_test to GitLab
## then test in next step with "npmci test docker"

# publish npm module
npmci publish npm # will look vor $NPMCI_TOKEN_NPM env var and push any module in cwd to npm
npmci publish docker

# trigger webhooks
npmci trigger # will look for NPMCI_TRIGGER_1 to NPMCI_TRIGGER_100 in form domain|id|token|ref|name  

Configuration

npmci supports the use of npmextra.

To configure npmci create a npmextra.json file at the root of your project

{
    "npmci": {
        "globalNpmTools": [
            "npm-check-updates",
            "protractor",
            "npmts",
            "gitzone"
        ]
    }
}

Available options

setting example description
globalNpmTools "globalNpmTools": ["gitbook"] Will look for the specified package names locally and (if not yet present) install them from npm.

npm