Compare commits

...

33 Commits

Author SHA1 Message Date
9595a82dc5 2.1.8 2016-06-04 00:35:55 +02:00
125f96edc4 update readme 2016-06-04 00:35:43 +02:00
f1244c33dc compile 2016-06-04 00:10:19 +02:00
dfe829541e start testing docker containers with npmci 2016-06-04 00:09:44 +02:00
51a695ed8e 2.1.7 2016-06-03 23:23:36 +02:00
10015aa0c1 update dependencies and add tag function 2016-06-03 23:22:50 +02:00
a65150b640 2.1.6 2016-06-03 19:45:40 +02:00
1f23b3693f compile 2016-06-03 19:45:34 +02:00
ce66e0a729 fix registry domain 2016-06-03 19:44:53 +02:00
606683aa8b cosmetics 2016-06-03 18:20:05 +02:00
b443662df8 2.1.5 2016-06-03 17:25:38 +02:00
c3179815c2 compile 2016-06-03 17:25:29 +02:00
dda4893e39 fix docker gitlab login 2016-06-03 17:24:55 +02:00
806647d7c3 2.1.4 2016-06-03 16:27:19 +02:00
6a0e74690d compile 2016-06-03 16:27:12 +02:00
27cb433c82 add docker tag push 2016-06-03 16:26:28 +02:00
e1245f24ce add some functions 2016-06-03 03:44:24 +02:00
42d3ecbe37 2.1.3 2016-06-03 02:56:26 +02:00
b19bb9569d start centralizing environment gathering 2016-06-03 02:56:20 +02:00
497659df1f compile 2016-06-03 02:11:03 +02:00
4047fc815b add build functionality 2016-06-03 02:10:34 +02:00
2a6d155a89 2.1.2 2016-06-03 01:58:44 +02:00
fa7f576ae5 add some more functionality 2016-06-03 01:58:37 +02:00
057e425824 update ci yml 2016-06-02 20:09:28 +02:00
90919ba009 2.1.1 2016-06-02 20:07:58 +02:00
7cda79daa6 fix regex targeting 2016-06-02 20:07:52 +02:00
5962339aff 2.1.0 2016-06-02 19:48:04 +02:00
6854b7a83f remove need for bash in docker environment 2016-06-02 19:47:57 +02:00
9e886db462 run trigger seperately 2016-06-02 19:41:03 +02:00
5bf8311380 2.0.29 2016-06-02 19:35:28 +02:00
6b82f8385c update triggerRegex 2016-06-02 19:35:16 +02:00
1159a9ab5c update trigger regex 2016-06-02 19:35:01 +02:00
5e4b93ed76 2.0.28 2016-06-02 18:46:34 +02:00
24 changed files with 325 additions and 112 deletions

View File

@@ -3,6 +3,7 @@ image: hosttoday/ht-docker-node:latest
stages:
- test
- release
- trigger
testLTS:
stage: test
@@ -38,3 +39,12 @@ release:
- tags
tags:
- docker
trigger:
stage: trigger
script:
- npmci trigger
only:
- tags
tags:
- docker

View File

@@ -1,5 +1,5 @@
# NPMCI
npmci is your friend when it comes to handling npm packages during CI builds.
npmci is your friend when it comes to handling npm packages during CI builds. It is optimized for GitLab CI
## Status
[![build status](https://gitlab.com/pushrocks/npmci/badges/master/build.svg)](https://gitlab.com/pushrocks/npmci/commits/master)
@@ -19,13 +19,29 @@ npmci can be called from commandline:
```shell
# 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 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".
# prepare tools
npmci prepare npm # will look vor $NPMCI_TOKEN_NPM env var and create .npmrc, so npm is authenticated
npmci prepare docker # will look $NPMCI_LOGIN_DOCKER ind form username|password and authenticate docker
npmci prepare docker-gitlab # will log you in to gitlab container registry
# build containers
npmci build docker # will build container and tag it
# publish npm module
npmci publish # will look vor $NPMCITOKEN env var and push any module in cwd to npm
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_99 in form domain|id|token|ref|name
```

20
dist/index.js vendored
View File

@@ -4,10 +4,11 @@ require("typings-global");
var plugins = require("./npmci.plugins");
var packJson = require("../package.json");
plugins.beautylog.info("npmci version: " + packJson.version);
var npmci_build_1 = require("./npmci.build");
var npmci_install_1 = require("./npmci.install");
var npmci_test_1 = require("./npmci.test");
var npmci_publish_1 = require("./npmci.publish");
var npmci_prepare_1 = require("./npmci.prepare");
var npmci_test_1 = require("./npmci.test");
var npmci_trigger_1 = require("./npmci.trigger");
var command;
var commandOption;
@@ -23,21 +24,26 @@ if (typeof command === 'undefined') {
process.exit(1);
}
switch (command) {
case "build":
npmci_build_1.build("commandArg");
break;
case "install":
npmci_install_1.install(commandOption);
break;
case "test":
npmci_test_1.test(commandOption);
break;
case "prepare":
npmci_prepare_1.prepare(commandOption);
break;
case "publish":
npmci_publish_1.publish(commandOption)
.then(npmci_trigger_1.trigger);
npmci_publish_1.publish(commandOption);
break;
case "test":
npmci_test_1.test(commandOption);
break;
case "trigger":
npmci_trigger_1.trigger();
break;
default:
break;
}
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLElBQVksT0FBTyxXQUFNLGlCQUFpQixDQUFDLENBQUE7QUFFM0MsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFMUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBRTdELDhCQUFzQixpQkFBaUIsQ0FBQyxDQUFBO0FBQ3hDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUNsQyw4QkFBc0IsaUJBQWlCLENBQUMsQ0FBQTtBQUN4Qyw4QkFBc0IsaUJBQWlCLENBQUMsQ0FBQTtBQUN4Qyw4QkFBc0IsaUJBQWlCLENBQUMsQ0FBQTtBQUd4QyxJQUFJLE9BQU8sQ0FBQztBQUNaLElBQUksYUFBYSxDQUFDO0FBRWxCLE9BQU8sQ0FBQyxTQUFTO0tBQ1osU0FBUyxDQUFDLGlDQUFpQyxDQUFDO0tBQzVDLE1BQU0sQ0FBQyxVQUFVLFVBQVUsRUFBRSxnQkFBZ0I7SUFDMUMsT0FBTyxHQUFHLFVBQVUsQ0FBQztJQUNyQixhQUFhLEdBQUcsZ0JBQWdCLENBQUM7QUFDckMsQ0FBQyxDQUFDLENBQUM7QUFFUCxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFdEMsRUFBRSxDQUFDLENBQUMsT0FBTyxPQUFPLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNqQyxPQUFPLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDbkMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQixDQUFDO0FBRUQsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUEsQ0FBQztJQUNiLEtBQUssU0FBUztRQUNWLHVCQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkIsS0FBSyxDQUFDO0lBQ1YsS0FBSyxNQUFNO1FBQ1AsaUJBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwQixLQUFLLENBQUM7SUFDVixLQUFLLFNBQVM7UUFDVix1QkFBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZCLEtBQUssQ0FBQztJQUNWLEtBQUssU0FBUztRQUNWLHVCQUFPLENBQUMsYUFBYSxDQUFDO2FBQ2pCLElBQUksQ0FBQyx1QkFBTyxDQUFDLENBQUM7UUFDbkIsS0FBSyxDQUFDO0lBQ1Y7UUFDSSxLQUFLLENBQUM7QUFDZCxDQUFDIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxyXG5pbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xyXG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcclxuXHJcbmxldCBwYWNrSnNvbiA9IHJlcXVpcmUoXCIuLi9wYWNrYWdlLmpzb25cIik7XHJcblxyXG5wbHVnaW5zLmJlYXV0eWxvZy5pbmZvKFwibnBtY2kgdmVyc2lvbjogXCIgKyBwYWNrSnNvbi52ZXJzaW9uKTtcclxuXHJcbmltcG9ydCB7aW5zdGFsbH0gZnJvbSBcIi4vbnBtY2kuaW5zdGFsbFwiO1xyXG5pbXBvcnQge3Rlc3R9IGZyb20gXCIuL25wbWNpLnRlc3RcIjtcclxuaW1wb3J0IHtwdWJsaXNofSBmcm9tIFwiLi9ucG1jaS5wdWJsaXNoXCI7XHJcbmltcG9ydCB7cHJlcGFyZX0gZnJvbSBcIi4vbnBtY2kucHJlcGFyZVwiO1xyXG5pbXBvcnQge3RyaWdnZXJ9IGZyb20gXCIuL25wbWNpLnRyaWdnZXJcIjtcclxuXHJcblxyXG5sZXQgY29tbWFuZDtcclxubGV0IGNvbW1hbmRPcHRpb247XHJcblxyXG5wbHVnaW5zLmNvbW1hbmRlclxyXG4gICAgLmFyZ3VtZW50cygnPGNvbW1hbmRhcmc+IFtjb21tYW5kb3B0aW9uYXJnXScpXHJcbiAgICAuYWN0aW9uKGZ1bmN0aW9uIChjb21tYW5kYXJnLCBjb21tYW5kb3B0aW9uYXJnKSB7XHJcbiAgICAgICAgY29tbWFuZCA9IGNvbW1hbmRhcmc7XHJcbiAgICAgICAgY29tbWFuZE9wdGlvbiA9IGNvbW1hbmRvcHRpb25hcmc7XHJcbiAgICB9KTtcclxuIFxyXG5wbHVnaW5zLmNvbW1hbmRlci5wYXJzZShwcm9jZXNzLmFyZ3YpO1xyXG4gXHJcbmlmICh0eXBlb2YgY29tbWFuZCA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgIGNvbnNvbGUuZXJyb3IoJ25vIGNvbW1hbmQgZ2l2ZW4hJyk7XHJcbiAgICBwcm9jZXNzLmV4aXQoMSk7XHJcbn1cclxuXHJcbnN3aXRjaCAoY29tbWFuZCl7XHJcbiAgICBjYXNlIFwiaW5zdGFsbFwiOlxyXG4gICAgICAgIGluc3RhbGwoY29tbWFuZE9wdGlvbik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICBjYXNlIFwidGVzdFwiOlxyXG4gICAgICAgIHRlc3QoY29tbWFuZE9wdGlvbik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICBjYXNlIFwicHJlcGFyZVwiOlxyXG4gICAgICAgIHByZXBhcmUoY29tbWFuZE9wdGlvbik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICBjYXNlIFwicHVibGlzaFwiOlxyXG4gICAgICAgIHB1Ymxpc2goY29tbWFuZE9wdGlvbilcclxuICAgICAgICAgICAgLnRoZW4odHJpZ2dlcik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG59XHJcblxyXG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLElBQVksT0FBTyxXQUFNLGlCQUFpQixDQUFDLENBQUE7QUFFM0MsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFMUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBRTdELDRCQUFvQixlQUNwQixDQUFDLENBRGtDO0FBQ25DLDhCQUFzQixpQkFBaUIsQ0FBQyxDQUFBO0FBQ3hDLDhCQUFzQixpQkFBaUIsQ0FBQyxDQUFBO0FBQ3hDLDhCQUFzQixpQkFBaUIsQ0FBQyxDQUFBO0FBRXhDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUNsQyw4QkFBc0IsaUJBQWlCLENBQUMsQ0FBQTtBQUd4QyxJQUFJLE9BQU8sQ0FBQztBQUNaLElBQUksYUFBYSxDQUFDO0FBRWxCLE9BQU8sQ0FBQyxTQUFTO0tBQ1osU0FBUyxDQUFDLGlDQUFpQyxDQUFDO0tBQzVDLE1BQU0sQ0FBQyxVQUFVLFVBQVUsRUFBRSxnQkFBZ0I7SUFDMUMsT0FBTyxHQUFHLFVBQVUsQ0FBQztJQUNyQixhQUFhLEdBQUcsZ0JBQWdCLENBQUM7QUFDckMsQ0FBQyxDQUFDLENBQUM7QUFFUCxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFdEMsRUFBRSxDQUFDLENBQUMsT0FBTyxPQUFPLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNqQyxPQUFPLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDbkMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQixDQUFDO0FBRUQsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUEsQ0FBQztJQUNiLEtBQUssT0FBTztRQUNSLG1CQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEIsS0FBSyxDQUFDO0lBQ1YsS0FBSyxTQUFTO1FBQ1YsdUJBQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2QixLQUFLLENBQUM7SUFDVixLQUFLLFNBQVM7UUFDVix1QkFBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZCLEtBQUssQ0FBQztJQUNWLEtBQUssU0FBUztRQUNWLHVCQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkIsS0FBSyxDQUFDO0lBQ1YsS0FBSyxNQUFNO1FBQ1AsaUJBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwQixLQUFLLENBQUM7SUFDVixLQUFLLFNBQVM7UUFDVix1QkFBTyxFQUFFLENBQUM7UUFDVixLQUFLLENBQUM7SUFDVjtRQUNJLEtBQUssQ0FBQztBQUNkLENBQUMiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXHJcbmltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XHJcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vbnBtY2kucGx1Z2luc1wiO1xyXG5cclxubGV0IHBhY2tKc29uID0gcmVxdWlyZShcIi4uL3BhY2thZ2UuanNvblwiKTtcclxuXHJcbnBsdWdpbnMuYmVhdXR5bG9nLmluZm8oXCJucG1jaSB2ZXJzaW9uOiBcIiArIHBhY2tKc29uLnZlcnNpb24pO1xyXG5cclxuaW1wb3J0IHtidWlsZH0gZnJvbSBcIi4vbnBtY2kuYnVpbGRcIlxyXG5pbXBvcnQge2luc3RhbGx9IGZyb20gXCIuL25wbWNpLmluc3RhbGxcIjtcclxuaW1wb3J0IHtwdWJsaXNofSBmcm9tIFwiLi9ucG1jaS5wdWJsaXNoXCI7XHJcbmltcG9ydCB7cHJlcGFyZX0gZnJvbSBcIi4vbnBtY2kucHJlcGFyZVwiO1xyXG5pbXBvcnQge3RhZywgcmV0YWd9IGZyb20gXCIuL25wbWNpLnRhZ1wiO1xyXG5pbXBvcnQge3Rlc3R9IGZyb20gXCIuL25wbWNpLnRlc3RcIjtcclxuaW1wb3J0IHt0cmlnZ2VyfSBmcm9tIFwiLi9ucG1jaS50cmlnZ2VyXCI7XHJcblxyXG5cclxubGV0IGNvbW1hbmQ7XHJcbmxldCBjb21tYW5kT3B0aW9uO1xyXG5cclxucGx1Z2lucy5jb21tYW5kZXJcclxuICAgIC5hcmd1bWVudHMoJzxjb21tYW5kYXJnPiBbY29tbWFuZG9wdGlvbmFyZ10nKVxyXG4gICAgLmFjdGlvbihmdW5jdGlvbiAoY29tbWFuZGFyZywgY29tbWFuZG9wdGlvbmFyZykge1xyXG4gICAgICAgIGNvbW1hbmQgPSBjb21tYW5kYXJnO1xyXG4gICAgICAgIGNvbW1hbmRPcHRpb24gPSBjb21tYW5kb3B0aW9uYXJnO1xyXG4gICAgfSk7XHJcbiBcclxucGx1Z2lucy5jb21tYW5kZXIucGFyc2UocHJvY2Vzcy5hcmd2KTtcclxuIFxyXG5pZiAodHlwZW9mIGNvbW1hbmQgPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICBjb25zb2xlLmVycm9yKCdubyBjb21tYW5kIGdpdmVuIScpO1xyXG4gICAgcHJvY2Vzcy5leGl0KDEpO1xyXG59XHJcblxyXG5zd2l0Y2ggKGNvbW1hbmQpe1xyXG4gICAgY2FzZSBcImJ1aWxkXCI6XHJcbiAgICAgICAgYnVpbGQoXCJjb21tYW5kQXJnXCIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgY2FzZSBcImluc3RhbGxcIjpcclxuICAgICAgICBpbnN0YWxsKGNvbW1hbmRPcHRpb24pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgY2FzZSBcInByZXBhcmVcIjpcclxuICAgICAgICBwcmVwYXJlKGNvbW1hbmRPcHRpb24pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgY2FzZSBcInB1Ymxpc2hcIjpcclxuICAgICAgICBwdWJsaXNoKGNvbW1hbmRPcHRpb24pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgY2FzZSBcInRlc3RcIjpcclxuICAgICAgICB0ZXN0KGNvbW1hbmRPcHRpb24pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgY2FzZSBcInRyaWdnZXJcIjpcclxuICAgICAgICB0cmlnZ2VyKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG59XHJcblxyXG4iXX0=

11
dist/npmci.build.js vendored
View File

@@ -1,9 +1,18 @@
"use strict";
require("typings-global");
var plugins = require("./npmci.plugins");
var env = require("./npmci.env");
exports.build = function (commandArg) {
switch (commandArg) {
case "docker":
return docker();
}
};
var docker = function () {
var done = plugins.q.defer();
plugins.shelljs.exec("docker build -t " + env.dockerTag());
done.resolve();
return done.promise;
};
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmJ1aWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFDeEIsSUFBWSxPQUFPLFdBQU0saUJBQWlCLENBQUMsQ0FBQTtBQUdoQyxhQUFLLEdBQUcsVUFBUyxVQUFVO0lBQ2xDLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFBIiwiZmlsZSI6Im5wbWNpLmJ1aWxkLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcclxuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9ucG1jaS5wbHVnaW5zXCI7XHJcbmltcG9ydCB7YmFzaH0gZnJvbSBcIi4vbnBtY2kuYmFzaFwiO1xyXG5cclxuZXhwb3J0IGxldCBidWlsZCA9IGZ1bmN0aW9uKGNvbW1hbmRBcmcpe1xyXG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcclxuICAgIHJldHVybiBkb25lLnByb21pc2U7XHJcbn0iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmJ1aWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFDeEIsSUFBWSxPQUFPLFdBQU0saUJBQWlCLENBQUMsQ0FBQTtBQUUzQyxJQUFZLEdBQUcsV0FBTSxhQUFhLENBQUMsQ0FBQTtBQUV4QixhQUFLLEdBQUcsVUFBUyxVQUFVO0lBQ2xDLE1BQU0sQ0FBQSxDQUFDLFVBQVUsQ0FBQyxDQUFBLENBQUM7UUFDZixLQUFLLFFBQVE7WUFDVCxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDeEIsQ0FBQztBQUNMLENBQUMsQ0FBQTtBQUVELElBQUksTUFBTSxHQUFHO0lBQ1QsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3QixPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUMzRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDZixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN4QixDQUFDLENBQUEiLCJmaWxlIjoibnBtY2kuYnVpbGQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xyXG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcclxuaW1wb3J0IHtiYXNofSBmcm9tIFwiLi9ucG1jaS5iYXNoXCI7XHJcbmltcG9ydCAqIGFzIGVudiBmcm9tIFwiLi9ucG1jaS5lbnZcIjtcclxuXHJcbmV4cG9ydCBsZXQgYnVpbGQgPSBmdW5jdGlvbihjb21tYW5kQXJnKXtcclxuICAgIHN3aXRjaChjb21tYW5kQXJnKXtcclxuICAgICAgICBjYXNlIFwiZG9ja2VyXCI6XHJcbiAgICAgICAgICAgIHJldHVybiBkb2NrZXIoKTsgICBcclxuICAgIH1cclxufVxyXG5cclxubGV0IGRvY2tlciA9IGZ1bmN0aW9uKCl7XHJcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xyXG4gICAgcGx1Z2lucy5zaGVsbGpzLmV4ZWMoXCJkb2NrZXIgYnVpbGQgLXQgXCIgKyBlbnYuZG9ja2VyVGFnKCkpO1xyXG4gICAgZG9uZS5yZXNvbHZlKCk7XHJcbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xyXG59XHJcblxyXG4iXX0=

11
dist/npmci.env.d.ts vendored
View File

@@ -1 +1,10 @@
export declare let env: () => void;
import "typings-global";
import { GitRepo } from "smartstring";
export declare let repo: GitRepo;
export declare let dockerTestTag: string;
export declare let dockerReleaseTag: string;
export declare let dockerRegistry: string;
export declare let dockerTagVersion: () => string;
export declare let dockerTag: () => string;
export declare let dockerTagTest: () => string;
export declare let dockerTagRelease: () => string;

23
dist/npmci.env.js vendored
View File

@@ -1,5 +1,24 @@
"use strict";
exports.env = function () {
require("typings-global");
var smartstring_1 = require("smartstring");
exports.repo = new smartstring_1.GitRepo(process.env.CI_BUILD_REPO);
exports.dockerRegistry = "docker.io"; // will be set by npmci.prepare
exports.dockerTagVersion = function () {
if (process.env.CI_BUILD_STAGE == "test") {
return "test";
}
else {
return "latest";
}
};
exports.dockerTag = function () {
return exports.dockerRegistry + "/" + exports.repo.user + "/" + exports.repo.repo + ":" + exports.dockerTagVersion() + " .";
};
exports.dockerTagTest = function () {
return exports.dockerRegistry + "/" + exports.repo.user + "/" + exports.repo.repo + ":test .";
};
exports.dockerTagRelease = function () {
return exports.dockerRegistry + "/" + exports.repo.user + "/" + exports.repo.repo + ":latest .";
};
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmVudi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQVcsV0FBRyxHQUFHO0FBRWpCLENBQUMsQ0FBQyIsImZpbGUiOiJucG1jaS5lbnYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgbGV0IGVudiA9IGZ1bmN0aW9uKCl7XHJcbiAgICBcclxufTsiXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmVudi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBR3hCLDRCQUFzQixhQUFhLENBQUMsQ0FBQTtBQUV6QixZQUFJLEdBQUcsSUFBSSxxQkFBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7QUFJOUMsc0JBQWMsR0FBRyxXQUFXLENBQUMsQ0FBQywrQkFBK0I7QUFFN0Qsd0JBQWdCLEdBQUc7SUFDMUIsRUFBRSxDQUFBLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLElBQUksTUFBTSxDQUFDLENBQUEsQ0FBQztRQUNyQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNKLE1BQU0sQ0FBQyxRQUFRLENBQUE7SUFDbkIsQ0FBQztBQUNMLENBQUMsQ0FBQTtBQUVVLGlCQUFTLEdBQUc7SUFDbkIsTUFBTSxDQUFDLHNCQUFjLEdBQUcsR0FBRyxHQUFHLFlBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLFlBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLHdCQUFnQixFQUFFLEdBQUUsSUFBSSxDQUFDO0FBQy9GLENBQUMsQ0FBQTtBQUVVLHFCQUFhLEdBQUc7SUFDdkIsTUFBTSxDQUFDLHNCQUFjLEdBQUcsR0FBRyxHQUFHLFlBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLFlBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO0FBQzFFLENBQUMsQ0FBQTtBQUVVLHdCQUFnQixHQUFHO0lBQzFCLE1BQU0sQ0FBQyxzQkFBYyxHQUFHLEdBQUcsR0FBRyxZQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxZQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQztBQUM1RSxDQUFDLENBQUEiLCJmaWxlIjoibnBtY2kuZW52LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcclxuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9ucG1jaS5wbHVnaW5zXCI7XHJcblxyXG5pbXBvcnQge0dpdFJlcG99IGZyb20gXCJzbWFydHN0cmluZ1wiO1xyXG5cclxuZXhwb3J0IGxldCByZXBvID0gbmV3IEdpdFJlcG8ocHJvY2Vzcy5lbnYuQ0lfQlVJTERfUkVQTyk7XHJcbmV4cG9ydCBsZXQgZG9ja2VyVGVzdFRhZzpzdHJpbmc7XHJcbmV4cG9ydCBsZXQgZG9ja2VyUmVsZWFzZVRhZzpzdHJpbmc7XHJcblxyXG5leHBvcnQgbGV0IGRvY2tlclJlZ2lzdHJ5ID0gXCJkb2NrZXIuaW9cIjsgLy8gd2lsbCBiZSBzZXQgYnkgbnBtY2kucHJlcGFyZVxyXG5cclxuZXhwb3J0IGxldCBkb2NrZXJUYWdWZXJzaW9uID0gZnVuY3Rpb24oKXtcclxuICAgIGlmKHByb2Nlc3MuZW52LkNJX0JVSUxEX1NUQUdFID09IFwidGVzdFwiKXtcclxuICAgICAgICByZXR1cm4gXCJ0ZXN0XCI7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBcImxhdGVzdFwiXHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBsZXQgZG9ja2VyVGFnID0gZnVuY3Rpb24oKXtcclxuICAgIHJldHVybiBkb2NrZXJSZWdpc3RyeSArIFwiL1wiICsgcmVwby51c2VyICsgXCIvXCIgKyByZXBvLnJlcG8gKyBcIjpcIiArIGRvY2tlclRhZ1ZlcnNpb24oKSArXCIgLlwiO1xyXG59XHJcblxyXG5leHBvcnQgbGV0IGRvY2tlclRhZ1Rlc3QgPSBmdW5jdGlvbigpe1xyXG4gICAgcmV0dXJuIGRvY2tlclJlZ2lzdHJ5ICsgXCIvXCIgKyByZXBvLnVzZXIgKyBcIi9cIiArIHJlcG8ucmVwbyArIFwiOnRlc3QgLlwiO1xyXG59XHJcblxyXG5leHBvcnQgbGV0IGRvY2tlclRhZ1JlbGVhc2UgPSBmdW5jdGlvbigpe1xyXG4gICAgcmV0dXJuIGRvY2tlclJlZ2lzdHJ5ICsgXCIvXCIgKyByZXBvLnVzZXIgKyBcIi9cIiArIHJlcG8ucmVwbyArIFwiOmxhdGVzdCAuXCI7XHJcbn1cclxuIl19

View File

@@ -5,4 +5,5 @@ export declare let q: any;
export declare let request: any;
export declare let shelljs: any;
export declare let smartssh: any;
export import smartstring = require("smartstring");
export import smartfile = require("smartfile");

View File

@@ -6,6 +6,7 @@ exports.q = require("q");
exports.request = require("request");
exports.shelljs = require("shelljs");
exports.smartssh = require("smartssh");
exports.smartstring = require("smartstring");
exports.smartfile = require("smartfile");
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUNWLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDcEMsaUJBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDakMsU0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNqQixlQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzdCLGVBQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0IsZ0JBQVEsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDNUIsaUJBQVMsV0FBVyxXQUFXLENBQUMsQ0FBQyIsImZpbGUiOiJucG1jaS5wbHVnaW5zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcclxuZXhwb3J0IGltcG9ydCBiZWF1dHlsb2cgPSByZXF1aXJlKFwiYmVhdXR5bG9nXCIpO1xyXG5leHBvcnQgbGV0IGNvbW1hbmRlciA9IHJlcXVpcmUoXCJjb21tYW5kZXJcIik7XHJcbmV4cG9ydCBsZXQgcSA9IHJlcXVpcmUoXCJxXCIpO1xyXG5leHBvcnQgbGV0IHJlcXVlc3QgPSByZXF1aXJlKFwicmVxdWVzdFwiKTtcclxuZXhwb3J0IGxldCBzaGVsbGpzID0gcmVxdWlyZShcInNoZWxsanNcIik7XHJcbmV4cG9ydCBsZXQgc21hcnRzc2ggPSByZXF1aXJlKFwic21hcnRzc2hcIik7XHJcbmV4cG9ydCBpbXBvcnQgc21hcnRmaWxlID0gcmVxdWlyZShcInNtYXJ0ZmlsZVwiKTsiXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUNWLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDcEMsaUJBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDakMsU0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNqQixlQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzdCLGVBQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0IsZ0JBQVEsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDNUIsbUJBQVcsV0FBVyxhQUFhLENBQUMsQ0FBQztBQUNyQyxpQkFBUyxXQUFXLFdBQVcsQ0FBQyxDQUFDIiwiZmlsZSI6Im5wbWNpLnBsdWdpbnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xyXG5leHBvcnQgaW1wb3J0IGJlYXV0eWxvZyA9IHJlcXVpcmUoXCJiZWF1dHlsb2dcIik7XHJcbmV4cG9ydCBsZXQgY29tbWFuZGVyID0gcmVxdWlyZShcImNvbW1hbmRlclwiKTtcclxuZXhwb3J0IGxldCBxID0gcmVxdWlyZShcInFcIik7XHJcbmV4cG9ydCBsZXQgcmVxdWVzdCA9IHJlcXVpcmUoXCJyZXF1ZXN0XCIpO1xyXG5leHBvcnQgbGV0IHNoZWxsanMgPSByZXF1aXJlKFwic2hlbGxqc1wiKTtcclxuZXhwb3J0IGxldCBzbWFydHNzaCA9IHJlcXVpcmUoXCJzbWFydHNzaFwiKTtcclxuZXhwb3J0IGltcG9ydCBzbWFydHN0cmluZyA9IHJlcXVpcmUoXCJzbWFydHN0cmluZ1wiKTtcclxuZXhwb3J0IGltcG9ydCBzbWFydGZpbGUgPSByZXF1aXJlKFwic21hcnRmaWxlXCIpOyJdfQ==

45
dist/npmci.prepare.js vendored

File diff suppressed because one or more lines are too long

19
dist/npmci.publish.js vendored
View File

@@ -3,23 +3,15 @@ require("typings-global");
var plugins = require("./npmci.plugins");
var npmci_prepare_1 = require("./npmci.prepare");
var npmci_bash_1 = require("./npmci.bash");
var env = require("./npmci.env");
exports.publish = function (serviceArg) {
if (serviceArg === void 0) { serviceArg = "npm"; }
var done = plugins.q.defer();
switch (serviceArg) {
case "npm":
publishNpm()
.then(function () {
done.resolve();
});
break;
return publishNpm();
case "docker":
publishDocker()
.then(function () {
done.resolve();
});
return publishDocker();
}
return done.promise;
};
var publishNpm = function () {
var done = plugins.q.defer();
@@ -35,10 +27,11 @@ var publishDocker = function () {
var done = plugins.q.defer();
npmci_prepare_1.prepare("docker")
.then(function () {
npmci_bash_1.bash("docker push");
npmci_bash_1.bash;
npmci_bash_1.bash("docker push " + env.dockerTag());
done.resolve();
});
return done.promise;
};
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnB1Ymxpc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDhCQUFzQixpQkFBaUIsQ0FBQyxDQUFBO0FBQ3hDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUV2QixlQUFPLEdBQUcsVUFBQyxVQUF5QjtJQUF6QiwwQkFBeUIsR0FBekIsa0JBQXlCO0lBQzNDLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUEsQ0FBQztRQUNoQixLQUFLLEtBQUs7WUFDTixVQUFVLEVBQUU7aUJBQ1AsSUFBSSxDQUFDO2dCQUNGLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNuQixDQUFDLENBQUMsQ0FBQztZQUNQLEtBQUssQ0FBQztRQUNWLEtBQUssUUFBUTtZQUNULGFBQWEsRUFBRTtpQkFDVixJQUFJLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ2YsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQUVGLElBQUksVUFBVSxHQUFJO0lBQ2QsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3Qix1QkFBTyxDQUFDLEtBQUssQ0FBQztTQUNULElBQUksQ0FBQztRQUNGLGlCQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUU7UUFDL0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ1IsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDdkIsQ0FBQyxDQUFBO0FBRUQsSUFBSSxhQUFhLEdBQUc7SUFDaEIsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3Qix1QkFBTyxDQUFDLFFBQVEsQ0FBQztTQUNaLElBQUksQ0FBQztRQUNGLGlCQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ1AsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFDIiwiZmlsZSI6Im5wbWNpLnB1Ymxpc2guanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xyXG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcclxuaW1wb3J0IHtwcmVwYXJlfSBmcm9tIFwiLi9ucG1jaS5wcmVwYXJlXCI7XHJcbmltcG9ydCB7YmFzaH0gZnJvbSBcIi4vbnBtY2kuYmFzaFwiO1xyXG5cclxuZXhwb3J0IGxldCBwdWJsaXNoID0gKHNlcnZpY2VBcmc6c3RyaW5nID0gXCJucG1cIikgPT4ge1xyXG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcclxuICAgIHN3aXRjaCAoc2VydmljZUFyZyl7XHJcbiAgICAgICAgY2FzZSBcIm5wbVwiOiBcclxuICAgICAgICAgICAgcHVibGlzaE5wbSgpXHJcbiAgICAgICAgICAgICAgICAudGhlbihmdW5jdGlvbigpe1xyXG4gICAgICAgICAgICAgICAgICAgIGRvbmUucmVzb2x2ZSgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJkb2NrZXJcIjpcclxuICAgICAgICAgICAgcHVibGlzaERvY2tlcigpXHJcbiAgICAgICAgICAgICAgICAudGhlbihmdW5jdGlvbigpe1xyXG4gICAgICAgICAgICAgICAgICAgIGRvbmUucmVzb2x2ZSgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xyXG59O1xyXG5cclxubGV0IHB1Ymxpc2hOcG0gID0gZnVuY3Rpb24oKXtcclxuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XHJcbiAgICBwcmVwYXJlKFwibnBtXCIpXHJcbiAgICAgICAgLnRoZW4oZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgYmFzaChcIm5wbSBwdWJsaXNoXCIpO1xyXG4gICAgICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy5vayhcIkRvbmUhXCIpIDtcclxuICAgICAgICAgICAgZG9uZS5yZXNvbHZlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgIHJldHVybiBkb25lLnByb21pc2U7XHJcbn1cclxuXHJcbmxldCBwdWJsaXNoRG9ja2VyID0gZnVuY3Rpb24oKXtcclxuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XHJcbiAgICBwcmVwYXJlKFwiZG9ja2VyXCIpXHJcbiAgICAgICAgLnRoZW4oZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgYmFzaChcImRvY2tlciBwdXNoXCIpO1xyXG4gICAgICAgICAgICBkb25lLnJlc29sdmUoKTtcclxuICAgICAgICB9KTtcclxuICAgIHJldHVybiBkb25lLnByb21pc2U7XHJcbn07Il19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnB1Ymxpc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDhCQUFzQixpQkFBaUIsQ0FBQyxDQUFBO0FBQ3hDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUNsQyxJQUFZLEdBQUcsV0FBTSxhQUFhLENBQUMsQ0FBQTtBQUV4QixlQUFPLEdBQUcsVUFBQyxVQUF5QjtJQUF6QiwwQkFBeUIsR0FBekIsa0JBQXlCO0lBQzNDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFBLENBQUM7UUFDaEIsS0FBSyxLQUFLO1lBQ04sTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3hCLEtBQUssUUFBUTtZQUNULE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMvQixDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsSUFBSSxVQUFVLEdBQUk7SUFDZCxJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdCLHVCQUFPLENBQUMsS0FBSyxDQUFDO1NBQ1QsSUFBSSxDQUFDO1FBQ0YsaUJBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwQixPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBRTtRQUMvQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQyxDQUFDLENBQUM7SUFDUixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN2QixDQUFDLENBQUE7QUFFRCxJQUFJLGFBQWEsR0FBRztJQUNoQixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdCLHVCQUFPLENBQUMsUUFBUSxDQUFDO1NBQ1osSUFBSSxDQUFDO1FBQ0YsaUJBQUksQ0FBQTtRQUNKLGlCQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQixDQUFDLENBQUMsQ0FBQztJQUNQLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQyIsImZpbGUiOiJucG1jaS5wdWJsaXNoLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcclxuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9ucG1jaS5wbHVnaW5zXCI7XHJcbmltcG9ydCB7cHJlcGFyZX0gZnJvbSBcIi4vbnBtY2kucHJlcGFyZVwiO1xyXG5pbXBvcnQge2Jhc2h9IGZyb20gXCIuL25wbWNpLmJhc2hcIjtcclxuaW1wb3J0ICogYXMgZW52IGZyb20gXCIuL25wbWNpLmVudlwiO1xyXG5cclxuZXhwb3J0IGxldCBwdWJsaXNoID0gKHNlcnZpY2VBcmc6c3RyaW5nID0gXCJucG1cIikgPT4ge1xyXG4gICAgc3dpdGNoIChzZXJ2aWNlQXJnKXtcclxuICAgICAgICBjYXNlIFwibnBtXCI6IFxyXG4gICAgICAgICAgICByZXR1cm4gcHVibGlzaE5wbSgpO1xyXG4gICAgICAgIGNhc2UgXCJkb2NrZXJcIjpcclxuICAgICAgICAgICAgcmV0dXJuIHB1Ymxpc2hEb2NrZXIoKTtcclxuICAgIH1cclxufTtcclxuXHJcbmxldCBwdWJsaXNoTnBtICA9IGZ1bmN0aW9uKCl7XHJcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xyXG4gICAgcHJlcGFyZShcIm5wbVwiKVxyXG4gICAgICAgIC50aGVuKGZ1bmN0aW9uKCl7XHJcbiAgICAgICAgICAgIGJhc2goXCJucG0gcHVibGlzaFwiKTtcclxuICAgICAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cub2soXCJEb25lIVwiKSA7XHJcbiAgICAgICAgICAgIGRvbmUucmVzb2x2ZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICByZXR1cm4gZG9uZS5wcm9taXNlO1xyXG59XHJcblxyXG5sZXQgcHVibGlzaERvY2tlciA9IGZ1bmN0aW9uKCl7XHJcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xyXG4gICAgcHJlcGFyZShcImRvY2tlclwiKVxyXG4gICAgICAgIC50aGVuKGZ1bmN0aW9uKCl7XHJcbiAgICAgICAgICAgIGJhc2ggXHJcbiAgICAgICAgICAgIGJhc2goXCJkb2NrZXIgcHVzaCBcIiArIGVudi5kb2NrZXJUYWcoKSk7XHJcbiAgICAgICAgICAgIGRvbmUucmVzb2x2ZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgcmV0dXJuIGRvbmUucHJvbWlzZTtcclxufTsiXX0=

3
dist/npmci.tag.d.ts vendored Normal file
View File

@@ -0,0 +1,3 @@
import "typings-global";
export declare let tag: (commandOptionArg: any) => void;
export declare let retag: () => void;

8
dist/npmci.tag.js vendored Normal file
View File

@@ -0,0 +1,8 @@
"use strict";
require("typings-global");
exports.tag = function (commandOptionArg) {
};
exports.retag = function () {
};
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnRhZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBTWIsV0FBRyxHQUFHLFVBQVMsZ0JBQWdCO0FBRTFDLENBQUMsQ0FBQTtBQUVVLGFBQUssR0FBRztBQUVuQixDQUFDLENBQUMiLCJmaWxlIjoibnBtY2kudGFnLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcclxuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9ucG1jaS5wbHVnaW5zXCI7XHJcbmltcG9ydCB7cHJlcGFyZX0gZnJvbSBcIi4vbnBtY2kucHJlcGFyZVwiO1xyXG5pbXBvcnQge2Jhc2h9IGZyb20gXCIuL25wbWNpLmJhc2hcIjtcclxuaW1wb3J0ICogYXMgZW52IGZyb20gXCIuL25wbWNpLmVudlwiO1xyXG5cclxuZXhwb3J0IGxldCB0YWcgPSBmdW5jdGlvbihjb21tYW5kT3B0aW9uQXJnKXtcclxuICAgIFxyXG59XHJcblxyXG5leHBvcnQgbGV0IHJldGFnID0gZnVuY3Rpb24oKXtcclxuICAgIFxyXG59O1xyXG4iXX0=

41
dist/npmci.test.js vendored
View File

@@ -3,18 +3,39 @@ require("typings-global");
var plugins = require("./npmci.plugins");
var npmci_bash_1 = require("./npmci.bash");
var npmci_install_1 = require("./npmci.install");
var env = require("./npmci.env");
exports.test = function (versionArg) {
var done = plugins.q.defer();
npmci_install_1.install(versionArg)
.then(function () {
plugins.beautylog.info("now installing dependencies:");
npmci_bash_1.bash("npm install");
plugins.beautylog.info("now starting tests:");
npmci_bash_1.bash("npm test");
plugins.beautylog.success("test finished");
done.resolve();
});
if (versionArg == "docker") {
testDocker()
.then(function () {
done.resolve();
});
}
else {
npmci_install_1.install(versionArg)
.then(npmDependencies)
.then(function () {
plugins.beautylog.info("now starting tests:");
npmci_bash_1.bash("npm test");
plugins.beautylog.success("test finished");
done.resolve();
});
}
return done.promise;
};
var npmDependencies = function () {
var done = plugins.q.defer();
plugins.beautylog.info("now installing dependencies:");
npmci_bash_1.bash("npm install");
done.resolve();
return done.promise;
};
var testDocker = function () {
var done = plugins.q.defer();
plugins.shelljs.exec("docker run --name " + env.repo.repo + " " + env.dockerTag());
done.resolve();
return done.promise;
};
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUNsQyw4QkFBc0IsaUJBQWlCLENBQUMsQ0FBQTtBQUU3QixZQUFJLEdBQUcsVUFBQyxVQUFVO0lBQ3pCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsdUJBQU8sQ0FBQyxVQUFVLENBQUM7U0FDZCxJQUFJLENBQUM7UUFDRixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQ3ZELGlCQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUM5QyxpQkFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pCLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQixDQUFDLENBQUMsQ0FBQTtJQUNOLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQSIsImZpbGUiOiJucG1jaS50ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcclxuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9ucG1jaS5wbHVnaW5zXCI7XHJcbmltcG9ydCB7YmFzaH0gZnJvbSBcIi4vbnBtY2kuYmFzaFwiO1xyXG5pbXBvcnQge2luc3RhbGx9IGZyb20gXCIuL25wbWNpLmluc3RhbGxcIjtcclxuXHJcbmV4cG9ydCBsZXQgdGVzdCA9ICh2ZXJzaW9uQXJnKSA9PiB7XHJcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xyXG4gICAgaW5zdGFsbCh2ZXJzaW9uQXJnKVxyXG4gICAgICAgIC50aGVuKGZ1bmN0aW9uKCl7XHJcbiAgICAgICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmluZm8oXCJub3cgaW5zdGFsbGluZyBkZXBlbmRlbmNpZXM6XCIpO1xyXG4gICAgICAgICAgICBiYXNoKFwibnBtIGluc3RhbGxcIik7XHJcbiAgICAgICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmluZm8oXCJub3cgc3RhcnRpbmcgdGVzdHM6XCIpO1xyXG4gICAgICAgICAgICBiYXNoKFwibnBtIHRlc3RcIik7XHJcbiAgICAgICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLnN1Y2Nlc3MoXCJ0ZXN0IGZpbmlzaGVkXCIpO1xyXG4gICAgICAgICAgICBkb25lLnJlc29sdmUoKTtcclxuICAgICAgICB9KVxyXG4gICAgcmV0dXJuIGRvbmUucHJvbWlzZTtcclxufSJdfQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUNsQyw4QkFBc0IsaUJBQWlCLENBQUMsQ0FBQTtBQUN4QyxJQUFZLEdBQUcsV0FBTSxhQUFhLENBQUMsQ0FBQTtBQUV4QixZQUFJLEdBQUcsVUFBQyxVQUFVO0lBQ3pCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsRUFBRSxDQUFBLENBQUMsVUFBVSxJQUFJLFFBQVEsQ0FBQyxDQUFBLENBQUM7UUFDdkIsVUFBVSxFQUFFO2FBQ1AsSUFBSSxDQUFDO1lBQ0YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ0osdUJBQU8sQ0FBQyxVQUFVLENBQUM7YUFDZCxJQUFJLENBQUMsZUFBZSxDQUFDO2FBQ3JCLElBQUksQ0FBQztZQUNGLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDOUMsaUJBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNqQixPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFBO0FBRUQsSUFBSSxlQUFlLEdBQUc7SUFDbEIsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3QixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQ3ZELGlCQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFBO0FBRUQsSUFBSSxVQUFVLEdBQUc7SUFDYixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdCLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNuRixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDZixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN4QixDQUFDLENBQUEiLCJmaWxlIjoibnBtY2kudGVzdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XHJcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vbnBtY2kucGx1Z2luc1wiO1xyXG5pbXBvcnQge2Jhc2h9IGZyb20gXCIuL25wbWNpLmJhc2hcIjtcclxuaW1wb3J0IHtpbnN0YWxsfSBmcm9tIFwiLi9ucG1jaS5pbnN0YWxsXCI7XHJcbmltcG9ydCAqIGFzIGVudiBmcm9tIFwiLi9ucG1jaS5lbnZcIjtcclxuXHJcbmV4cG9ydCBsZXQgdGVzdCA9ICh2ZXJzaW9uQXJnKSA9PiB7XHJcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xyXG4gICAgaWYodmVyc2lvbkFyZyA9PSBcImRvY2tlclwiKXtcclxuICAgICAgICB0ZXN0RG9ja2VyKClcclxuICAgICAgICAgICAgLnRoZW4oKCk9PntcclxuICAgICAgICAgICAgICAgIGRvbmUucmVzb2x2ZSgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaW5zdGFsbCh2ZXJzaW9uQXJnKVxyXG4gICAgICAgICAgICAudGhlbihucG1EZXBlbmRlbmNpZXMpXHJcbiAgICAgICAgICAgIC50aGVuKCgpPT57XHJcbiAgICAgICAgICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy5pbmZvKFwibm93IHN0YXJ0aW5nIHRlc3RzOlwiKTtcclxuICAgICAgICAgICAgICAgIGJhc2goXCJucG0gdGVzdFwiKTtcclxuICAgICAgICAgICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLnN1Y2Nlc3MoXCJ0ZXN0IGZpbmlzaGVkXCIpO1xyXG4gICAgICAgICAgICAgICAgZG9uZS5yZXNvbHZlKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRvbmUucHJvbWlzZTtcclxufVxyXG5cclxubGV0IG5wbURlcGVuZGVuY2llcyA9IGZ1bmN0aW9uKCl7XHJcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xyXG4gICAgcGx1Z2lucy5iZWF1dHlsb2cuaW5mbyhcIm5vdyBpbnN0YWxsaW5nIGRlcGVuZGVuY2llczpcIik7XHJcbiAgICBiYXNoKFwibnBtIGluc3RhbGxcIik7XHJcbiAgICBkb25lLnJlc29sdmUoKTtcclxuICAgIHJldHVybiBkb25lLnByb21pc2U7XHJcbn1cclxuXHJcbmxldCB0ZXN0RG9ja2VyID0gZnVuY3Rpb24oKXtcclxuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XHJcbiAgICBwbHVnaW5zLnNoZWxsanMuZXhlYyhcImRvY2tlciBydW4gLS1uYW1lIFwiICsgZW52LnJlcG8ucmVwbyArIFwiIFwiICsgZW52LmRvY2tlclRhZygpKTtcclxuICAgIGRvbmUucmVzb2x2ZSgpO1xyXG4gICAgcmV0dXJuIGRvbmUucHJvbWlzZTtcclxufVxyXG5cclxuIl19

15
dist/npmci.trigger.js vendored
View File

@@ -6,7 +6,7 @@ var triggerEnvPrefix = "NPMCI_TRIGGER_";
exports.trigger = function () {
var done = plugins.q.defer();
plugins.beautylog.info("now running triggers");
var triggerRegex = /^([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)/;
var triggerRegex = /^([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|?([a-zA-Z0-9\.\-\/]*)/;
for (var i = 0; i < 100; i++) {
var iteratorString = i.toString();
var triggerName = triggerEnvPrefix + iteratorString;
@@ -16,8 +16,15 @@ exports.trigger = function () {
var regexProjectId = triggerRegexResultArray[2];
var regexProjectTriggerToken = triggerRegexResultArray[3];
var regexRefName = triggerRegexResultArray[4];
plugins.beautylog.log("triggering build for ref " + regexRefName);
plugins.beautylog.log("Found TRIGGER" + iteratorString);
var regexTriggerName = void 0;
if (triggerRegexResultArray.length == 6) {
regexTriggerName = triggerRegexResultArray[5];
}
else {
regexTriggerName = "Unnamed Trigger";
}
plugins.beautylog.info("Found " + triggerName);
plugins.beautylog.log("triggering build for ref " + regexRefName + " of " + regexTriggerName);
plugins.request.post("https://gitlab.com/api/v3/projects/" + regexProjectId + "/trigger/builds", { form: { token: regexProjectTriggerToken, ref: regexRefName } });
}
}
@@ -25,4 +32,4 @@ exports.trigger = function () {
return done.promise;
};
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnRyaWdnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBSTNDLFdBQVc7QUFDWCxJQUFJLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO0FBRTdCLGVBQU8sR0FBRztJQUNqQixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdCLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDL0MsSUFBSSxZQUFZLEdBQUcseUVBQXlFLENBQUM7SUFDN0YsR0FBRyxDQUFBLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUMsQ0FBQztRQUN6QixJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEMsSUFBSSxXQUFXLEdBQUcsZ0JBQWdCLEdBQUcsY0FBYyxDQUFBO1FBQ25ELEVBQUUsQ0FBQSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQSxDQUFDO1lBQ3pCLElBQUksdUJBQXVCLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDMUUsSUFBSSxXQUFXLEdBQUcsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0MsSUFBSSxjQUFjLEdBQUcsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEQsSUFBSSx3QkFBd0IsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxRCxJQUFJLFlBQVksR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsR0FBRyxZQUFZLENBQUMsQ0FBQztZQUNsRSxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDLENBQUM7WUFDeEQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMscUNBQXFDLEdBQUcsY0FBYyxHQUFHLGlCQUFpQixFQUFFLEVBQUMsSUFBSSxFQUFDLEVBQUMsS0FBSyxFQUFDLHdCQUF3QixFQUFDLEdBQUcsRUFBQyxZQUFZLEVBQUMsRUFBQyxDQUFDLENBQUM7UUFDL0osQ0FBQztJQUNMLENBQUM7SUFDRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDZixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN4QixDQUFDLENBQUEiLCJmaWxlIjoibnBtY2kudHJpZ2dlci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XHJcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vbnBtY2kucGx1Z2luc1wiO1xyXG5pbXBvcnQge3ByZXBhcmV9IGZyb20gXCIuL25wbWNpLnByZXBhcmVcIjtcclxuaW1wb3J0IHtiYXNofSBmcm9tIFwiLi9ucG1jaS5iYXNoXCI7XHJcblxyXG4vL1ZhcmlhYmxlc1xyXG5sZXQgdHJpZ2dlckVudlByZWZpeCA9IFwiTlBNQ0lfVFJJR0dFUl9cIjtcclxuXHJcbmV4cG9ydCBsZXQgdHJpZ2dlciA9IGZ1bmN0aW9uKCl7XHJcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xyXG4gICAgcGx1Z2lucy5iZWF1dHlsb2cuaW5mbyhcIm5vdyBydW5uaW5nIHRyaWdnZXJzXCIpO1xyXG4gICAgbGV0IHRyaWdnZXJSZWdleCA9IC9eKFthLXpBLVowLTlcXC5dKilcXHwoW2EtekEtWjAtOVxcLl0qKVxcfChbYS16QS1aMC05XFwuXSopXFx8KFthLXpBLVowLTlcXC5dKikvO1xyXG4gICAgZm9yKGxldCBpID0gMDsgaSA8IDEwMDsgaSsrKXtcclxuICAgICAgICBsZXQgaXRlcmF0b3JTdHJpbmcgPSBpLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgbGV0IHRyaWdnZXJOYW1lID0gdHJpZ2dlckVudlByZWZpeCArIGl0ZXJhdG9yU3RyaW5nXHJcbiAgICAgICAgaWYocHJvY2Vzcy5lbnZbdHJpZ2dlck5hbWVdKXtcclxuICAgICAgICAgICAgbGV0IHRyaWdnZXJSZWdleFJlc3VsdEFycmF5ID0gdHJpZ2dlclJlZ2V4LmV4ZWMocHJvY2Vzcy5lbnZbdHJpZ2dlck5hbWVdKTtcclxuICAgICAgICAgICAgbGV0IHJlZ2V4RG9tYWluID0gdHJpZ2dlclJlZ2V4UmVzdWx0QXJyYXlbMV07XHJcbiAgICAgICAgICAgIGxldCByZWdleFByb2plY3RJZCA9IHRyaWdnZXJSZWdleFJlc3VsdEFycmF5WzJdO1xyXG4gICAgICAgICAgICBsZXQgcmVnZXhQcm9qZWN0VHJpZ2dlclRva2VuID0gdHJpZ2dlclJlZ2V4UmVzdWx0QXJyYXlbM107XHJcbiAgICAgICAgICAgIGxldCByZWdleFJlZk5hbWUgPSB0cmlnZ2VyUmVnZXhSZXN1bHRBcnJheVs0XTtcclxuICAgICAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cubG9nKFwidHJpZ2dlcmluZyBidWlsZCBmb3IgcmVmIFwiICsgcmVnZXhSZWZOYW1lKTtcclxuICAgICAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cubG9nKFwiRm91bmQgVFJJR0dFUlwiICsgaXRlcmF0b3JTdHJpbmcpO1xyXG4gICAgICAgICAgICBwbHVnaW5zLnJlcXVlc3QucG9zdChcImh0dHBzOi8vZ2l0bGFiLmNvbS9hcGkvdjMvcHJvamVjdHMvXCIgKyByZWdleFByb2plY3RJZCArIFwiL3RyaWdnZXIvYnVpbGRzXCIsIHtmb3JtOnt0b2tlbjpyZWdleFByb2plY3RUcmlnZ2VyVG9rZW4scmVmOnJlZ2V4UmVmTmFtZX19KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBkb25lLnJlc29sdmUoKTtcclxuICAgIHJldHVybiBkb25lLnByb21pc2U7XHJcbn0iXX0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnRyaWdnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBSTNDLFdBQVc7QUFDWCxJQUFJLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO0FBRTdCLGVBQU8sR0FBRztJQUNqQixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdCLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDL0MsSUFBSSxZQUFZLEdBQUcsZ0dBQWdHLENBQUM7SUFDcEgsR0FBRyxDQUFBLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUMsQ0FBQztRQUN6QixJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEMsSUFBSSxXQUFXLEdBQUcsZ0JBQWdCLEdBQUcsY0FBYyxDQUFBO1FBQ25ELEVBQUUsQ0FBQSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQSxDQUFDO1lBQ3pCLElBQUksdUJBQXVCLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDMUUsSUFBSSxXQUFXLEdBQUcsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0MsSUFBSSxjQUFjLEdBQUcsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEQsSUFBSSx3QkFBd0IsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxRCxJQUFJLFlBQVksR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QyxJQUFJLGdCQUFnQixTQUFBLENBQUM7WUFDckIsRUFBRSxDQUFBLENBQUMsdUJBQXVCLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFBLENBQUM7Z0JBQ3BDLGdCQUFnQixHQUFHLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xELENBQUM7WUFBQyxJQUFJLENBQUMsQ0FBQztnQkFDSixnQkFBZ0IsR0FBRyxpQkFBaUIsQ0FBQztZQUN6QyxDQUFDO1lBQ0QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQyxDQUFDO1lBQy9DLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLDJCQUEyQixHQUFHLFlBQVksR0FBRyxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQztZQUM5RixPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxxQ0FBcUMsR0FBRyxjQUFjLEdBQUcsaUJBQWlCLEVBQUUsRUFBQyxJQUFJLEVBQUMsRUFBQyxLQUFLLEVBQUMsd0JBQXdCLEVBQUMsR0FBRyxFQUFDLFlBQVksRUFBQyxFQUFDLENBQUMsQ0FBQztRQUMvSixDQUFDO0lBQ0wsQ0FBQztJQUNELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQSIsImZpbGUiOiJucG1jaS50cmlnZ2VyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcclxuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9ucG1jaS5wbHVnaW5zXCI7XHJcbmltcG9ydCB7cHJlcGFyZX0gZnJvbSBcIi4vbnBtY2kucHJlcGFyZVwiO1xyXG5pbXBvcnQge2Jhc2h9IGZyb20gXCIuL25wbWNpLmJhc2hcIjtcclxuXHJcbi8vVmFyaWFibGVzXHJcbmxldCB0cmlnZ2VyRW52UHJlZml4ID0gXCJOUE1DSV9UUklHR0VSX1wiO1xyXG5cclxuZXhwb3J0IGxldCB0cmlnZ2VyID0gZnVuY3Rpb24oKXtcclxuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XHJcbiAgICBwbHVnaW5zLmJlYXV0eWxvZy5pbmZvKFwibm93IHJ1bm5pbmcgdHJpZ2dlcnNcIik7XHJcbiAgICBsZXQgdHJpZ2dlclJlZ2V4ID0gL14oW2EtekEtWjAtOVxcLl0qKVxcfChbYS16QS1aMC05XFwuXSopXFx8KFthLXpBLVowLTlcXC5dKilcXHwoW2EtekEtWjAtOVxcLl0qKVxcfD8oW2EtekEtWjAtOVxcLlxcLVxcL10qKS87XHJcbiAgICBmb3IobGV0IGkgPSAwOyBpIDwgMTAwOyBpKyspe1xyXG4gICAgICAgIGxldCBpdGVyYXRvclN0cmluZyA9IGkudG9TdHJpbmcoKTtcclxuICAgICAgICBsZXQgdHJpZ2dlck5hbWUgPSB0cmlnZ2VyRW52UHJlZml4ICsgaXRlcmF0b3JTdHJpbmdcclxuICAgICAgICBpZihwcm9jZXNzLmVudlt0cmlnZ2VyTmFtZV0pe1xyXG4gICAgICAgICAgICBsZXQgdHJpZ2dlclJlZ2V4UmVzdWx0QXJyYXkgPSB0cmlnZ2VyUmVnZXguZXhlYyhwcm9jZXNzLmVudlt0cmlnZ2VyTmFtZV0pO1xyXG4gICAgICAgICAgICBsZXQgcmVnZXhEb21haW4gPSB0cmlnZ2VyUmVnZXhSZXN1bHRBcnJheVsxXTtcclxuICAgICAgICAgICAgbGV0IHJlZ2V4UHJvamVjdElkID0gdHJpZ2dlclJlZ2V4UmVzdWx0QXJyYXlbMl07XHJcbiAgICAgICAgICAgIGxldCByZWdleFByb2plY3RUcmlnZ2VyVG9rZW4gPSB0cmlnZ2VyUmVnZXhSZXN1bHRBcnJheVszXTtcclxuICAgICAgICAgICAgbGV0IHJlZ2V4UmVmTmFtZSA9IHRyaWdnZXJSZWdleFJlc3VsdEFycmF5WzRdO1xyXG4gICAgICAgICAgICBsZXQgcmVnZXhUcmlnZ2VyTmFtZTtcclxuICAgICAgICAgICAgaWYodHJpZ2dlclJlZ2V4UmVzdWx0QXJyYXkubGVuZ3RoID09IDYpe1xyXG4gICAgICAgICAgICAgICAgcmVnZXhUcmlnZ2VyTmFtZSA9IHRyaWdnZXJSZWdleFJlc3VsdEFycmF5WzVdO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmVnZXhUcmlnZ2VyTmFtZSA9IFwiVW5uYW1lZCBUcmlnZ2VyXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cuaW5mbyhcIkZvdW5kIFwiICsgdHJpZ2dlck5hbWUpO1xyXG4gICAgICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy5sb2coXCJ0cmlnZ2VyaW5nIGJ1aWxkIGZvciByZWYgXCIgKyByZWdleFJlZk5hbWUgKyBcIiBvZiBcIiArIHJlZ2V4VHJpZ2dlck5hbWUpO1xyXG4gICAgICAgICAgICBwbHVnaW5zLnJlcXVlc3QucG9zdChcImh0dHBzOi8vZ2l0bGFiLmNvbS9hcGkvdjMvcHJvamVjdHMvXCIgKyByZWdleFByb2plY3RJZCArIFwiL3RyaWdnZXIvYnVpbGRzXCIsIHtmb3JtOnt0b2tlbjpyZWdleFByb2plY3RUcmlnZ2VyVG9rZW4scmVmOnJlZ2V4UmVmTmFtZX19KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBkb25lLnJlc29sdmUoKTtcclxuICAgIHJldHVybiBkb25lLnByb21pc2U7XHJcbn0iXX0=

View File

@@ -1,6 +1,6 @@
{
"name": "npmci",
"version": "2.0.27",
"version": "2.1.8",
"description": "",
"main": "dist/index.js",
"bin": {
@@ -20,16 +20,17 @@
},
"homepage": "https://gitlab.com/pushrocks/npmci#README",
"devDependencies": {
"npmts": "^5.1.18"
"npmts": "^5.2.1"
},
"dependencies": {
"beautylog": "^5.0.6",
"beautylog": "^5.0.8",
"commander": "^2.9.0",
"q": "^1.4.1",
"request": "^2.72.0",
"shelljs": "^0.7.0",
"smartfile": "^3.0.10",
"smartssh": "^1.0.4",
"smartssh": "^1.0.5",
"smartstring": "^2.0.4",
"typings-global": "^1.0.3"
}
}

View File

@@ -6,10 +6,12 @@ let packJson = require("../package.json");
plugins.beautylog.info("npmci version: " + packJson.version);
import {build} from "./npmci.build"
import {install} from "./npmci.install";
import {test} from "./npmci.test";
import {publish} from "./npmci.publish";
import {prepare} from "./npmci.prepare";
import {tag, retag} from "./npmci.tag";
import {test} from "./npmci.test";
import {trigger} from "./npmci.trigger";
@@ -31,18 +33,23 @@ if (typeof command === 'undefined') {
}
switch (command){
case "build":
build("commandArg");
break;
case "install":
install(commandOption);
break;
case "test":
test(commandOption);
break;
case "prepare":
prepare(commandOption);
break;
case "publish":
publish(commandOption)
.then(trigger);
publish(commandOption);
break;
case "test":
test(commandOption);
break;
case "trigger":
trigger();
break;
default:
break;

View File

@@ -1,8 +1,19 @@
import "typings-global";
import * as plugins from "./npmci.plugins";
import {bash} from "./npmci.bash";
import * as env from "./npmci.env";
export let build = function(commandArg){
switch(commandArg){
case "docker":
return docker();
}
}
let docker = function(){
let done = plugins.q.defer();
plugins.shelljs.exec("docker build -t " + env.dockerTag());
done.resolve();
return done.promise;
}

View File

@@ -1,3 +1,30 @@
export let env = function(){
import "typings-global";
import * as plugins from "./npmci.plugins";
};
import {GitRepo} from "smartstring";
export let repo = new GitRepo(process.env.CI_BUILD_REPO);
export let dockerTestTag:string;
export let dockerReleaseTag:string;
export let dockerRegistry = "docker.io"; // will be set by npmci.prepare
export let dockerTagVersion = function(){
if(process.env.CI_BUILD_STAGE == "test"){
return "test";
} else {
return "latest"
}
}
export let dockerTag = function(){
return dockerRegistry + "/" + repo.user + "/" + repo.repo + ":" + dockerTagVersion() +" .";
}
export let dockerTagTest = function(){
return dockerRegistry + "/" + repo.user + "/" + repo.repo + ":test .";
}
export let dockerTagRelease = function(){
return dockerRegistry + "/" + repo.user + "/" + repo.repo + ":latest .";
}

View File

@@ -5,4 +5,5 @@ export let q = require("q");
export let request = require("request");
export let shelljs = require("shelljs");
export let smartssh = require("smartssh");
export import smartstring = require("smartstring");
export import smartfile = require("smartfile");

View File

@@ -1,21 +1,7 @@
import "typings-global";
import * as plugins from "./npmci.plugins";
import {bash} from "./npmci.bash";
let docker = function(){
let done = plugins.q.defer();
let dockerRegex = /^([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)/
if(!process.env.NPMCI_LOGIN_DOCKER){
plugins.beautylog.error("You have to specify Login Data to the Docker Registry");
process.exit(1);
}
let dockerRegexResultArray = dockerRegex.exec(process.env.NPMCI_LOGIN_DOCKER);
let username = dockerRegexResultArray[1];
let password = dockerRegexResultArray[2];
bash("docker login -u " + username + " -p " + password);
done.resolve();
return done.promise;
}
import * as env from "./npmci.env"
let npm = function(){
let done = plugins.q.defer();
@@ -35,11 +21,40 @@ let npm = function(){
return done.promise;
};
let docker = function(){
let done = plugins.q.defer();
env.dockerRegistry = "docker.io"
let dockerRegex = /^([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)/
if(!process.env.NPMCI_LOGIN_DOCKER){
plugins.beautylog.error("You have to specify Login Data to the Docker Registry");
process.exit(1);
}
let dockerRegexResultArray = dockerRegex.exec(process.env.NPMCI_LOGIN_DOCKER);
let username = dockerRegexResultArray[1];
let password = dockerRegexResultArray[2];
plugins.shelljs.exec("docker login -u " + username + " -p " + password);
done.resolve();
return done.promise;
}
let dockerGitlab = function(){
let done = plugins.q.defer();
env.dockerRegistry = "registry.gitlab.com";
let ciBuildToken = process.env.CI_BUILD_TOKEN
plugins.shelljs.exec("docker login -u gitlab-ci-token -p " + ciBuildToken + " " + env.dockerRegistry);
done.resolve();
return done.promise;
}
export let prepare = function(serviceArg:string){
switch (serviceArg) {
case "npm":
return npm();
case "docker":
return docker();
case "docker-gitlab":
return dockerGitlab();
default:
break;
}
}

View File

@@ -2,23 +2,15 @@ import "typings-global";
import * as plugins from "./npmci.plugins";
import {prepare} from "./npmci.prepare";
import {bash} from "./npmci.bash";
import * as env from "./npmci.env";
export let publish = (serviceArg:string = "npm") => {
let done = plugins.q.defer();
switch (serviceArg){
case "npm":
publishNpm()
.then(function(){
done.resolve();
});
break;
return publishNpm();
case "docker":
publishDocker()
.then(function(){
done.resolve();
});
return publishDocker();
}
return done.promise;
};
let publishNpm = function(){
@@ -36,7 +28,8 @@ let publishDocker = function(){
let done = plugins.q.defer();
prepare("docker")
.then(function(){
bash("docker push");
bash
bash("docker push " + env.dockerTag());
done.resolve();
});
return done.promise;

13
ts/npmci.tag.ts Normal file
View File

@@ -0,0 +1,13 @@
import "typings-global";
import * as plugins from "./npmci.plugins";
import {prepare} from "./npmci.prepare";
import {bash} from "./npmci.bash";
import * as env from "./npmci.env";
export let tag = function(commandOptionArg){
}
export let retag = function(){
};

View File

@@ -2,17 +2,40 @@ import "typings-global";
import * as plugins from "./npmci.plugins";
import {bash} from "./npmci.bash";
import {install} from "./npmci.install";
import * as env from "./npmci.env";
export let test = (versionArg) => {
let done = plugins.q.defer();
install(versionArg)
.then(function(){
plugins.beautylog.info("now installing dependencies:");
bash("npm install");
plugins.beautylog.info("now starting tests:");
bash("npm test");
plugins.beautylog.success("test finished");
done.resolve();
})
if(versionArg == "docker"){
testDocker()
.then(()=>{
done.resolve();
});
} else {
install(versionArg)
.then(npmDependencies)
.then(()=>{
plugins.beautylog.info("now starting tests:");
bash("npm test");
plugins.beautylog.success("test finished");
done.resolve();
});
}
return done.promise;
}
let npmDependencies = function(){
let done = plugins.q.defer();
plugins.beautylog.info("now installing dependencies:");
bash("npm install");
done.resolve();
return done.promise;
}
let testDocker = function(){
let done = plugins.q.defer();
plugins.shelljs.exec("docker run --name " + env.repo.repo + " " + env.dockerTag());
done.resolve();
return done.promise;
}

View File

@@ -9,7 +9,7 @@ let triggerEnvPrefix = "NPMCI_TRIGGER_";
export let trigger = function(){
let done = plugins.q.defer();
plugins.beautylog.info("now running triggers");
let triggerRegex = /^([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)/;
let triggerRegex = /^([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|?([a-zA-Z0-9\.\-\/]*)/;
for(let i = 0; i < 100; i++){
let iteratorString = i.toString();
let triggerName = triggerEnvPrefix + iteratorString
@@ -19,8 +19,14 @@ export let trigger = function(){
let regexProjectId = triggerRegexResultArray[2];
let regexProjectTriggerToken = triggerRegexResultArray[3];
let regexRefName = triggerRegexResultArray[4];
plugins.beautylog.log("triggering build for ref " + regexRefName);
plugins.beautylog.log("Found TRIGGER" + iteratorString);
let regexTriggerName;
if(triggerRegexResultArray.length == 6){
regexTriggerName = triggerRegexResultArray[5];
} else {
regexTriggerName = "Unnamed Trigger";
}
plugins.beautylog.info("Found " + triggerName);
plugins.beautylog.log("triggering build for ref " + regexRefName + " of " + regexTriggerName);
plugins.request.post("https://gitlab.com/api/v3/projects/" + regexProjectId + "/trigger/builds", {form:{token:regexProjectTriggerToken,ref:regexRefName}});
}
}