Compare commits
56 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2082773f56 | |||
| e27dd058cc | |||
| f9cee9ac85 | |||
| e3c300293d | |||
| 0f0eaf4c4f | |||
| 57fe78c673 | |||
| 3298b6298e | |||
| 3e80ea15e0 | |||
| 0b5c99a516 | |||
| a48f8b9c54 | |||
| b8079e0bc9 | |||
| 61c00f31ea | |||
| 7fc8648d40 | |||
| 973c55e147 | |||
| a3523ad7c4 | |||
| 216c28d76e | |||
| b22b2fa802 | |||
| e81592ae38 | |||
| b3572d512d | |||
| d7bfaa75e1 | |||
| 3867000d0f | |||
| 7ecb30cf0a | |||
| b45b0ea6ed | |||
| edf7b268ab | |||
| 2af2a71471 | |||
| 45e41500bc | |||
| a4d66744be | |||
| c0d0e5154a | |||
| e92d421bae | |||
| 2f827a7696 | |||
| 11c0341c76 | |||
| 4bc86ad7b8 | |||
| cebcfc9fc5 | |||
| ba047ed586 | |||
| 215d0b97bb | |||
| b1e873afa8 | |||
| cb2400652f | |||
| 455247eb18 | |||
| b7394ff730 | |||
| c74bd67008 | |||
| 3300db61b4 | |||
| eeef17c327 | |||
| f510277c16 | |||
| 2d61640c91 | |||
| e4507b7073 | |||
| 0acb6ad351 | |||
| c33e0c622b | |||
| 5085e86c9b | |||
| 3ea8265a75 | |||
| d7e4efc2c0 | |||
| 7ca0171658 | |||
| 87d8a4401e | |||
| 8b5cf3bb5f | |||
| f28d3cc3d8 | |||
| 358e4674f2 | |||
| 0222ab91c3 |
16
README.md
16
README.md
@@ -9,12 +9,10 @@ npmci is designed to work in docker CI environments. The following docker images
|
|||||||
|
|
||||||
Docker Hub:
|
Docker Hub:
|
||||||
|
|
||||||
* [hosttoday/ht-docker-node](https://hub.docker.com/r/hosttoday/ht-docker-node/)
|
* [hosttoday/ht-docker-node:npmci](https://hub.docker.com/r/hosttoday/ht-docker-node/)
|
||||||
has LTS node version preinstalled. Change it with npmci
|
has LTS node version and npmci preinstalled.
|
||||||
* [hosttoday/ht-docker-node-python-3](https://hub.docker.com/r/hosttoday/ht-docker-node-python3/)
|
|
||||||
like ht-docker-node, but with python3 instead of python2.7
|
|
||||||
* [hosttoday/ht-docker-dbase](https://hub.docker.com/r/hosttoday/ht-docker-dbase/)
|
* [hosttoday/ht-docker-dbase](https://hub.docker.com/r/hosttoday/ht-docker-dbase/)
|
||||||
based on docker:git, can be used to build docker images in conjuction with docker:dind
|
based on docker:git, can be used to build docker images in conjunction with docker:dind
|
||||||
|
|
||||||
npmci can be called from commandline:
|
npmci can be called from commandline:
|
||||||
```shell
|
```shell
|
||||||
@@ -30,6 +28,8 @@ npmci test stable # will install latest stable node version and run "npm install
|
|||||||
npmci test legacy # will install latest legacy 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 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 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
|
# prepare tools
|
||||||
npmci prepare npm # will look for $NPMCI_TOKEN_NPM env var and create .npmrc, so npm is authenticated
|
npmci prepare npm # will look for $NPMCI_TOKEN_NPM env var and create .npmrc, so npm is authenticated
|
||||||
@@ -37,7 +37,11 @@ npmci prepare docker # will look for $NPMCI_LOGIN_DOCKER in form username|passwo
|
|||||||
npmci prepare docker-gitlab # will authenticate docker for gitlab container registry
|
npmci prepare docker-gitlab # will authenticate docker for gitlab container registry
|
||||||
|
|
||||||
# build containers
|
# build containers
|
||||||
npmci build docker # will build container and tag it
|
npmci build docker # will build containers
|
||||||
|
## all Dockerfiles named DOckerfile* are picked up.
|
||||||
|
## specify tags lake 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
|
# publish npm module
|
||||||
npmci publish npm # will look vor $NPMCI_TOKEN_NPM 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
|
||||||
|
|||||||
3
dist/index.d.ts
vendored
3
dist/index.d.ts
vendored
@@ -1 +1,4 @@
|
|||||||
import "typings-global";
|
import "typings-global";
|
||||||
|
export { build } from "./npmci.build";
|
||||||
|
export { install } from "./npmci.install";
|
||||||
|
export { publish } from "./npmci.publish";
|
||||||
|
|||||||
40
dist/index.js
vendored
40
dist/index.js
vendored
File diff suppressed because one or more lines are too long
4
dist/npmci.bash.js
vendored
4
dist/npmci.bash.js
vendored
@@ -15,7 +15,7 @@ exports.bash = function (commandArg, retryArg, bareArg) {
|
|||||||
"\"");
|
"\"");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
execResult = plugins.shelljs.exec(bareArg);
|
execResult = plugins.shelljs.exec(commandArg);
|
||||||
}
|
}
|
||||||
exitCode = execResult.code;
|
exitCode = execResult.code;
|
||||||
stdOut = execResult.stdout;
|
stdOut = execResult.stdout;
|
||||||
@@ -41,4 +41,4 @@ exports.bashBare = function (commandArg, retryArg) {
|
|||||||
return exports.bash(commandArg, retryArg, true);
|
return exports.bash(commandArg, retryArg, true);
|
||||||
};
|
};
|
||||||
|
|
||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmJhc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBRWhDLFlBQUksR0FBRyxVQUFDLFVBQWlCLEVBQUMsUUFBWSxFQUFDLE9BQWU7SUFBNUIsd0JBQVksR0FBWixZQUFZO0lBQUMsdUJBQWUsR0FBZixlQUFlO0lBQzdELElBQUksUUFBZSxDQUFDO0lBQ3BCLElBQUksTUFBYSxDQUFDO0lBQ2xCLElBQUksVUFBVSxDQUFDO0lBQ2YsRUFBRSxDQUFBLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFBLENBQUM7UUFDeEIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUMsQ0FBQztZQUNoQyxFQUFFLENBQUEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFBLENBQUM7Z0JBQ1QsVUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUM3QiwyQ0FBMkM7b0JBQzNDLFVBQVU7b0JBQ1YsSUFBSSxDQUNQLENBQUM7WUFDTixDQUFDO1lBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ0osVUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQy9DLENBQUM7WUFDRCxRQUFRLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztZQUMzQixNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztZQUMzQixFQUFFLENBQUEsQ0FBQyxRQUFRLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsQ0FBQSxDQUFDO2dCQUNoQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BCLENBQUM7WUFBQyxJQUFJLENBQUMsRUFBRSxDQUFBLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFBLENBQUM7Z0JBQ3JCLENBQUMsR0FBRyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMscURBQXFEO1lBQzNFLENBQUM7WUFBQyxJQUFJLENBQUMsQ0FBQztnQkFDSixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxtQ0FBbUMsR0FBRyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDbEYsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLE1BQU0sR0FBSSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUMxRixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNKLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHNCQUFzQixHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNuRSxDQUFDO0lBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUE7QUFFVSxnQkFBUSxHQUFHLFVBQUMsVUFBVSxFQUFDLFFBQVk7SUFBWix3QkFBWSxHQUFaLFlBQVk7SUFDMUMsTUFBTSxDQUFDLFlBQUksQ0FBQyxVQUFVLEVBQUMsUUFBUSxFQUFDLElBQUksQ0FBQyxDQUFDO0FBQzFDLENBQUMsQ0FBQSIsImZpbGUiOiJucG1jaS5iYXNoLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vbnBtY2kucGx1Z2luc1wiO1xuXG5leHBvcnQgbGV0IGJhc2ggPSAoY29tbWFuZEFyZzpzdHJpbmcscmV0cnlBcmcgPSAyLGJhcmVBcmcgPSBmYWxzZSkgPT4ge1xuICAgIGxldCBleGl0Q29kZTpudW1iZXI7XG4gICAgbGV0IHN0ZE91dDpzdHJpbmc7XG4gICAgbGV0IGV4ZWNSZXN1bHQ7XG4gICAgaWYoIXByb2Nlc3MuZW52Lk5QTVRTX1RFU1Qpe1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8PSByZXRyeUFyZzsgaSsrKXtcbiAgICAgICAgICAgIGlmKCFiYXJlQXJnKXtcbiAgICAgICAgICAgICAgICBleGVjUmVzdWx0ID0gcGx1Z2lucy5zaGVsbGpzLmV4ZWMoXG4gICAgICAgICAgICAgICAgICAgIFwiYmFzaCAtYyBcXFwic291cmNlIC91c3IvbG9jYWwvbnZtL252bS5zaCAmJlwiICtcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZEFyZyArXG4gICAgICAgICAgICAgICAgICAgIFwiXFxcIlwiXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZXhlY1Jlc3VsdCA9IHBsdWdpbnMuc2hlbGxqcy5leGVjKGJhcmVBcmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZXhpdENvZGUgPSBleGVjUmVzdWx0LmNvZGU7XG4gICAgICAgICAgICBzdGRPdXQgPSBleGVjUmVzdWx0LnN0ZG91dDtcbiAgICAgICAgICAgIGlmKGV4aXRDb2RlICE9PSAwICYmIGkgPT0gcmV0cnlBcmcpe1xuICAgICAgICAgICAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZihleGl0Q29kZSA9PSAwKXtcbiAgICAgICAgICAgICAgICBpID0gcmV0cnlBcmcgKyAxOyAvLyBpZiBldmVyeXRoaW5nIHdvcmtzIG91dCBvayByZXRyaWFscyBhcmUgbm90IHdhbnRlZFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy53YXJuKFwiU29tZXRoaW5nIHdlbnQgd3JvbmchIEV4aXQgQ29kZTogXCIgKyBleGl0Q29kZS50b1N0cmluZygpKTtcbiAgICAgICAgICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy5pbmZvKFwiUmV0cnkgXCIgKyAoaSArIDEpLnRvU3RyaW5nKCkgKyBcIiBvZiBcIiArICByZXRyeUFyZy50b1N0cmluZygpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmxvZyhcIlNoZWxsRXhlYyB3b3VsZCBiZTogXCIgKyBjb21tYW5kQXJnLmJsdWUpXG4gICAgfVxuICAgIHJldHVybiBzdGRPdXQ7XG59XG5cbmV4cG9ydCBsZXQgYmFzaEJhcmUgPSAoY29tbWFuZEFyZyxyZXRyeUFyZyA9IDIpID0+IHtcbiAgICByZXR1cm4gYmFzaChjb21tYW5kQXJnLHJldHJ5QXJnLHRydWUpO1xufSJdfQ==
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmJhc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBRWhDLFlBQUksR0FBRyxVQUFDLFVBQWlCLEVBQUMsUUFBWSxFQUFDLE9BQWU7SUFBNUIsd0JBQVksR0FBWixZQUFZO0lBQUMsdUJBQWUsR0FBZixlQUFlO0lBQzdELElBQUksUUFBZSxDQUFDO0lBQ3BCLElBQUksTUFBYSxDQUFDO0lBQ2xCLElBQUksVUFBVSxDQUFDO0lBQ2YsRUFBRSxDQUFBLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFBLENBQUM7UUFDeEIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUMsQ0FBQztZQUNoQyxFQUFFLENBQUEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFBLENBQUM7Z0JBQ1QsVUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUM3QiwyQ0FBMkM7b0JBQzNDLFVBQVU7b0JBQ1YsSUFBSSxDQUNQLENBQUM7WUFDTixDQUFDO1lBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ0osVUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2xELENBQUM7WUFDRCxRQUFRLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztZQUMzQixNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztZQUMzQixFQUFFLENBQUEsQ0FBQyxRQUFRLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsQ0FBQSxDQUFDO2dCQUNoQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BCLENBQUM7WUFBQyxJQUFJLENBQUMsRUFBRSxDQUFBLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFBLENBQUM7Z0JBQ3JCLENBQUMsR0FBRyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMscURBQXFEO1lBQzNFLENBQUM7WUFBQyxJQUFJLENBQUMsQ0FBQztnQkFDSixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxtQ0FBbUMsR0FBRyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDbEYsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLE1BQU0sR0FBSSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUMxRixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNKLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHNCQUFzQixHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNuRSxDQUFDO0lBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUE7QUFFVSxnQkFBUSxHQUFHLFVBQUMsVUFBVSxFQUFDLFFBQVk7SUFBWix3QkFBWSxHQUFaLFlBQVk7SUFDMUMsTUFBTSxDQUFDLFlBQUksQ0FBQyxVQUFVLEVBQUMsUUFBUSxFQUFDLElBQUksQ0FBQyxDQUFDO0FBQzFDLENBQUMsQ0FBQSIsImZpbGUiOiJucG1jaS5iYXNoLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vbnBtY2kucGx1Z2luc1wiO1xuXG5leHBvcnQgbGV0IGJhc2ggPSAoY29tbWFuZEFyZzpzdHJpbmcscmV0cnlBcmcgPSAyLGJhcmVBcmcgPSBmYWxzZSkgPT4ge1xuICAgIGxldCBleGl0Q29kZTpudW1iZXI7XG4gICAgbGV0IHN0ZE91dDpzdHJpbmc7XG4gICAgbGV0IGV4ZWNSZXN1bHQ7XG4gICAgaWYoIXByb2Nlc3MuZW52Lk5QTVRTX1RFU1Qpe1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8PSByZXRyeUFyZzsgaSsrKXtcbiAgICAgICAgICAgIGlmKCFiYXJlQXJnKXtcbiAgICAgICAgICAgICAgICBleGVjUmVzdWx0ID0gcGx1Z2lucy5zaGVsbGpzLmV4ZWMoXG4gICAgICAgICAgICAgICAgICAgIFwiYmFzaCAtYyBcXFwic291cmNlIC91c3IvbG9jYWwvbnZtL252bS5zaCAmJlwiICtcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZEFyZyArXG4gICAgICAgICAgICAgICAgICAgIFwiXFxcIlwiXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZXhlY1Jlc3VsdCA9IHBsdWdpbnMuc2hlbGxqcy5leGVjKGNvbW1hbmRBcmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZXhpdENvZGUgPSBleGVjUmVzdWx0LmNvZGU7XG4gICAgICAgICAgICBzdGRPdXQgPSBleGVjUmVzdWx0LnN0ZG91dDtcbiAgICAgICAgICAgIGlmKGV4aXRDb2RlICE9PSAwICYmIGkgPT0gcmV0cnlBcmcpe1xuICAgICAgICAgICAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZihleGl0Q29kZSA9PSAwKXtcbiAgICAgICAgICAgICAgICBpID0gcmV0cnlBcmcgKyAxOyAvLyBpZiBldmVyeXRoaW5nIHdvcmtzIG91dCBvayByZXRyaWFscyBhcmUgbm90IHdhbnRlZFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy53YXJuKFwiU29tZXRoaW5nIHdlbnQgd3JvbmchIEV4aXQgQ29kZTogXCIgKyBleGl0Q29kZS50b1N0cmluZygpKTtcbiAgICAgICAgICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy5pbmZvKFwiUmV0cnkgXCIgKyAoaSArIDEpLnRvU3RyaW5nKCkgKyBcIiBvZiBcIiArICByZXRyeUFyZy50b1N0cmluZygpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmxvZyhcIlNoZWxsRXhlYyB3b3VsZCBiZTogXCIgKyBjb21tYW5kQXJnLmJsdWUpXG4gICAgfVxuICAgIHJldHVybiBzdGRPdXQ7XG59XG5cbmV4cG9ydCBsZXQgYmFzaEJhcmUgPSAoY29tbWFuZEFyZyxyZXRyeUFyZyA9IDIpID0+IHtcbiAgICByZXR1cm4gYmFzaChjb21tYW5kQXJnLHJldHJ5QXJnLHRydWUpO1xufSJdfQ==
|
||||||
|
|||||||
14
dist/npmci.build.docker.d.ts
vendored
14
dist/npmci.build.docker.d.ts
vendored
@@ -4,19 +4,18 @@ export declare let sortDockerfiles: (sortableArrayArg: Dockerfile[]) => any;
|
|||||||
export declare let mapDockerfiles: (sortedArray: Dockerfile[]) => any;
|
export declare let mapDockerfiles: (sortedArray: Dockerfile[]) => any;
|
||||||
export declare let buildDockerfiles: (sortedArrayArg: Dockerfile[]) => any;
|
export declare let buildDockerfiles: (sortedArrayArg: Dockerfile[]) => any;
|
||||||
export declare let pushDockerfiles: (sortedArrayArg: Dockerfile[]) => any;
|
export declare let pushDockerfiles: (sortedArrayArg: Dockerfile[]) => any;
|
||||||
export declare let pullDockerfileImages: (sortableArrayArg: Dockerfile[]) => any;
|
export declare let pullDockerfileImages: (sortableArrayArg: Dockerfile[], registryArg?: string) => any;
|
||||||
export declare let testDockerfiles: (sortedArrayArg: Dockerfile[]) => any;
|
export declare let testDockerfiles: (sortedArrayArg: Dockerfile[]) => any;
|
||||||
export declare let releaseDockerfiles: (sortedArrayArg: Dockerfile[]) => any;
|
|
||||||
export declare class Dockerfile {
|
export declare class Dockerfile {
|
||||||
filePath: string;
|
filePath: string;
|
||||||
repo: string;
|
repo: string;
|
||||||
version: string;
|
version: string;
|
||||||
cleanTag: string;
|
cleanTag: string;
|
||||||
buildTag: string;
|
buildTag: string;
|
||||||
|
testTag: string;
|
||||||
releaseTag: string;
|
releaseTag: string;
|
||||||
containerName: string;
|
containerName: string;
|
||||||
content: string;
|
content: string;
|
||||||
patchedContent: string;
|
|
||||||
baseImage: string;
|
baseImage: string;
|
||||||
localBaseImageDependent: boolean;
|
localBaseImageDependent: boolean;
|
||||||
localBaseDockerfile: Dockerfile;
|
localBaseDockerfile: Dockerfile;
|
||||||
@@ -26,15 +25,12 @@ export declare class Dockerfile {
|
|||||||
read?: boolean;
|
read?: boolean;
|
||||||
});
|
});
|
||||||
build(): any;
|
build(): any;
|
||||||
push(): any;
|
push(stageArg: any): any;
|
||||||
pull(): void;
|
pull(registryArg: string): void;
|
||||||
test(): void;
|
test(): void;
|
||||||
release(): void;
|
|
||||||
getId(): string;
|
getId(): string;
|
||||||
patchContents(): any;
|
|
||||||
restoreContents(): any;
|
|
||||||
}
|
}
|
||||||
export declare let dockerFileVersion: (dockerfileNameArg: string) => string;
|
export declare let dockerFileVersion: (dockerfileNameArg: string) => string;
|
||||||
export declare let dockerBaseImage: (dockerfileContentArg: string) => string;
|
export declare let dockerBaseImage: (dockerfileContentArg: string) => string;
|
||||||
export declare let dockerTag: (repoArg: string, versionArg: string, stageArg: string) => string;
|
export declare let dockerTag: (registryArg: string, repoArg: string, versionArg: string, suffixArg?: string) => string;
|
||||||
export declare let cleanTagsArrayFunction: (dockerfileArrayArg: Dockerfile[], trackingArrayArg: Dockerfile[]) => string[];
|
export declare let cleanTagsArrayFunction: (dockerfileArrayArg: Dockerfile[], trackingArrayArg: Dockerfile[]) => string[];
|
||||||
|
|||||||
118
dist/npmci.build.docker.js
vendored
118
dist/npmci.build.docker.js
vendored
File diff suppressed because one or more lines are too long
2
dist/npmci.command.d.ts
vendored
Normal file
2
dist/npmci.command.d.ts
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
import "typings-global";
|
||||||
|
export declare let command: () => any;
|
||||||
19
dist/npmci.command.js
vendored
Normal file
19
dist/npmci.command.js
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
"use strict";
|
||||||
|
require("typings-global");
|
||||||
|
var plugins = require("./npmci.plugins");
|
||||||
|
var npmci_bash_1 = require("./npmci.bash");
|
||||||
|
exports.command = function () {
|
||||||
|
var done = plugins.q.defer();
|
||||||
|
var wrappedCommand = "";
|
||||||
|
var argvArray = process.argv;
|
||||||
|
for (var i = 3; i < argvArray.length; i++) {
|
||||||
|
wrappedCommand = wrappedCommand + argvArray[i];
|
||||||
|
if (i + 1 != argvArray.length)
|
||||||
|
wrappedCommand = wrappedCommand + " ";
|
||||||
|
}
|
||||||
|
npmci_bash_1.bash(wrappedCommand);
|
||||||
|
done.resolve();
|
||||||
|
return done.promise;
|
||||||
|
};
|
||||||
|
|
||||||
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUV2QixlQUFPLEdBQUc7SUFDakIsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUM1QixJQUFJLGNBQWMsR0FBVSxFQUFFLENBQUM7SUFDL0IsSUFBSSxTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztJQUM3QixHQUFHLENBQUEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUMsQ0FBQztRQUN0QyxjQUFjLEdBQUcsY0FBYyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQyxFQUFFLENBQUEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUM7WUFBQyxjQUFjLEdBQUcsY0FBYyxHQUFHLEdBQUcsQ0FBQztJQUN4RSxDQUFDO0lBQ0QsaUJBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNyQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDZixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQTtBQUN2QixDQUFDLENBQUEiLCJmaWxlIjoibnBtY2kuY29tbWFuZC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcbmltcG9ydCB7YmFzaH0gZnJvbSBcIi4vbnBtY2kuYmFzaFwiO1xuXG5leHBvcnQgbGV0IGNvbW1hbmQgPSAoKSA9PiB7XG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKVxuICAgIGxldCB3cmFwcGVkQ29tbWFuZDpzdHJpbmcgPSBcIlwiO1xuICAgIGxldCBhcmd2QXJyYXkgPSBwcm9jZXNzLmFyZ3Y7XG4gICAgZm9yKGxldCBpID0gMzsgaSA8IGFyZ3ZBcnJheS5sZW5ndGg7IGkrKyl7XG4gICAgICAgIHdyYXBwZWRDb21tYW5kID0gd3JhcHBlZENvbW1hbmQgKyBhcmd2QXJyYXlbaV07XG4gICAgICAgIGlmKGkgKyAxICE9IGFyZ3ZBcnJheS5sZW5ndGgpIHdyYXBwZWRDb21tYW5kID0gd3JhcHBlZENvbW1hbmQgKyBcIiBcIjsgXG4gICAgfVxuICAgIGJhc2god3JhcHBlZENvbW1hbmQpO1xuICAgIGRvbmUucmVzb2x2ZSgpO1xuICAgIHJldHVybiBkb25lLnByb21pc2Vcbn0iXX0=
|
||||||
1
dist/npmci.env.d.ts
vendored
1
dist/npmci.env.d.ts
vendored
@@ -8,4 +8,3 @@ export declare let dockerFilesBuilt: Dockerfile[];
|
|||||||
export declare let dockerFiles: Dockerfile[];
|
export declare let dockerFiles: Dockerfile[];
|
||||||
export declare let config: any;
|
export declare let config: any;
|
||||||
export declare let configStore: () => void;
|
export declare let configStore: () => void;
|
||||||
export declare let configLoad: () => void;
|
|
||||||
|
|||||||
34
dist/npmci.env.js
vendored
34
dist/npmci.env.js
vendored
@@ -3,28 +3,44 @@ require("typings-global");
|
|||||||
var plugins = require("./npmci.plugins");
|
var plugins = require("./npmci.plugins");
|
||||||
var paths = require("./npmci.paths");
|
var paths = require("./npmci.paths");
|
||||||
var smartstring_1 = require("smartstring");
|
var smartstring_1 = require("smartstring");
|
||||||
|
if (process.env.CI_BUILD_REPO)
|
||||||
exports.repo = new smartstring_1.GitRepo(process.env.CI_BUILD_REPO);
|
exports.repo = new smartstring_1.GitRepo(process.env.CI_BUILD_REPO);
|
||||||
exports.buildStage = process.env.CI_BUILD_STAGE;
|
exports.buildStage = process.env.CI_BUILD_STAGE;
|
||||||
exports.dockerFilesBuilt = [];
|
exports.dockerFilesBuilt = [];
|
||||||
exports.dockerFiles = [];
|
exports.dockerFiles = [];
|
||||||
exports.configStore = function () {
|
exports.configStore = function () {
|
||||||
plugins.smartfile.memory.toFsSync(JSON.stringify(exports.config), {
|
var config = {
|
||||||
fileName: "config.json",
|
dockerRegistry: exports.dockerRegistry,
|
||||||
filePath: paths.NpmciPackageRoot
|
dockerFilesBuilt: exports.dockerFilesBuilt,
|
||||||
});
|
dockerFiles: exports.dockerFiles
|
||||||
};
|
};
|
||||||
exports.configLoad = function () {
|
plugins.smartfile.memory.toFsSync(JSON.stringify(config), paths.NpmciPackageConfig);
|
||||||
|
};
|
||||||
|
var configLoad = function () {
|
||||||
|
// internal config to transfer information in between npmci shell calls
|
||||||
try {
|
try {
|
||||||
exports.config = plugins.smartfile.local.toObjectSync(paths.NpmciPackageConfig, "json");
|
exports.config = plugins.smartfile.fs.toObjectSync(paths.NpmciPackageConfig, "json");
|
||||||
}
|
}
|
||||||
catch (err) {
|
catch (err) {
|
||||||
exports.config = {};
|
exports.config = {};
|
||||||
exports.configStore();
|
exports.configStore();
|
||||||
plugins.beautylog.log("config inititialized!");
|
plugins.beautylog.log("config initialized!");
|
||||||
|
}
|
||||||
|
// project config
|
||||||
|
try {
|
||||||
|
if (!exports.config.project) {
|
||||||
|
exports.config.project = plugins.smartfile.fs.toObjectSync(paths.NpmciProjectDir, "npmci.json");
|
||||||
|
plugins.beautylog.ok("project config found!");
|
||||||
|
}
|
||||||
|
;
|
||||||
|
}
|
||||||
|
catch (err) {
|
||||||
|
exports.config.project = {};
|
||||||
|
plugins.beautylog.log("no project config found, so proceeding with default behaviour!");
|
||||||
}
|
}
|
||||||
exports.config.dockerRegistry ? exports.dockerRegistry = exports.config.dockerRegistry : void (0);
|
exports.config.dockerRegistry ? exports.dockerRegistry = exports.config.dockerRegistry : void (0);
|
||||||
exports.config.dockerFilesBuilt ? exports.dockerFilesBuilt = exports.config.dockerFilesBuilt : void (0);
|
exports.config.dockerFilesBuilt ? exports.dockerFilesBuilt = exports.config.dockerFilesBuilt : void (0);
|
||||||
};
|
};
|
||||||
exports.configLoad();
|
configLoad();
|
||||||
|
|
||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmVudi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLElBQVksT0FBTyxXQUFNLGlCQUFpQixDQUFDLENBQUE7QUFDM0MsSUFBWSxLQUFLLFdBQU0sZUFBZSxDQUFDLENBQUE7QUFDdkMsNEJBQXNCLGFBQWEsQ0FBQyxDQUFBO0FBR3pCLFlBQUksR0FBVyxJQUFJLHFCQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUV0RCxrQkFBVSxHQUFVLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO0FBSS9DLHdCQUFnQixHQUFnQixFQUFFLENBQUM7QUFDbkMsbUJBQVcsR0FBZ0IsRUFBRSxDQUFDO0FBSTlCLG1CQUFXLEdBQUc7SUFDckIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLGNBQU0sQ0FBQyxFQUN0QjtRQUNJLFFBQVEsRUFBQyxhQUFhO1FBQ3RCLFFBQVEsRUFBQyxLQUFLLENBQUMsZ0JBQWdCO0tBQ2xDLENBQ0osQ0FBQztBQUNOLENBQUMsQ0FBQTtBQUVVLGtCQUFVLEdBQUc7SUFDcEIsSUFBSSxDQUFDO1FBQ0QsY0FBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEVBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkYsQ0FDQTtJQUFBLEtBQUssQ0FBQSxDQUFDLEdBQUcsQ0FBQyxDQUFBLENBQUM7UUFDUCxjQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ1osbUJBQVcsRUFBRSxDQUFDO1FBQ2QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsY0FBTSxDQUFDLGNBQWMsR0FBRyxzQkFBYyxHQUFHLGNBQU0sQ0FBQyxjQUFjLEdBQUcsS0FBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLGNBQU0sQ0FBQyxnQkFBZ0IsR0FBRyx3QkFBZ0IsR0FBRyxjQUFNLENBQUMsZ0JBQWdCLEdBQUcsS0FBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25GLENBQUMsQ0FBQTtBQUNELGtCQUFVLEVBQUUsQ0FBQyIsImZpbGUiOiJucG1jaS5lbnYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9ucG1jaS5wbHVnaW5zXCI7XG5pbXBvcnQgKiBhcyBwYXRocyBmcm9tIFwiLi9ucG1jaS5wYXRoc1wiO1xuaW1wb3J0IHtHaXRSZXBvfSBmcm9tIFwic21hcnRzdHJpbmdcIjtcbmltcG9ydCB7RG9ja2VyZmlsZX0gZnJvbSBcIi4vbnBtY2kuYnVpbGQuZG9ja2VyXCJcblxuZXhwb3J0IGxldCByZXBvOkdpdFJlcG8gPSBuZXcgR2l0UmVwbyhwcm9jZXNzLmVudi5DSV9CVUlMRF9SRVBPKTtcblxuZXhwb3J0IGxldCBidWlsZFN0YWdlOnN0cmluZyA9IHByb2Nlc3MuZW52LkNJX0JVSUxEX1NUQUdFO1xuXG4vLyBoYW5kbGluZyBjb25maWcgYmV0d2VlbiBjb21tYW5kc1xuZXhwb3J0IGxldCBkb2NrZXJSZWdpc3RyeTsgLy8gd2lsbCBiZSBzZXQgYnkgbnBtY2kucHJlcGFyZVxuZXhwb3J0IGxldCBkb2NrZXJGaWxlc0J1aWx0OkRvY2tlcmZpbGVbXSA9IFtdO1xuZXhwb3J0IGxldCBkb2NrZXJGaWxlczpEb2NrZXJmaWxlW10gPSBbXTtcblxuZXhwb3J0IGxldCBjb25maWc7XG5cbmV4cG9ydCBsZXQgY29uZmlnU3RvcmUgPSAoKSA9PiB7XG4gICAgcGx1Z2lucy5zbWFydGZpbGUubWVtb3J5LnRvRnNTeW5jKFxuICAgICAgICBKU09OLnN0cmluZ2lmeShjb25maWcpLFxuICAgICAgICB7XG4gICAgICAgICAgICBmaWxlTmFtZTpcImNvbmZpZy5qc29uXCIsXG4gICAgICAgICAgICBmaWxlUGF0aDpwYXRocy5OcG1jaVBhY2thZ2VSb290XG4gICAgICAgIH1cbiAgICApO1xufVxuXG5leHBvcnQgbGV0IGNvbmZpZ0xvYWQgPSAoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uZmlnID0gcGx1Z2lucy5zbWFydGZpbGUubG9jYWwudG9PYmplY3RTeW5jKHBhdGhzLk5wbWNpUGFja2FnZUNvbmZpZyxcImpzb25cIik7XG4gICAgfVxuICAgIGNhdGNoKGVycil7XG4gICAgICAgIGNvbmZpZyA9IHt9O1xuICAgICAgICBjb25maWdTdG9yZSgpO1xuICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy5sb2coXCJjb25maWcgaW5pdGl0aWFsaXplZCFcIik7XG4gICAgfVxuICAgIFxuICAgIGNvbmZpZy5kb2NrZXJSZWdpc3RyeSA/IGRvY2tlclJlZ2lzdHJ5ID0gY29uZmlnLmRvY2tlclJlZ2lzdHJ5IDogdm9pZCgwKTtcbiAgICBjb25maWcuZG9ja2VyRmlsZXNCdWlsdCA/IGRvY2tlckZpbGVzQnVpbHQgPSBjb25maWcuZG9ja2VyRmlsZXNCdWlsdCA6IHZvaWQoMCk7XG59XG5jb25maWdMb2FkKCk7Il19
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmVudi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLElBQVksT0FBTyxXQUFNLGlCQUFpQixDQUFDLENBQUE7QUFDM0MsSUFBWSxLQUFLLFdBQU0sZUFBZSxDQUFDLENBQUE7QUFDdkMsNEJBQXNCLGFBQWEsQ0FBQyxDQUFBO0FBSXBDLEVBQUUsQ0FBQSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDO0lBQUMsWUFBSSxHQUFHLElBQUkscUJBQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBRWpFLGtCQUFVLEdBQVUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUM7QUFJL0Msd0JBQWdCLEdBQWdCLEVBQUUsQ0FBQztBQUNuQyxtQkFBVyxHQUFnQixFQUFFLENBQUM7QUFHOUIsbUJBQVcsR0FBRztJQUNyQixJQUFJLE1BQU0sR0FBRztRQUNULGNBQWMsRUFBRSxzQkFBYztRQUM5QixnQkFBZ0IsRUFBRSx3QkFBZ0I7UUFDbEMsV0FBVyxFQUFFLG1CQUFXO0tBQzNCLENBQUE7SUFDRCxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQ3RCLEtBQUssQ0FBQyxrQkFBa0IsQ0FDM0IsQ0FBQztBQUNOLENBQUMsQ0FBQTtBQUVELElBQUksVUFBVSxHQUFHO0lBQ2IsdUVBQXVFO0lBQ3ZFLElBQUksQ0FBQztRQUNELGNBQU0sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLGtCQUFrQixFQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hGLENBQ0E7SUFBQSxLQUFLLENBQUEsQ0FBQyxHQUFHLENBQUMsQ0FBQSxDQUFDO1FBQ1AsY0FBTSxHQUFHLEVBQUUsQ0FBQztRQUNaLG1CQUFXLEVBQUUsQ0FBQztRQUNkLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELGlCQUFpQjtJQUNqQixJQUFJLENBQUM7UUFDRCxFQUFFLENBQUEsQ0FBQyxDQUFDLGNBQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQSxDQUFDO1lBQ2hCLGNBQU0sQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUMsWUFBWSxDQUFDLENBQUM7WUFDdkYsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBQUEsQ0FBQztJQUNOLENBQ0E7SUFBQSxLQUFLLENBQUEsQ0FBQyxHQUFHLENBQUMsQ0FBQSxDQUFDO1FBQ1AsY0FBTSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDcEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZ0VBQWdFLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRUQsY0FBTSxDQUFDLGNBQWMsR0FBRyxzQkFBYyxHQUFHLGNBQU0sQ0FBQyxjQUFjLEdBQUcsS0FBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLGNBQU0sQ0FBQyxnQkFBZ0IsR0FBRyx3QkFBZ0IsR0FBRyxjQUFNLENBQUMsZ0JBQWdCLEdBQUcsS0FBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25GLENBQUMsQ0FBQTtBQUNELFVBQVUsRUFBRSxDQUFDIiwiZmlsZSI6Im5wbWNpLmVudi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcbmltcG9ydCAqIGFzIHBhdGhzIGZyb20gXCIuL25wbWNpLnBhdGhzXCI7XG5pbXBvcnQge0dpdFJlcG99IGZyb20gXCJzbWFydHN0cmluZ1wiO1xuaW1wb3J0IHtEb2NrZXJmaWxlfSBmcm9tIFwiLi9ucG1jaS5idWlsZC5kb2NrZXJcIlxuXG5leHBvcnQgbGV0IHJlcG86R2l0UmVwbztcbmlmKHByb2Nlc3MuZW52LkNJX0JVSUxEX1JFUE8pIHJlcG8gPSBuZXcgR2l0UmVwbyhwcm9jZXNzLmVudi5DSV9CVUlMRF9SRVBPKTtcblxuZXhwb3J0IGxldCBidWlsZFN0YWdlOnN0cmluZyA9IHByb2Nlc3MuZW52LkNJX0JVSUxEX1NUQUdFO1xuXG4vLyBoYW5kbGluZyBjb25maWcgYmV0d2VlbiBjb21tYW5kc1xuZXhwb3J0IGxldCBkb2NrZXJSZWdpc3RyeTsgLy8gd2lsbCBiZSBzZXQgYnkgbnBtY2kucHJlcGFyZVxuZXhwb3J0IGxldCBkb2NrZXJGaWxlc0J1aWx0OkRvY2tlcmZpbGVbXSA9IFtdO1xuZXhwb3J0IGxldCBkb2NrZXJGaWxlczpEb2NrZXJmaWxlW10gPSBbXTtcbmV4cG9ydCBsZXQgY29uZmlnO1xuXG5leHBvcnQgbGV0IGNvbmZpZ1N0b3JlID0gKCkgPT4ge1xuICAgIGxldCBjb25maWcgPSB7XG4gICAgICAgIGRvY2tlclJlZ2lzdHJ5OiBkb2NrZXJSZWdpc3RyeSxcbiAgICAgICAgZG9ja2VyRmlsZXNCdWlsdDogZG9ja2VyRmlsZXNCdWlsdCxcbiAgICAgICAgZG9ja2VyRmlsZXM6IGRvY2tlckZpbGVzXG4gICAgfVxuICAgIHBsdWdpbnMuc21hcnRmaWxlLm1lbW9yeS50b0ZzU3luYyhcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSxcbiAgICAgICAgcGF0aHMuTnBtY2lQYWNrYWdlQ29uZmlnXG4gICAgKTtcbn1cblxubGV0IGNvbmZpZ0xvYWQgPSAoKSA9PiB7XG4gICAgLy8gaW50ZXJuYWwgY29uZmlnIHRvIHRyYW5zZmVyIGluZm9ybWF0aW9uIGluIGJldHdlZW4gbnBtY2kgc2hlbGwgY2FsbHNcbiAgICB0cnkge1xuICAgICAgICBjb25maWcgPSBwbHVnaW5zLnNtYXJ0ZmlsZS5mcy50b09iamVjdFN5bmMocGF0aHMuTnBtY2lQYWNrYWdlQ29uZmlnLFwianNvblwiKTtcbiAgICB9XG4gICAgY2F0Y2goZXJyKXtcbiAgICAgICAgY29uZmlnID0ge307XG4gICAgICAgIGNvbmZpZ1N0b3JlKCk7XG4gICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmxvZyhcImNvbmZpZyBpbml0aWFsaXplZCFcIik7XG4gICAgfVxuXG4gICAgLy8gcHJvamVjdCBjb25maWdcbiAgICB0cnkge1xuICAgICAgICBpZighY29uZmlnLnByb2plY3Qpe1xuICAgICAgICAgICAgY29uZmlnLnByb2plY3QgPSBwbHVnaW5zLnNtYXJ0ZmlsZS5mcy50b09iamVjdFN5bmMocGF0aHMuTnBtY2lQcm9qZWN0RGlyLFwibnBtY2kuanNvblwiKTtcbiAgICAgICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLm9rKFwicHJvamVjdCBjb25maWcgZm91bmQhXCIpO1xuICAgICAgICB9O1xuICAgIH1cbiAgICBjYXRjaChlcnIpe1xuICAgICAgICBjb25maWcucHJvamVjdCA9IHt9O1xuICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy5sb2coXCJubyBwcm9qZWN0IGNvbmZpZyBmb3VuZCwgc28gcHJvY2VlZGluZyB3aXRoIGRlZmF1bHQgYmVoYXZpb3VyIVwiKTtcbiAgICB9XG4gICAgXG4gICAgY29uZmlnLmRvY2tlclJlZ2lzdHJ5ID8gZG9ja2VyUmVnaXN0cnkgPSBjb25maWcuZG9ja2VyUmVnaXN0cnkgOiB2b2lkKDApO1xuICAgIGNvbmZpZy5kb2NrZXJGaWxlc0J1aWx0ID8gZG9ja2VyRmlsZXNCdWlsdCA9IGNvbmZpZy5kb2NrZXJGaWxlc0J1aWx0IDogdm9pZCgwKTtcbn1cbmNvbmZpZ0xvYWQoKTsiXX0=
|
||||||
|
|||||||
1
dist/npmci.paths.d.ts
vendored
1
dist/npmci.paths.d.ts
vendored
@@ -3,3 +3,4 @@ export declare let cwd: string;
|
|||||||
export declare let NpmciPackageRoot: string;
|
export declare let NpmciPackageRoot: string;
|
||||||
export declare let NpmciPackageConfig: string;
|
export declare let NpmciPackageConfig: string;
|
||||||
export declare let NpmciProjectDir: string;
|
export declare let NpmciProjectDir: string;
|
||||||
|
export declare let NpmciTestDir: string;
|
||||||
|
|||||||
5
dist/npmci.paths.js
vendored
5
dist/npmci.paths.js
vendored
@@ -4,6 +4,7 @@ var plugins = require("./npmci.plugins");
|
|||||||
exports.cwd = process.cwd();
|
exports.cwd = process.cwd();
|
||||||
exports.NpmciPackageRoot = plugins.path.join(__dirname, "../");
|
exports.NpmciPackageRoot = plugins.path.join(__dirname, "../");
|
||||||
exports.NpmciPackageConfig = plugins.path.join(exports.NpmciPackageRoot, "./config.json");
|
exports.NpmciPackageConfig = plugins.path.join(exports.NpmciPackageRoot, "./config.json");
|
||||||
exports.NpmciProjectDir = process.cwd();
|
exports.NpmciProjectDir = exports.cwd;
|
||||||
|
exports.NpmciTestDir = plugins.path.join(exports.cwd, "./test");
|
||||||
|
|
||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnBhdGhzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFDeEIsSUFBWSxPQUFPLFdBQU0saUJBQWlCLENBQUMsQ0FBQTtBQUVoQyxXQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBRXBCLHdCQUFnQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBQyxLQUFLLENBQUMsQ0FBQztBQUN0RCwwQkFBa0IsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBZ0IsRUFBQyxlQUFlLENBQUMsQ0FBQztBQUN6RSx1QkFBZSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyIsImZpbGUiOiJucG1jaS5wYXRocy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcblxuZXhwb3J0IGxldCBjd2QgPSBwcm9jZXNzLmN3ZCgpO1xuXG5leHBvcnQgbGV0IE5wbWNpUGFja2FnZVJvb3QgPSBwbHVnaW5zLnBhdGguam9pbihfX2Rpcm5hbWUsXCIuLi9cIik7XG5leHBvcnQgbGV0IE5wbWNpUGFja2FnZUNvbmZpZyA9IHBsdWdpbnMucGF0aC5qb2luKE5wbWNpUGFja2FnZVJvb3QsXCIuL2NvbmZpZy5qc29uXCIpO1xuZXhwb3J0IGxldCBOcG1jaVByb2plY3REaXIgPSBwcm9jZXNzLmN3ZCgpOyJdfQ==
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnBhdGhzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFDeEIsSUFBWSxPQUFPLFdBQU0saUJBQWlCLENBQUMsQ0FBQTtBQUVoQyxXQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBRXBCLHdCQUFnQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBQyxLQUFLLENBQUMsQ0FBQztBQUN0RCwwQkFBa0IsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBZ0IsRUFBQyxlQUFlLENBQUMsQ0FBQztBQUN6RSx1QkFBZSxHQUFHLFdBQUcsQ0FBQztBQUN0QixvQkFBWSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQUcsRUFBQyxRQUFRLENBQUMsQ0FBQyIsImZpbGUiOiJucG1jaS5wYXRocy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcblxuZXhwb3J0IGxldCBjd2QgPSBwcm9jZXNzLmN3ZCgpO1xuXG5leHBvcnQgbGV0IE5wbWNpUGFja2FnZVJvb3QgPSBwbHVnaW5zLnBhdGguam9pbihfX2Rpcm5hbWUsXCIuLi9cIik7XG5leHBvcnQgbGV0IE5wbWNpUGFja2FnZUNvbmZpZyA9IHBsdWdpbnMucGF0aC5qb2luKE5wbWNpUGFja2FnZVJvb3QsXCIuL2NvbmZpZy5qc29uXCIpO1xuZXhwb3J0IGxldCBOcG1jaVByb2plY3REaXIgPSBjd2Q7XG5leHBvcnQgbGV0IE5wbWNpVGVzdERpciA9IHBsdWdpbnMucGF0aC5qb2luKGN3ZCxcIi4vdGVzdFwiKTsiXX0=
|
||||||
|
|||||||
4
dist/npmci.plugins.d.ts
vendored
4
dist/npmci.plugins.d.ts
vendored
@@ -4,10 +4,12 @@ export declare let commander: any;
|
|||||||
export declare let gulp: any;
|
export declare let gulp: any;
|
||||||
export declare let gulpFunction: any;
|
export declare let gulpFunction: any;
|
||||||
export import path = require("path");
|
export import path = require("path");
|
||||||
|
export import projectinfo = require("projectinfo");
|
||||||
export declare let q: any;
|
export declare let q: any;
|
||||||
export declare let request: any;
|
export declare let request: any;
|
||||||
export declare let shelljs: any;
|
export declare let shelljs: any;
|
||||||
|
export import smartfile = require("smartfile");
|
||||||
|
export import smartparam = require("smartparam");
|
||||||
export import smartssh = require("smartssh");
|
export import smartssh = require("smartssh");
|
||||||
export import smartstring = require("smartstring");
|
export import smartstring = require("smartstring");
|
||||||
export import smartfile = require("smartfile");
|
|
||||||
export declare let through2: any;
|
export declare let through2: any;
|
||||||
|
|||||||
6
dist/npmci.plugins.js
vendored
6
dist/npmci.plugins.js
vendored
@@ -5,12 +5,14 @@ exports.commander = require("commander");
|
|||||||
exports.gulp = require("gulp");
|
exports.gulp = require("gulp");
|
||||||
exports.gulpFunction = require("gulp-function");
|
exports.gulpFunction = require("gulp-function");
|
||||||
exports.path = require("path");
|
exports.path = require("path");
|
||||||
|
exports.projectinfo = require("projectinfo");
|
||||||
exports.q = require("q");
|
exports.q = require("q");
|
||||||
exports.request = require("request");
|
exports.request = require("request");
|
||||||
exports.shelljs = require("shelljs");
|
exports.shelljs = require("shelljs");
|
||||||
|
exports.smartfile = require("smartfile");
|
||||||
|
exports.smartparam = require("smartparam");
|
||||||
exports.smartssh = require("smartssh");
|
exports.smartssh = require("smartssh");
|
||||||
exports.smartstring = require("smartstring");
|
exports.smartstring = require("smartstring");
|
||||||
exports.smartfile = require("smartfile");
|
|
||||||
exports.through2 = require("through2");
|
exports.through2 = require("through2");
|
||||||
|
|
||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUNWLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDcEMsaUJBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDakMsWUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN2QixvQkFBWSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUNyQyxZQUFJLFdBQVcsTUFBTSxDQUFDLENBQUM7QUFDMUIsU0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNqQixlQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzdCLGVBQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDMUIsZ0JBQVEsV0FBVyxVQUFVLENBQUMsQ0FBQztBQUMvQixtQkFBVyxXQUFXLGFBQWEsQ0FBQyxDQUFDO0FBQ3JDLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDcEMsZ0JBQVEsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMiLCJmaWxlIjoibnBtY2kucGx1Z2lucy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5leHBvcnQgaW1wb3J0IGJlYXV0eWxvZyA9IHJlcXVpcmUoXCJiZWF1dHlsb2dcIik7XG5leHBvcnQgbGV0IGNvbW1hbmRlciA9IHJlcXVpcmUoXCJjb21tYW5kZXJcIik7XG5leHBvcnQgbGV0IGd1bHAgPSByZXF1aXJlKFwiZ3VscFwiKTtcbmV4cG9ydCBsZXQgZ3VscEZ1bmN0aW9uID0gcmVxdWlyZShcImd1bHAtZnVuY3Rpb25cIik7XG5leHBvcnQgaW1wb3J0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcbmV4cG9ydCBsZXQgcSA9IHJlcXVpcmUoXCJxXCIpO1xuZXhwb3J0IGxldCByZXF1ZXN0ID0gcmVxdWlyZShcInJlcXVlc3RcIik7XG5leHBvcnQgbGV0IHNoZWxsanMgPSByZXF1aXJlKFwic2hlbGxqc1wiKTtcbmV4cG9ydCBpbXBvcnQgc21hcnRzc2ggPSByZXF1aXJlKFwic21hcnRzc2hcIik7XG5leHBvcnQgaW1wb3J0IHNtYXJ0c3RyaW5nID0gcmVxdWlyZShcInNtYXJ0c3RyaW5nXCIpO1xuZXhwb3J0IGltcG9ydCBzbWFydGZpbGUgPSByZXF1aXJlKFwic21hcnRmaWxlXCIpO1xuZXhwb3J0IGxldCB0aHJvdWdoMiA9IHJlcXVpcmUoXCJ0aHJvdWdoMlwiKTsiXX0=
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUNWLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDcEMsaUJBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDakMsWUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN2QixvQkFBWSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUNyQyxZQUFJLFdBQVcsTUFBTSxDQUFDLENBQUM7QUFDdkIsbUJBQVcsV0FBVyxhQUFhLENBQUMsQ0FBQztBQUN4QyxTQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2pCLGVBQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0IsZUFBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUMxQixpQkFBUyxXQUFXLFdBQVcsQ0FBQyxDQUFDO0FBQ2pDLGtCQUFVLFdBQVcsWUFBWSxDQUFDLENBQUM7QUFDbkMsZ0JBQVEsV0FBVyxVQUFVLENBQUMsQ0FBQztBQUMvQixtQkFBVyxXQUFXLGFBQWEsQ0FBQyxDQUFDO0FBQ3hDLGdCQUFRLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDIiwiZmlsZSI6Im5wbWNpLnBsdWdpbnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xuZXhwb3J0IGltcG9ydCBiZWF1dHlsb2cgPSByZXF1aXJlKFwiYmVhdXR5bG9nXCIpO1xuZXhwb3J0IGxldCBjb21tYW5kZXIgPSByZXF1aXJlKFwiY29tbWFuZGVyXCIpO1xuZXhwb3J0IGxldCBndWxwID0gcmVxdWlyZShcImd1bHBcIik7XG5leHBvcnQgbGV0IGd1bHBGdW5jdGlvbiA9IHJlcXVpcmUoXCJndWxwLWZ1bmN0aW9uXCIpO1xuZXhwb3J0IGltcG9ydCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XG5leHBvcnQgaW1wb3J0IHByb2plY3RpbmZvID0gcmVxdWlyZShcInByb2plY3RpbmZvXCIpO1xuZXhwb3J0IGxldCBxID0gcmVxdWlyZShcInFcIik7XG5leHBvcnQgbGV0IHJlcXVlc3QgPSByZXF1aXJlKFwicmVxdWVzdFwiKTtcbmV4cG9ydCBsZXQgc2hlbGxqcyA9IHJlcXVpcmUoXCJzaGVsbGpzXCIpO1xuZXhwb3J0IGltcG9ydCBzbWFydGZpbGUgPSByZXF1aXJlKFwic21hcnRmaWxlXCIpO1xuZXhwb3J0IGltcG9ydCBzbWFydHBhcmFtID0gcmVxdWlyZShcInNtYXJ0cGFyYW1cIik7XG5leHBvcnQgaW1wb3J0IHNtYXJ0c3NoID0gcmVxdWlyZShcInNtYXJ0c3NoXCIpO1xuZXhwb3J0IGltcG9ydCBzbWFydHN0cmluZyA9IHJlcXVpcmUoXCJzbWFydHN0cmluZ1wiKTtcbmV4cG9ydCBsZXQgdGhyb3VnaDIgPSByZXF1aXJlKFwidGhyb3VnaDJcIik7Il19
|
||||||
|
|||||||
4
dist/npmci.prepare.js
vendored
4
dist/npmci.prepare.js
vendored
File diff suppressed because one or more lines are too long
4
dist/npmci.publish.js
vendored
4
dist/npmci.publish.js
vendored
@@ -27,9 +27,9 @@ var publishDocker = function () {
|
|||||||
var done = plugins.q.defer();
|
var done = plugins.q.defer();
|
||||||
NpmciBuildDocker.readDockerfiles()
|
NpmciBuildDocker.readDockerfiles()
|
||||||
.then(NpmciBuildDocker.pullDockerfileImages)
|
.then(NpmciBuildDocker.pullDockerfileImages)
|
||||||
.then(NpmciBuildDocker.releaseDockerfiles)
|
.then(NpmciBuildDocker.pushDockerfiles)
|
||||||
.then(done.resolve);
|
.then(done.resolve);
|
||||||
return done.promise;
|
return done.promise;
|
||||||
};
|
};
|
||||||
|
|
||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnB1Ymxpc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDhCQUFzQixpQkFBaUIsQ0FBQyxDQUFBO0FBQ3hDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUVsQyxJQUFZLGdCQUFnQixXQUFNLHNCQUVsQyxDQUFDLENBRnVEO0FBRTdDLGVBQU8sR0FBRyxVQUFDLFVBQXlCO0lBQXpCLDBCQUF5QixHQUF6QixrQkFBeUI7SUFDM0MsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUEsQ0FBQztRQUNoQixLQUFLLEtBQUs7WUFDTixNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDeEIsS0FBSyxRQUFRO1lBQ1QsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQy9CLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixJQUFJLFVBQVUsR0FBSTtJQUNkLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsdUJBQU8sQ0FBQyxLQUFLLENBQUM7U0FDVCxJQUFJLENBQUM7UUFDRixpQkFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFFO1FBQy9CLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQixDQUFDLENBQUMsQ0FBQztJQUNSLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQTtBQUVELElBQUksYUFBYSxHQUFHO0lBQ2hCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsZ0JBQWdCLENBQUMsZUFBZSxFQUFFO1NBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQztTQUMzQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUM7U0FDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN4QixDQUFDLENBQUMiLCJmaWxlIjoibnBtY2kucHVibGlzaC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcbmltcG9ydCB7cHJlcGFyZX0gZnJvbSBcIi4vbnBtY2kucHJlcGFyZVwiO1xuaW1wb3J0IHtiYXNofSBmcm9tIFwiLi9ucG1jaS5iYXNoXCI7XG5pbXBvcnQgKiBhcyBOcG1jaUVudiBmcm9tIFwiLi9ucG1jaS5lbnZcIjtcbmltcG9ydCAqIGFzIE5wbWNpQnVpbGREb2NrZXIgZnJvbSBcIi4vbnBtY2kuYnVpbGQuZG9ja2VyXCJcblxuZXhwb3J0IGxldCBwdWJsaXNoID0gKHNlcnZpY2VBcmc6c3RyaW5nID0gXCJucG1cIikgPT4ge1xuICAgIHN3aXRjaCAoc2VydmljZUFyZyl7XG4gICAgICAgIGNhc2UgXCJucG1cIjogXG4gICAgICAgICAgICByZXR1cm4gcHVibGlzaE5wbSgpO1xuICAgICAgICBjYXNlIFwiZG9ja2VyXCI6XG4gICAgICAgICAgICByZXR1cm4gcHVibGlzaERvY2tlcigpO1xuICAgIH1cbn07XG5cbmxldCBwdWJsaXNoTnBtICA9IGZ1bmN0aW9uKCl7XG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcbiAgICBwcmVwYXJlKFwibnBtXCIpXG4gICAgICAgIC50aGVuKGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICBiYXNoKFwibnBtIHB1Ymxpc2hcIik7XG4gICAgICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy5vayhcIkRvbmUhXCIpIDtcbiAgICAgICAgICAgIGRvbmUucmVzb2x2ZSgpO1xuICAgICAgICB9KTtcbiAgIHJldHVybiBkb25lLnByb21pc2U7XG59XG5cbmxldCBwdWJsaXNoRG9ja2VyID0gZnVuY3Rpb24oKXtcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xuICAgICAgICBOcG1jaUJ1aWxkRG9ja2VyLnJlYWREb2NrZXJmaWxlcygpXG4gICAgICAgIC50aGVuKE5wbWNpQnVpbGREb2NrZXIucHVsbERvY2tlcmZpbGVJbWFnZXMpXG4gICAgICAgIC50aGVuKE5wbWNpQnVpbGREb2NrZXIucmVsZWFzZURvY2tlcmZpbGVzKVxuICAgICAgICAudGhlbihkb25lLnJlc29sdmUpO1xuICAgIHJldHVybiBkb25lLnByb21pc2U7XG59OyJdfQ==
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnB1Ymxpc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDhCQUFzQixpQkFBaUIsQ0FBQyxDQUFBO0FBQ3hDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUVsQyxJQUFZLGdCQUFnQixXQUFNLHNCQUVsQyxDQUFDLENBRnVEO0FBRTdDLGVBQU8sR0FBRyxVQUFDLFVBQXlCO0lBQXpCLDBCQUF5QixHQUF6QixrQkFBeUI7SUFDM0MsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUEsQ0FBQztRQUNoQixLQUFLLEtBQUs7WUFDTixNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDeEIsS0FBSyxRQUFRO1lBQ1QsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQy9CLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixJQUFJLFVBQVUsR0FBSTtJQUNkLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsdUJBQU8sQ0FBQyxLQUFLLENBQUM7U0FDVCxJQUFJLENBQUM7UUFDRixpQkFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFFO1FBQy9CLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQixDQUFDLENBQUMsQ0FBQztJQUNSLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQTtBQUVELElBQUksYUFBYSxHQUFHO0lBQ2hCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsZ0JBQWdCLENBQUMsZUFBZSxFQUFFO1NBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQztTQUMzQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDO1NBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFDIiwiZmlsZSI6Im5wbWNpLnB1Ymxpc2guanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9ucG1jaS5wbHVnaW5zXCI7XG5pbXBvcnQge3ByZXBhcmV9IGZyb20gXCIuL25wbWNpLnByZXBhcmVcIjtcbmltcG9ydCB7YmFzaH0gZnJvbSBcIi4vbnBtY2kuYmFzaFwiO1xuaW1wb3J0ICogYXMgTnBtY2lFbnYgZnJvbSBcIi4vbnBtY2kuZW52XCI7XG5pbXBvcnQgKiBhcyBOcG1jaUJ1aWxkRG9ja2VyIGZyb20gXCIuL25wbWNpLmJ1aWxkLmRvY2tlclwiXG5cbmV4cG9ydCBsZXQgcHVibGlzaCA9IChzZXJ2aWNlQXJnOnN0cmluZyA9IFwibnBtXCIpID0+IHtcbiAgICBzd2l0Y2ggKHNlcnZpY2VBcmcpe1xuICAgICAgICBjYXNlIFwibnBtXCI6IFxuICAgICAgICAgICAgcmV0dXJuIHB1Ymxpc2hOcG0oKTtcbiAgICAgICAgY2FzZSBcImRvY2tlclwiOlxuICAgICAgICAgICAgcmV0dXJuIHB1Ymxpc2hEb2NrZXIoKTtcbiAgICB9XG59O1xuXG5sZXQgcHVibGlzaE5wbSAgPSBmdW5jdGlvbigpe1xuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XG4gICAgcHJlcGFyZShcIm5wbVwiKVxuICAgICAgICAudGhlbihmdW5jdGlvbigpe1xuICAgICAgICAgICAgYmFzaChcIm5wbSBwdWJsaXNoXCIpO1xuICAgICAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cub2soXCJEb25lIVwiKSA7XG4gICAgICAgICAgICBkb25lLnJlc29sdmUoKTtcbiAgICAgICAgfSk7XG4gICByZXR1cm4gZG9uZS5wcm9taXNlO1xufVxuXG5sZXQgcHVibGlzaERvY2tlciA9IGZ1bmN0aW9uKCl7XG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcbiAgICAgICAgTnBtY2lCdWlsZERvY2tlci5yZWFkRG9ja2VyZmlsZXMoKVxuICAgICAgICAudGhlbihOcG1jaUJ1aWxkRG9ja2VyLnB1bGxEb2NrZXJmaWxlSW1hZ2VzKVxuICAgICAgICAudGhlbihOcG1jaUJ1aWxkRG9ja2VyLnB1c2hEb2NrZXJmaWxlcylcbiAgICAgICAgLnRoZW4oZG9uZS5yZXNvbHZlKTtcbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xufTsiXX0=
|
||||||
|
|||||||
3
dist/npmci.ssh.d.ts
vendored
Normal file
3
dist/npmci.ssh.d.ts
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
import "typings-global";
|
||||||
|
export declare let ssh: () => void;
|
||||||
|
export declare let evaluateSshkey: (sshkeyEnvVarArg: any) => void;
|
||||||
25
dist/npmci.ssh.js
vendored
Normal file
25
dist/npmci.ssh.js
vendored
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
"use strict";
|
||||||
|
require("typings-global");
|
||||||
|
var plugins = require("./npmci.plugins");
|
||||||
|
var sshRegex = /^(.*)\|?(.*)\|?(.*)/;
|
||||||
|
var sshInstance;
|
||||||
|
exports.ssh = function () {
|
||||||
|
sshInstance = new plugins.smartssh.SshInstance();
|
||||||
|
plugins.smartparam.forEachMinimatch(process.env, "NPMCI_SSHKEY_*", exports.evaluateSshkey);
|
||||||
|
sshInstance.writeToDisk();
|
||||||
|
};
|
||||||
|
exports.evaluateSshkey = function (sshkeyEnvVarArg) {
|
||||||
|
var resultArray = sshRegex.exec(sshkeyEnvVarArg);
|
||||||
|
var sshKey = new plugins.smartssh.SshKey();
|
||||||
|
if (resultArray[1] && resultArray[1] != "undefined")
|
||||||
|
sshKey.privKeyBase64 = resultArray[1];
|
||||||
|
var publicKey;
|
||||||
|
if (resultArray[2] && resultArray[2] != "undefined")
|
||||||
|
sshKey.pubKeyBase64 = resultArray[2];
|
||||||
|
var host;
|
||||||
|
if (resultArray[3] && resultArray[3] != "undefined")
|
||||||
|
sshKey.host = resultArray[1];
|
||||||
|
sshInstance.addKey(sshKey);
|
||||||
|
};
|
||||||
|
|
||||||
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnNzaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLElBQVksT0FBTyxXQUFNLGlCQUFpQixDQUFDLENBQUE7QUFFM0MsSUFBSSxRQUFRLEdBQUcscUJBQXFCLENBQUE7QUFDcEMsSUFBSSxXQUF3QyxDQUFDO0FBRWxDLFdBQUcsR0FBRztJQUNiLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDakQsT0FBTyxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFDLGdCQUFnQixFQUFDLHNCQUFjLENBQUMsQ0FBQztJQUNqRixXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDOUIsQ0FBQyxDQUFDO0FBRVMsc0JBQWMsR0FBRyxVQUFDLGVBQWU7SUFDeEMsSUFBSSxXQUFXLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNqRCxJQUFJLE1BQU0sR0FBRyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFFM0MsRUFBRSxDQUFBLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUM7UUFBQyxNQUFNLENBQUMsYUFBYSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRixJQUFJLFNBQWdCLENBQUM7SUFDckIsRUFBRSxDQUFBLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUM7UUFBQyxNQUFNLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RixJQUFJLElBQVcsQ0FBQztJQUNoQixFQUFFLENBQUEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQztRQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWpGLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDL0IsQ0FBQyxDQUFDIiwiZmlsZSI6Im5wbWNpLnNzaC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcblxubGV0IHNzaFJlZ2V4ID0gL14oLiopXFx8PyguKilcXHw/KC4qKS9cbmxldCBzc2hJbnN0YW5jZTpwbHVnaW5zLnNtYXJ0c3NoLlNzaEluc3RhbmNlO1xuXG5leHBvcnQgbGV0IHNzaCA9ICgpID0+IHtcbiAgICBzc2hJbnN0YW5jZSA9IG5ldyBwbHVnaW5zLnNtYXJ0c3NoLlNzaEluc3RhbmNlKCk7XG4gICAgcGx1Z2lucy5zbWFydHBhcmFtLmZvckVhY2hNaW5pbWF0Y2gocHJvY2Vzcy5lbnYsXCJOUE1DSV9TU0hLRVlfKlwiLGV2YWx1YXRlU3Noa2V5KTtcbiAgICBzc2hJbnN0YW5jZS53cml0ZVRvRGlzaygpO1xufTtcblxuZXhwb3J0IGxldCBldmFsdWF0ZVNzaGtleSA9IChzc2hrZXlFbnZWYXJBcmcpID0+IHtcbiAgICBsZXQgcmVzdWx0QXJyYXkgPSBzc2hSZWdleC5leGVjKHNzaGtleUVudlZhckFyZyk7XG4gICAgbGV0IHNzaEtleSA9IG5ldyBwbHVnaW5zLnNtYXJ0c3NoLlNzaEtleSgpO1xuICAgIFxuICAgIGlmKHJlc3VsdEFycmF5WzFdICYmIHJlc3VsdEFycmF5WzFdICE9IFwidW5kZWZpbmVkXCIpIHNzaEtleS5wcml2S2V5QmFzZTY0ID0gcmVzdWx0QXJyYXlbMV07XG4gICAgbGV0IHB1YmxpY0tleTpzdHJpbmc7XG4gICAgaWYocmVzdWx0QXJyYXlbMl0gJiYgcmVzdWx0QXJyYXlbMl0gIT0gXCJ1bmRlZmluZWRcIikgc3NoS2V5LnB1YktleUJhc2U2NCA9IHJlc3VsdEFycmF5WzJdO1xuICAgIGxldCBob3N0OnN0cmluZztcbiAgICBpZihyZXN1bHRBcnJheVszXSAmJiByZXN1bHRBcnJheVszXSAhPSBcInVuZGVmaW5lZFwiKSBzc2hLZXkuaG9zdCA9IHJlc3VsdEFycmF5WzFdO1xuICAgIFxuICAgIHNzaEluc3RhbmNlLmFkZEtleShzc2hLZXkpO1xufTsiXX0=
|
||||||
25
dist/npmci.trigger.js
vendored
25
dist/npmci.trigger.js
vendored
@@ -1,35 +1,30 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
require("typings-global");
|
require("typings-global");
|
||||||
var plugins = require("./npmci.plugins");
|
var plugins = require("./npmci.plugins");
|
||||||
//Variables
|
var triggerValueRegex = /^([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|?([a-zA-Z0-9\.\-\/]*)/;
|
||||||
var triggerEnvPrefix = "NPMCI_TRIGGER_";
|
|
||||||
exports.trigger = function () {
|
exports.trigger = function () {
|
||||||
var done = plugins.q.defer();
|
var done = plugins.q.defer();
|
||||||
plugins.beautylog.info("now running triggers");
|
plugins.beautylog.info("now running triggers");
|
||||||
var triggerRegex = /^([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|?([a-zA-Z0-9\.\-\/]*)/;
|
plugins.smartparam.forEachMinimatch(process.env, "NPMCI_TRIGGER_*", evaluateTrigger);
|
||||||
for (var i = 0; i < 100; i++) {
|
done.resolve();
|
||||||
var iteratorString = i.toString();
|
return done.promise;
|
||||||
var triggerName = triggerEnvPrefix + iteratorString;
|
};
|
||||||
if (process.env[triggerName]) {
|
var evaluateTrigger = function (triggerEnvVarArg) {
|
||||||
var triggerRegexResultArray = triggerRegex.exec(process.env[triggerName]);
|
var triggerRegexResultArray = triggerValueRegex.exec(triggerEnvVarArg);
|
||||||
var regexDomain = triggerRegexResultArray[1];
|
var regexDomain = triggerRegexResultArray[1];
|
||||||
var regexProjectId = triggerRegexResultArray[2];
|
var regexProjectId = triggerRegexResultArray[2];
|
||||||
var regexProjectTriggerToken = triggerRegexResultArray[3];
|
var regexProjectTriggerToken = triggerRegexResultArray[3];
|
||||||
var regexRefName = triggerRegexResultArray[4];
|
var regexRefName = triggerRegexResultArray[4];
|
||||||
var regexTriggerName = void 0;
|
var regexTriggerName;
|
||||||
if (triggerRegexResultArray.length == 6) {
|
if (triggerRegexResultArray.length == 6) {
|
||||||
regexTriggerName = triggerRegexResultArray[5];
|
regexTriggerName = triggerRegexResultArray[5];
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
regexTriggerName = "Unnamed Trigger";
|
regexTriggerName = "Unnamed Trigger";
|
||||||
}
|
}
|
||||||
plugins.beautylog.info("Found " + triggerName);
|
plugins.beautylog.info("Found Trigger!");
|
||||||
plugins.beautylog.log("triggering build for ref " + regexRefName + " of " + regexTriggerName);
|
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 } });
|
plugins.request.post("https://gitlab.com/api/v3/projects/" + regexProjectId + "/trigger/builds", { form: { token: regexProjectTriggerToken, ref: regexRefName } });
|
||||||
}
|
|
||||||
}
|
|
||||||
done.resolve();
|
|
||||||
return done.promise;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnRyaWdnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBSTNDLFdBQVc7QUFDWCxJQUFJLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO0FBRTdCLGVBQU8sR0FBRztJQUNqQixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdCLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDL0MsSUFBSSxZQUFZLEdBQUcsZ0dBQWdHLENBQUM7SUFDcEgsR0FBRyxDQUFBLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUMsQ0FBQztRQUN6QixJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEMsSUFBSSxXQUFXLEdBQUcsZ0JBQWdCLEdBQUcsY0FBYyxDQUFBO1FBQ25ELEVBQUUsQ0FBQSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQSxDQUFDO1lBQ3pCLElBQUksdUJBQXVCLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDMUUsSUFBSSxXQUFXLEdBQUcsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0MsSUFBSSxjQUFjLEdBQUcsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEQsSUFBSSx3QkFBd0IsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxRCxJQUFJLFlBQVksR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QyxJQUFJLGdCQUFnQixTQUFBLENBQUM7WUFDckIsRUFBRSxDQUFBLENBQUMsdUJBQXVCLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFBLENBQUM7Z0JBQ3BDLGdCQUFnQixHQUFHLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xELENBQUM7WUFBQyxJQUFJLENBQUMsQ0FBQztnQkFDSixnQkFBZ0IsR0FBRyxpQkFBaUIsQ0FBQztZQUN6QyxDQUFDO1lBQ0QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQyxDQUFDO1lBQy9DLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLDJCQUEyQixHQUFHLFlBQVksR0FBRyxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQztZQUM5RixPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxxQ0FBcUMsR0FBRyxjQUFjLEdBQUcsaUJBQWlCLEVBQUUsRUFBQyxJQUFJLEVBQUMsRUFBQyxLQUFLLEVBQUMsd0JBQXdCLEVBQUMsR0FBRyxFQUFDLFlBQVksRUFBQyxFQUFDLENBQUMsQ0FBQztRQUMvSixDQUFDO0lBQ0wsQ0FBQztJQUNELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQSIsImZpbGUiOiJucG1jaS50cmlnZ2VyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vbnBtY2kucGx1Z2luc1wiO1xuaW1wb3J0IHtwcmVwYXJlfSBmcm9tIFwiLi9ucG1jaS5wcmVwYXJlXCI7XG5pbXBvcnQge2Jhc2h9IGZyb20gXCIuL25wbWNpLmJhc2hcIjtcblxuLy9WYXJpYWJsZXNcbmxldCB0cmlnZ2VyRW52UHJlZml4ID0gXCJOUE1DSV9UUklHR0VSX1wiO1xuXG5leHBvcnQgbGV0IHRyaWdnZXIgPSBmdW5jdGlvbigpe1xuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XG4gICAgcGx1Z2lucy5iZWF1dHlsb2cuaW5mbyhcIm5vdyBydW5uaW5nIHRyaWdnZXJzXCIpO1xuICAgIGxldCB0cmlnZ2VyUmVnZXggPSAvXihbYS16QS1aMC05XFwuXSopXFx8KFthLXpBLVowLTlcXC5dKilcXHwoW2EtekEtWjAtOVxcLl0qKVxcfChbYS16QS1aMC05XFwuXSopXFx8PyhbYS16QS1aMC05XFwuXFwtXFwvXSopLztcbiAgICBmb3IobGV0IGkgPSAwOyBpIDwgMTAwOyBpKyspe1xuICAgICAgICBsZXQgaXRlcmF0b3JTdHJpbmcgPSBpLnRvU3RyaW5nKCk7XG4gICAgICAgIGxldCB0cmlnZ2VyTmFtZSA9IHRyaWdnZXJFbnZQcmVmaXggKyBpdGVyYXRvclN0cmluZ1xuICAgICAgICBpZihwcm9jZXNzLmVudlt0cmlnZ2VyTmFtZV0pe1xuICAgICAgICAgICAgbGV0IHRyaWdnZXJSZWdleFJlc3VsdEFycmF5ID0gdHJpZ2dlclJlZ2V4LmV4ZWMocHJvY2Vzcy5lbnZbdHJpZ2dlck5hbWVdKTtcbiAgICAgICAgICAgIGxldCByZWdleERvbWFpbiA9IHRyaWdnZXJSZWdleFJlc3VsdEFycmF5WzFdO1xuICAgICAgICAgICAgbGV0IHJlZ2V4UHJvamVjdElkID0gdHJpZ2dlclJlZ2V4UmVzdWx0QXJyYXlbMl07XG4gICAgICAgICAgICBsZXQgcmVnZXhQcm9qZWN0VHJpZ2dlclRva2VuID0gdHJpZ2dlclJlZ2V4UmVzdWx0QXJyYXlbM107XG4gICAgICAgICAgICBsZXQgcmVnZXhSZWZOYW1lID0gdHJpZ2dlclJlZ2V4UmVzdWx0QXJyYXlbNF07XG4gICAgICAgICAgICBsZXQgcmVnZXhUcmlnZ2VyTmFtZTtcbiAgICAgICAgICAgIGlmKHRyaWdnZXJSZWdleFJlc3VsdEFycmF5Lmxlbmd0aCA9PSA2KXtcbiAgICAgICAgICAgICAgICByZWdleFRyaWdnZXJOYW1lID0gdHJpZ2dlclJlZ2V4UmVzdWx0QXJyYXlbNV07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlZ2V4VHJpZ2dlck5hbWUgPSBcIlVubmFtZWQgVHJpZ2dlclwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cuaW5mbyhcIkZvdW5kIFwiICsgdHJpZ2dlck5hbWUpO1xuICAgICAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cubG9nKFwidHJpZ2dlcmluZyBidWlsZCBmb3IgcmVmIFwiICsgcmVnZXhSZWZOYW1lICsgXCIgb2YgXCIgKyByZWdleFRyaWdnZXJOYW1lKTtcbiAgICAgICAgICAgIHBsdWdpbnMucmVxdWVzdC5wb3N0KFwiaHR0cHM6Ly9naXRsYWIuY29tL2FwaS92My9wcm9qZWN0cy9cIiArIHJlZ2V4UHJvamVjdElkICsgXCIvdHJpZ2dlci9idWlsZHNcIiwge2Zvcm06e3Rva2VuOnJlZ2V4UHJvamVjdFRyaWdnZXJUb2tlbixyZWY6cmVnZXhSZWZOYW1lfX0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIGRvbmUucmVzb2x2ZSgpO1xuICAgIHJldHVybiBkb25lLnByb21pc2U7XG59Il19
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnRyaWdnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBSzNDLElBQUksaUJBQWlCLEdBQUcsZ0dBQWdHLENBQUM7QUFFOUcsZUFBTyxHQUFHO0lBQ2pCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUMvQyxPQUFPLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDckYsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFBO0FBRUQsSUFBSSxlQUFlLEdBQUcsVUFBQyxnQkFBZ0I7SUFDbkMsSUFBSSx1QkFBdUIsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN2RSxJQUFJLFdBQVcsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QyxJQUFJLGNBQWMsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRCxJQUFJLHdCQUF3QixHQUFHLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFELElBQUksWUFBWSxHQUFHLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlDLElBQUksZ0JBQWdCLENBQUM7SUFDckIsRUFBRSxDQUFDLENBQUMsdUJBQXVCLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEMsZ0JBQWdCLEdBQUcsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ0osZ0JBQWdCLEdBQUcsaUJBQWlCLENBQUM7SUFDekMsQ0FBQztJQUNELE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDekMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLEdBQUcsWUFBWSxHQUFHLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzlGLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHFDQUFxQyxHQUFHLGNBQWMsR0FBRyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3ZLLENBQUMsQ0FBQSIsImZpbGUiOiJucG1jaS50cmlnZ2VyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vbnBtY2kucGx1Z2luc1wiO1xuaW1wb3J0IHtwcmVwYXJlfSBmcm9tIFwiLi9ucG1jaS5wcmVwYXJlXCI7XG5pbXBvcnQge2Jhc2h9IGZyb20gXCIuL25wbWNpLmJhc2hcIjtcblxuXG5sZXQgdHJpZ2dlclZhbHVlUmVnZXggPSAvXihbYS16QS1aMC05XFwuXSopXFx8KFthLXpBLVowLTlcXC5dKilcXHwoW2EtekEtWjAtOVxcLl0qKVxcfChbYS16QS1aMC05XFwuXSopXFx8PyhbYS16QS1aMC05XFwuXFwtXFwvXSopLztcblxuZXhwb3J0IGxldCB0cmlnZ2VyID0gZnVuY3Rpb24gKCkge1xuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XG4gICAgcGx1Z2lucy5iZWF1dHlsb2cuaW5mbyhcIm5vdyBydW5uaW5nIHRyaWdnZXJzXCIpO1xuICAgIHBsdWdpbnMuc21hcnRwYXJhbS5mb3JFYWNoTWluaW1hdGNoKHByb2Nlc3MuZW52LCBcIk5QTUNJX1RSSUdHRVJfKlwiLCBldmFsdWF0ZVRyaWdnZXIpO1xuICAgIGRvbmUucmVzb2x2ZSgpO1xuICAgIHJldHVybiBkb25lLnByb21pc2U7XG59XG5cbmxldCBldmFsdWF0ZVRyaWdnZXIgPSAodHJpZ2dlckVudlZhckFyZykgPT4ge1xuICAgIGxldCB0cmlnZ2VyUmVnZXhSZXN1bHRBcnJheSA9IHRyaWdnZXJWYWx1ZVJlZ2V4LmV4ZWModHJpZ2dlckVudlZhckFyZyk7XG4gICAgbGV0IHJlZ2V4RG9tYWluID0gdHJpZ2dlclJlZ2V4UmVzdWx0QXJyYXlbMV07XG4gICAgbGV0IHJlZ2V4UHJvamVjdElkID0gdHJpZ2dlclJlZ2V4UmVzdWx0QXJyYXlbMl07XG4gICAgbGV0IHJlZ2V4UHJvamVjdFRyaWdnZXJUb2tlbiA9IHRyaWdnZXJSZWdleFJlc3VsdEFycmF5WzNdO1xuICAgIGxldCByZWdleFJlZk5hbWUgPSB0cmlnZ2VyUmVnZXhSZXN1bHRBcnJheVs0XTtcbiAgICBsZXQgcmVnZXhUcmlnZ2VyTmFtZTtcbiAgICBpZiAodHJpZ2dlclJlZ2V4UmVzdWx0QXJyYXkubGVuZ3RoID09IDYpIHtcbiAgICAgICAgcmVnZXhUcmlnZ2VyTmFtZSA9IHRyaWdnZXJSZWdleFJlc3VsdEFycmF5WzVdO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJlZ2V4VHJpZ2dlck5hbWUgPSBcIlVubmFtZWQgVHJpZ2dlclwiO1xuICAgIH1cbiAgICBwbHVnaW5zLmJlYXV0eWxvZy5pbmZvKFwiRm91bmQgVHJpZ2dlciFcIik7XG4gICAgcGx1Z2lucy5iZWF1dHlsb2cubG9nKFwidHJpZ2dlcmluZyBidWlsZCBmb3IgcmVmIFwiICsgcmVnZXhSZWZOYW1lICsgXCIgb2YgXCIgKyByZWdleFRyaWdnZXJOYW1lKTtcbiAgICBwbHVnaW5zLnJlcXVlc3QucG9zdChcImh0dHBzOi8vZ2l0bGFiLmNvbS9hcGkvdjMvcHJvamVjdHMvXCIgKyByZWdleFByb2plY3RJZCArIFwiL3RyaWdnZXIvYnVpbGRzXCIsIHsgZm9ybTogeyB0b2tlbjogcmVnZXhQcm9qZWN0VHJpZ2dlclRva2VuLCByZWY6IHJlZ2V4UmVmTmFtZSB9IH0pO1xufSJdfQ==
|
||||||
|
|||||||
18
package.json
18
package.json
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "npmci",
|
"name": "npmci",
|
||||||
"version": "2.1.35",
|
"version": "2.1.59",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"bin": {
|
"bin": {
|
||||||
@@ -20,21 +20,23 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://gitlab.com/pushrocks/npmci#README",
|
"homepage": "https://gitlab.com/pushrocks/npmci#README",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"npmts": "^5.2.1",
|
"npmts-g": "^5.2.6",
|
||||||
"should": "^9.0.0",
|
"should": "^9.0.2",
|
||||||
"typings-test": "^1.0.1"
|
"typings-test": "^1.0.1"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"beautylog": "^5.0.8",
|
"beautylog": "^5.0.12",
|
||||||
"commander": "^2.9.0",
|
"commander": "^2.9.0",
|
||||||
"gulp": "^3.9.1",
|
"gulp": "^3.9.1",
|
||||||
"gulp-function": "^1.3.5",
|
"gulp-function": "^1.3.6",
|
||||||
|
"projectinfo": "^1.0.3",
|
||||||
"q": "^1.4.1",
|
"q": "^1.4.1",
|
||||||
"request": "^2.72.0",
|
"request": "^2.72.0",
|
||||||
"shelljs": "^0.7.0",
|
"shelljs": "^0.7.0",
|
||||||
"smartfile": "^3.0.10",
|
"smartfile": "^4.0.5",
|
||||||
"smartssh": "^1.0.5",
|
"smartparam": "^0.1.1",
|
||||||
"smartstring": "^2.0.6",
|
"smartssh": "^1.1.0",
|
||||||
|
"smartstring": "^2.0.10",
|
||||||
"through2": "^2.0.1",
|
"through2": "^2.0.1",
|
||||||
"typings-global": "^1.0.3"
|
"typings-global": "^1.0.3"
|
||||||
}
|
}
|
||||||
|
|||||||
2
test/assets/test/test_latest.sh
Normal file → Executable file
2
test/assets/test/test_latest.sh
Normal file → Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
npm -v
|
||||||
|
node -v
|
||||||
File diff suppressed because one or more lines are too long
@@ -10,6 +10,7 @@ process.cwd = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
//require NPMCI files
|
//require NPMCI files
|
||||||
|
import npmci = require("../dist/index");
|
||||||
import NpmciBuildDocker = require("../dist/npmci.build.docker");
|
import NpmciBuildDocker = require("../dist/npmci.build.docker");
|
||||||
import NpmciPublish = require("../dist/npmci.publish");
|
import NpmciPublish = require("../dist/npmci.publish");
|
||||||
import NpmciTest = require("../dist/npmci.test");
|
import NpmciTest = require("../dist/npmci.test");
|
||||||
|
|||||||
36
ts/index.ts
36
ts/index.ts
@@ -1,24 +1,29 @@
|
|||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
import "typings-global";
|
import "typings-global";
|
||||||
import * as plugins from "./npmci.plugins";
|
import * as plugins from "./npmci.plugins";
|
||||||
|
import * as paths from "./npmci.paths";
|
||||||
let packJson = require("../package.json");
|
let npmciInfo = new plugins.projectinfo.ProjectinfoNpm(paths.NpmciPackageRoot);
|
||||||
|
plugins.beautylog.log("npmci version: " + npmciInfo.version);
|
||||||
plugins.beautylog.info("npmci version: " + packJson.version);
|
|
||||||
|
|
||||||
import {build} from "./npmci.build"
|
import {build} from "./npmci.build"
|
||||||
|
import {command as command2} from "./npmci.command";
|
||||||
import {install} from "./npmci.install";
|
import {install} from "./npmci.install";
|
||||||
import {publish} from "./npmci.publish";
|
import {publish} from "./npmci.publish";
|
||||||
import {prepare} from "./npmci.prepare";
|
import {prepare} from "./npmci.prepare";
|
||||||
import {tag, retag} from "./npmci.tag";
|
import {tag, retag} from "./npmci.tag";
|
||||||
import {test} from "./npmci.test";
|
import {test} from "./npmci.test";
|
||||||
import {trigger} from "./npmci.trigger";
|
import {trigger} from "./npmci.trigger";
|
||||||
|
import * as NpmciEnv from "./npmci.env";
|
||||||
|
|
||||||
|
export {build} from "./npmci.build"
|
||||||
|
export {install} from "./npmci.install";
|
||||||
|
export {publish} from "./npmci.publish";
|
||||||
|
|
||||||
let command;
|
let command;
|
||||||
let commandOption;
|
let commandOption:string;
|
||||||
|
|
||||||
plugins.commander
|
plugins.commander
|
||||||
|
.version(npmciInfo.version)
|
||||||
.arguments('<commandarg> [commandoptionarg]')
|
.arguments('<commandarg> [commandoptionarg]')
|
||||||
.action(function (commandarg, commandoptionarg) {
|
.action(function (commandarg, commandoptionarg) {
|
||||||
command = commandarg;
|
command = commandarg;
|
||||||
@@ -34,24 +39,35 @@ if (typeof command === 'undefined') {
|
|||||||
|
|
||||||
switch (command){
|
switch (command){
|
||||||
case "build":
|
case "build":
|
||||||
build(commandOption);
|
build(commandOption)
|
||||||
|
.then(NpmciEnv.configStore);
|
||||||
|
break;
|
||||||
|
case "command":
|
||||||
|
command2()
|
||||||
|
.then(NpmciEnv.configStore);
|
||||||
break;
|
break;
|
||||||
case "install":
|
case "install":
|
||||||
install(commandOption);
|
install(commandOption)
|
||||||
|
.then(NpmciEnv.configStore);;
|
||||||
break;
|
break;
|
||||||
case "prepare":
|
case "prepare":
|
||||||
prepare(commandOption);
|
prepare(commandOption)
|
||||||
|
.then(NpmciEnv.configStore);;
|
||||||
break;
|
break;
|
||||||
case "publish":
|
case "publish":
|
||||||
publish(commandOption);
|
publish(commandOption)
|
||||||
|
.then(NpmciEnv.configStore);;
|
||||||
break;
|
break;
|
||||||
case "test":
|
case "test":
|
||||||
test(commandOption);
|
test(commandOption)
|
||||||
|
.then(NpmciEnv.configStore);
|
||||||
break;
|
break;
|
||||||
case "trigger":
|
case "trigger":
|
||||||
trigger();
|
trigger();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
plugins.beautylog.error("command " + commandOption.blue + " not recognised");
|
||||||
|
process.exit(1);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ export let bash = (commandArg:string,retryArg = 2,bareArg = false) => {
|
|||||||
"\""
|
"\""
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
execResult = plugins.shelljs.exec(bareArg);
|
execResult = plugins.shelljs.exec(commandArg);
|
||||||
}
|
}
|
||||||
exitCode = execResult.code;
|
exitCode = execResult.code;
|
||||||
stdOut = execResult.stdout;
|
stdOut = execResult.stdout;
|
||||||
|
|||||||
@@ -36,15 +36,15 @@ export let readDockerfiles = function(){
|
|||||||
export let sortDockerfiles = function(sortableArrayArg:Dockerfile[]){
|
export let sortDockerfiles = function(sortableArrayArg:Dockerfile[]){
|
||||||
let done = plugins.q.defer();
|
let done = plugins.q.defer();
|
||||||
let sortedArray:Dockerfile[] = [];
|
let sortedArray:Dockerfile[] = [];
|
||||||
let trackingArray:Dockerfile[] = [];
|
let cleanTagsOriginal = cleanTagsArrayFunction(sortableArrayArg,sortedArray);
|
||||||
let sorterFunctionCounter:number = 0;
|
let sorterFunctionCounter:number = 0;
|
||||||
let sorterFunction = function(){
|
let sorterFunction = function(){
|
||||||
sortableArrayArg.forEach((dockerfileArg)=>{
|
sortableArrayArg.forEach((dockerfileArg)=>{
|
||||||
let cleanTags = cleanTagsArrayFunction(sortableArrayArg,trackingArray);
|
let cleanTags = cleanTagsArrayFunction(sortableArrayArg,sortedArray);
|
||||||
if(cleanTags.indexOf(dockerfileArg.baseImage) == -1 && trackingArray.indexOf(dockerfileArg) == -1){
|
if(cleanTags.indexOf(dockerfileArg.baseImage) == -1 && sortedArray.indexOf(dockerfileArg) == -1){
|
||||||
sortedArray.push(dockerfileArg);
|
sortedArray.push(dockerfileArg);
|
||||||
trackingArray.push(dockerfileArg);
|
};
|
||||||
} else if(cleanTags.indexOf(dockerfileArg.baseImage) != -1){
|
if(cleanTagsOriginal.indexOf(dockerfileArg.baseImage) != -1){
|
||||||
dockerfileArg.localBaseImageDependent = true;
|
dockerfileArg.localBaseImageDependent = true;
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
@@ -86,16 +86,16 @@ export let buildDockerfiles = (sortedArrayArg:Dockerfile[]) => {
|
|||||||
export let pushDockerfiles = function(sortedArrayArg:Dockerfile[]){
|
export let pushDockerfiles = function(sortedArrayArg:Dockerfile[]){
|
||||||
let done = plugins.q.defer();
|
let done = plugins.q.defer();
|
||||||
sortedArrayArg.forEach(function(dockerfileArg){
|
sortedArrayArg.forEach(function(dockerfileArg){
|
||||||
dockerfileArg.push();
|
dockerfileArg.push(NpmciEnv.buildStage);
|
||||||
});
|
});
|
||||||
done.resolve(sortedArrayArg);
|
done.resolve(sortedArrayArg);
|
||||||
return done.promise;
|
return done.promise;
|
||||||
}
|
}
|
||||||
|
|
||||||
export let pullDockerfileImages = (sortableArrayArg:Dockerfile[]) => {
|
export let pullDockerfileImages = (sortableArrayArg:Dockerfile[],registryArg = "registry.gitlab.com") => {
|
||||||
let done = plugins.q.defer();
|
let done = plugins.q.defer();
|
||||||
sortableArrayArg.forEach((dockerfileArg) => {
|
sortableArrayArg.forEach((dockerfileArg) => {
|
||||||
dockerfileArg.pull();
|
dockerfileArg.pull(registryArg);
|
||||||
});
|
});
|
||||||
done.resolve(sortableArrayArg);
|
done.resolve(sortableArrayArg);
|
||||||
return done.promise;
|
return done.promise;
|
||||||
@@ -110,25 +110,16 @@ export let testDockerfiles = (sortedArrayArg:Dockerfile[]) => {
|
|||||||
return done.promise;
|
return done.promise;
|
||||||
};
|
};
|
||||||
|
|
||||||
export let releaseDockerfiles = (sortedArrayArg:Dockerfile[]) => {
|
|
||||||
let done = plugins.q.defer();
|
|
||||||
sortedArrayArg.forEach(function(dockerfileArg){
|
|
||||||
dockerfileArg.release();
|
|
||||||
});
|
|
||||||
done.resolve(sortedArrayArg);
|
|
||||||
return done.promise;
|
|
||||||
}
|
|
||||||
|
|
||||||
export class Dockerfile {
|
export class Dockerfile {
|
||||||
filePath:string;
|
filePath:string;
|
||||||
repo:string;
|
repo:string;
|
||||||
version:string;
|
version:string;
|
||||||
cleanTag:string;
|
cleanTag:string;
|
||||||
buildTag:string;
|
buildTag:string;
|
||||||
|
testTag:string;
|
||||||
releaseTag:string;
|
releaseTag:string;
|
||||||
containerName:string
|
containerName:string
|
||||||
content:string;
|
content:string;
|
||||||
patchedContent:string;
|
|
||||||
baseImage:string;
|
baseImage:string;
|
||||||
localBaseImageDependent:boolean;
|
localBaseImageDependent:boolean;
|
||||||
localBaseDockerfile:Dockerfile;
|
localBaseDockerfile:Dockerfile;
|
||||||
@@ -137,86 +128,64 @@ export class Dockerfile {
|
|||||||
this.repo = NpmciEnv.repo.user + "/" + NpmciEnv.repo.repo;
|
this.repo = NpmciEnv.repo.user + "/" + NpmciEnv.repo.repo;
|
||||||
this.version = dockerFileVersion(plugins.path.parse(options.filePath).base);
|
this.version = dockerFileVersion(plugins.path.parse(options.filePath).base);
|
||||||
this.cleanTag = this.repo + ":" + this.version;
|
this.cleanTag = this.repo + ":" + this.version;
|
||||||
this.buildTag = dockerTag(this.repo,this.version,"build");
|
this.buildTag = this.cleanTag;
|
||||||
this.releaseTag = dockerTag(this.repo,this.version,"release");
|
this.testTag = dockerTag("registry.gitlab.com",this.repo,this.version,"test");
|
||||||
|
this.releaseTag = dockerTag(NpmciEnv.dockerRegistry,this.repo,this.version);
|
||||||
this.containerName = "dockerfile-" + this.version;
|
this.containerName = "dockerfile-" + this.version;
|
||||||
if(options.filePath && options.read){
|
if(options.filePath && options.read){
|
||||||
this.content = plugins.smartfile.local.toStringSync(plugins.path.resolve(options.filePath));
|
this.content = plugins.smartfile.fs.toStringSync(plugins.path.resolve(options.filePath));
|
||||||
};
|
};
|
||||||
this.baseImage = dockerBaseImage(this.content);
|
this.baseImage = dockerBaseImage(this.content);
|
||||||
this.localBaseImageDependent = false;
|
this.localBaseImageDependent = false;
|
||||||
};
|
};
|
||||||
build(){
|
build(){
|
||||||
let done = plugins.q.defer();
|
let done = plugins.q.defer();
|
||||||
this.patchContents();
|
plugins.beautylog.info("now building Dockerfile for " + this.cleanTag);
|
||||||
bashBare("docker build -t " + this.buildTag + " -f " + this.filePath + " .");
|
bashBare("docker build -t " + this.buildTag + " -f " + this.filePath + " .");
|
||||||
NpmciEnv.dockerFilesBuilt.push(this);
|
NpmciEnv.dockerFilesBuilt.push(this);
|
||||||
this.restoreContents();
|
|
||||||
done.resolve();
|
done.resolve();
|
||||||
return done.promise;
|
return done.promise;
|
||||||
};
|
};
|
||||||
push(){
|
push(stageArg){
|
||||||
let done = plugins.q.defer();
|
let done = plugins.q.defer();
|
||||||
if(this.buildTag){
|
let pushTag;
|
||||||
bashBare("docker push " + this.buildTag);
|
switch (stageArg){
|
||||||
} else {
|
case "release":
|
||||||
plugins.beautylog.error("Dockerfile hasn't been built yet!");
|
pushTag = this.releaseTag;
|
||||||
|
break;
|
||||||
|
case "test":
|
||||||
|
default:
|
||||||
|
pushTag = this.testTag;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
bashBare("docker tag " + this.buildTag + " " + pushTag);
|
||||||
|
bashBare("docker push " + pushTag);
|
||||||
done.resolve();
|
done.resolve();
|
||||||
return done.promise;
|
return done.promise;
|
||||||
}
|
}
|
||||||
pull(){
|
pull(registryArg:string){
|
||||||
bashBare("docker pull " + this.buildTag);
|
let pullTag = this.testTag;
|
||||||
|
bashBare("docker pull " + pullTag);
|
||||||
|
bashBare("docker tag " + pullTag + " " + this.buildTag);
|
||||||
};
|
};
|
||||||
test(){
|
test(){
|
||||||
let testExists = plugins.smartfile.checks.fileExistsSync(
|
let testFile:string = plugins.path.join(paths.NpmciTestDir,"test_" + this.version + ".sh");
|
||||||
plugins.path.join(paths.NpmciProjectDir,("./test/test_" + this.version + ".sh"))
|
let testFileExists:boolean = plugins.smartfile.fs.fileExistsSync(testFile);
|
||||||
);
|
if(testFileExists){
|
||||||
if(testExists){
|
bashBare("docker run --name npmci_test_container " + this.buildTag + " mkdir /npmci_test");
|
||||||
bashBare("docker run -v " +
|
bashBare("docker cp " + testFile + " npmci_test_container:/npmci_test/test.sh");
|
||||||
plugins.path.join(paths.NpmciProjectDir,"./test") + ":/test/ " +
|
bashBare("docker commit npmci_test_container npmci_test_image");
|
||||||
"--name " + this.containerName + " /test/" + "test_" + this.version + ".sh");
|
bashBare("docker run npmci_test_image sh /npmci_test/test.sh");
|
||||||
|
bashBare("docker rm npmci_test_container");
|
||||||
|
bashBare("docker rmi --force npmci_test_image");
|
||||||
} else {
|
} else {
|
||||||
plugins.beautylog.warn("skipping tests for " + this.cleanTag + " because no testfile was found!");
|
plugins.beautylog.warn("skipping tests for " + this.cleanTag + " because no testfile was found!");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
release(){
|
|
||||||
bashBare("docker tag " + this.getId() + " " + this.releaseTag);
|
|
||||||
bashBare("docker push " + this.releaseTag);
|
|
||||||
}
|
|
||||||
getId(){
|
getId(){
|
||||||
let containerId = bashBare("docker inspect --format=\"{{.Id}}\" " + this.buildTag);
|
let containerId = bashBare("docker inspect --type=image --format=\"{{.Id}}\" " + this.buildTag);
|
||||||
return containerId;
|
return containerId;
|
||||||
};
|
};
|
||||||
patchContents(){
|
|
||||||
let done = plugins.q.defer();
|
|
||||||
if(this.localBaseImageDependent == true){
|
|
||||||
this.patchedContent = this.content.replace(/FROM\s[a-zA-Z0-9\/\-\:]*/, 'FROM ' + this.localBaseDockerfile.buildTag);
|
|
||||||
plugins.smartfile.memory.toFsSync(
|
|
||||||
this.patchedContent,
|
|
||||||
{
|
|
||||||
fileName:plugins.path.parse(this.filePath).name,
|
|
||||||
filePath:plugins.path.parse(this.filePath).dir
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
|
||||||
done.resolve();
|
|
||||||
return done.promise;
|
|
||||||
};
|
|
||||||
restoreContents(){
|
|
||||||
let done = plugins.q.defer();
|
|
||||||
if(this.localBaseImageDependent == true){
|
|
||||||
plugins.smartfile.memory.toFsSync(
|
|
||||||
this.content,
|
|
||||||
{
|
|
||||||
fileName:plugins.path.parse(this.filePath).name,
|
|
||||||
filePath:plugins.path.parse(this.filePath).dir
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
|
||||||
done.resolve();
|
|
||||||
return done.promise;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export let dockerFileVersion = function(dockerfileNameArg:string):string{
|
export let dockerFileVersion = function(dockerfileNameArg:string):string{
|
||||||
@@ -237,17 +206,14 @@ export let dockerBaseImage = function(dockerfileContentArg:string){
|
|||||||
return regexResultArray[1];
|
return regexResultArray[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
export let dockerTag = function(repoArg:string,versionArg:string,stageArg:string):string{
|
export let dockerTag = function(registryArg:string,repoArg:string,versionArg:string,suffixArg?:string):string{
|
||||||
let tagString:string;
|
let tagString:string;
|
||||||
let registry = NpmciEnv.dockerRegistry;
|
let registry = registryArg;
|
||||||
if(stageArg == "build" || stageArg == "test"){
|
|
||||||
registry = "registry.gitlab.com";
|
|
||||||
}
|
|
||||||
let repo = repoArg;
|
let repo = repoArg;
|
||||||
let version = versionArg;
|
let version = versionArg;
|
||||||
if(NpmciEnv.buildStage == "build" || NpmciEnv.buildStage == "test"){
|
if(suffixArg){
|
||||||
version = version + "_test";
|
version = versionArg + "_" + suffixArg;
|
||||||
}
|
};
|
||||||
tagString = registry + "/" + repo + ":" + version;
|
tagString = registry + "/" + repo + ":" + version;
|
||||||
return tagString;
|
return tagString;
|
||||||
};
|
};
|
||||||
|
|||||||
16
ts/npmci.command.ts
Normal file
16
ts/npmci.command.ts
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
import "typings-global";
|
||||||
|
import * as plugins from "./npmci.plugins";
|
||||||
|
import {bash} from "./npmci.bash";
|
||||||
|
|
||||||
|
export let command = () => {
|
||||||
|
let done = plugins.q.defer()
|
||||||
|
let wrappedCommand:string = "";
|
||||||
|
let argvArray = process.argv;
|
||||||
|
for(let i = 3; i < argvArray.length; i++){
|
||||||
|
wrappedCommand = wrappedCommand + argvArray[i];
|
||||||
|
if(i + 1 != argvArray.length) wrappedCommand = wrappedCommand + " ";
|
||||||
|
}
|
||||||
|
bash(wrappedCommand);
|
||||||
|
done.resolve();
|
||||||
|
return done.promise
|
||||||
|
}
|
||||||
@@ -4,7 +4,8 @@ import * as paths from "./npmci.paths";
|
|||||||
import {GitRepo} from "smartstring";
|
import {GitRepo} from "smartstring";
|
||||||
import {Dockerfile} from "./npmci.build.docker"
|
import {Dockerfile} from "./npmci.build.docker"
|
||||||
|
|
||||||
export let repo:GitRepo = new GitRepo(process.env.CI_BUILD_REPO);
|
export let repo:GitRepo;
|
||||||
|
if(process.env.CI_BUILD_REPO) repo = new GitRepo(process.env.CI_BUILD_REPO);
|
||||||
|
|
||||||
export let buildStage:string = process.env.CI_BUILD_STAGE;
|
export let buildStage:string = process.env.CI_BUILD_STAGE;
|
||||||
|
|
||||||
@@ -12,27 +13,41 @@ export let buildStage:string = process.env.CI_BUILD_STAGE;
|
|||||||
export let dockerRegistry; // will be set by npmci.prepare
|
export let dockerRegistry; // will be set by npmci.prepare
|
||||||
export let dockerFilesBuilt:Dockerfile[] = [];
|
export let dockerFilesBuilt:Dockerfile[] = [];
|
||||||
export let dockerFiles:Dockerfile[] = [];
|
export let dockerFiles:Dockerfile[] = [];
|
||||||
|
|
||||||
export let config;
|
export let config;
|
||||||
|
|
||||||
export let configStore = () => {
|
export let configStore = () => {
|
||||||
|
let config = {
|
||||||
|
dockerRegistry: dockerRegistry,
|
||||||
|
dockerFilesBuilt: dockerFilesBuilt,
|
||||||
|
dockerFiles: dockerFiles
|
||||||
|
}
|
||||||
plugins.smartfile.memory.toFsSync(
|
plugins.smartfile.memory.toFsSync(
|
||||||
JSON.stringify(config),
|
JSON.stringify(config),
|
||||||
{
|
paths.NpmciPackageConfig
|
||||||
fileName:"config.json",
|
|
||||||
filePath:paths.NpmciPackageRoot
|
|
||||||
}
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export let configLoad = () => {
|
let configLoad = () => {
|
||||||
|
// internal config to transfer information in between npmci shell calls
|
||||||
try {
|
try {
|
||||||
config = plugins.smartfile.local.toObjectSync(paths.NpmciPackageConfig,"json");
|
config = plugins.smartfile.fs.toObjectSync(paths.NpmciPackageConfig,"json");
|
||||||
}
|
}
|
||||||
catch(err){
|
catch(err){
|
||||||
config = {};
|
config = {};
|
||||||
configStore();
|
configStore();
|
||||||
plugins.beautylog.log("config inititialized!");
|
plugins.beautylog.log("config initialized!");
|
||||||
|
}
|
||||||
|
|
||||||
|
// project config
|
||||||
|
try {
|
||||||
|
if(!config.project){
|
||||||
|
config.project = plugins.smartfile.fs.toObjectSync(paths.NpmciProjectDir,"npmci.json");
|
||||||
|
plugins.beautylog.ok("project config found!");
|
||||||
|
};
|
||||||
|
}
|
||||||
|
catch(err){
|
||||||
|
config.project = {};
|
||||||
|
plugins.beautylog.log("no project config found, so proceeding with default behaviour!");
|
||||||
}
|
}
|
||||||
|
|
||||||
config.dockerRegistry ? dockerRegistry = config.dockerRegistry : void(0);
|
config.dockerRegistry ? dockerRegistry = config.dockerRegistry : void(0);
|
||||||
|
|||||||
@@ -5,4 +5,5 @@ export let cwd = process.cwd();
|
|||||||
|
|
||||||
export let NpmciPackageRoot = plugins.path.join(__dirname,"../");
|
export let NpmciPackageRoot = plugins.path.join(__dirname,"../");
|
||||||
export let NpmciPackageConfig = plugins.path.join(NpmciPackageRoot,"./config.json");
|
export let NpmciPackageConfig = plugins.path.join(NpmciPackageRoot,"./config.json");
|
||||||
export let NpmciProjectDir = process.cwd();
|
export let NpmciProjectDir = cwd;
|
||||||
|
export let NpmciTestDir = plugins.path.join(cwd,"./test");
|
||||||
@@ -4,10 +4,12 @@ export let commander = require("commander");
|
|||||||
export let gulp = require("gulp");
|
export let gulp = require("gulp");
|
||||||
export let gulpFunction = require("gulp-function");
|
export let gulpFunction = require("gulp-function");
|
||||||
export import path = require("path");
|
export import path = require("path");
|
||||||
|
export import projectinfo = require("projectinfo");
|
||||||
export let q = require("q");
|
export let q = require("q");
|
||||||
export let request = require("request");
|
export let request = require("request");
|
||||||
export let shelljs = require("shelljs");
|
export let shelljs = require("shelljs");
|
||||||
|
export import smartfile = require("smartfile");
|
||||||
|
export import smartparam = require("smartparam");
|
||||||
export import smartssh = require("smartssh");
|
export import smartssh = require("smartssh");
|
||||||
export import smartstring = require("smartstring");
|
export import smartstring = require("smartstring");
|
||||||
export import smartfile = require("smartfile");
|
|
||||||
export let through2 = require("through2");
|
export let through2 = require("through2");
|
||||||
@@ -16,7 +16,7 @@ let npm = function(){
|
|||||||
plugins.beautylog.error("no access token found! Exiting!");
|
plugins.beautylog.error("no access token found! Exiting!");
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
plugins.smartfile.memory.toFsSync(npmrcFileString,{fileName:".npmrc",filePath:"/root"});
|
plugins.smartfile.memory.toFsSync(npmrcFileString,"/root/.npmrc");
|
||||||
done.resolve();
|
done.resolve();
|
||||||
return done.promise;
|
return done.promise;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ let publishDocker = function(){
|
|||||||
let done = plugins.q.defer();
|
let done = plugins.q.defer();
|
||||||
NpmciBuildDocker.readDockerfiles()
|
NpmciBuildDocker.readDockerfiles()
|
||||||
.then(NpmciBuildDocker.pullDockerfileImages)
|
.then(NpmciBuildDocker.pullDockerfileImages)
|
||||||
.then(NpmciBuildDocker.releaseDockerfiles)
|
.then(NpmciBuildDocker.pushDockerfiles)
|
||||||
.then(done.resolve);
|
.then(done.resolve);
|
||||||
return done.promise;
|
return done.promise;
|
||||||
};
|
};
|
||||||
24
ts/npmci.ssh.ts
Normal file
24
ts/npmci.ssh.ts
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
import "typings-global";
|
||||||
|
import * as plugins from "./npmci.plugins";
|
||||||
|
|
||||||
|
let sshRegex = /^(.*)\|?(.*)\|?(.*)/
|
||||||
|
let sshInstance:plugins.smartssh.SshInstance;
|
||||||
|
|
||||||
|
export let ssh = () => {
|
||||||
|
sshInstance = new plugins.smartssh.SshInstance();
|
||||||
|
plugins.smartparam.forEachMinimatch(process.env,"NPMCI_SSHKEY_*",evaluateSshkey);
|
||||||
|
sshInstance.writeToDisk();
|
||||||
|
};
|
||||||
|
|
||||||
|
export let evaluateSshkey = (sshkeyEnvVarArg) => {
|
||||||
|
let resultArray = sshRegex.exec(sshkeyEnvVarArg);
|
||||||
|
let sshKey = new plugins.smartssh.SshKey();
|
||||||
|
|
||||||
|
if(resultArray[1] && resultArray[1] != "undefined") sshKey.privKeyBase64 = resultArray[1];
|
||||||
|
let publicKey:string;
|
||||||
|
if(resultArray[2] && resultArray[2] != "undefined") sshKey.pubKeyBase64 = resultArray[2];
|
||||||
|
let host:string;
|
||||||
|
if(resultArray[3] && resultArray[3] != "undefined") sshKey.host = resultArray[1];
|
||||||
|
|
||||||
|
sshInstance.addKey(sshKey);
|
||||||
|
};
|
||||||
@@ -3,18 +3,19 @@ import * as plugins from "./npmci.plugins";
|
|||||||
import {prepare} from "./npmci.prepare";
|
import {prepare} from "./npmci.prepare";
|
||||||
import {bash} from "./npmci.bash";
|
import {bash} from "./npmci.bash";
|
||||||
|
|
||||||
//Variables
|
|
||||||
let triggerEnvPrefix = "NPMCI_TRIGGER_";
|
let triggerValueRegex = /^([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|?([a-zA-Z0-9\.\-\/]*)/;
|
||||||
|
|
||||||
export let trigger = function () {
|
export let trigger = function () {
|
||||||
let done = plugins.q.defer();
|
let done = plugins.q.defer();
|
||||||
plugins.beautylog.info("now running triggers");
|
plugins.beautylog.info("now running triggers");
|
||||||
let triggerRegex = /^([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|?([a-zA-Z0-9\.\-\/]*)/;
|
plugins.smartparam.forEachMinimatch(process.env, "NPMCI_TRIGGER_*", evaluateTrigger);
|
||||||
for(let i = 0; i < 100; i++){
|
done.resolve();
|
||||||
let iteratorString = i.toString();
|
return done.promise;
|
||||||
let triggerName = triggerEnvPrefix + iteratorString
|
}
|
||||||
if(process.env[triggerName]){
|
|
||||||
let triggerRegexResultArray = triggerRegex.exec(process.env[triggerName]);
|
let evaluateTrigger = (triggerEnvVarArg) => {
|
||||||
|
let triggerRegexResultArray = triggerValueRegex.exec(triggerEnvVarArg);
|
||||||
let regexDomain = triggerRegexResultArray[1];
|
let regexDomain = triggerRegexResultArray[1];
|
||||||
let regexProjectId = triggerRegexResultArray[2];
|
let regexProjectId = triggerRegexResultArray[2];
|
||||||
let regexProjectTriggerToken = triggerRegexResultArray[3];
|
let regexProjectTriggerToken = triggerRegexResultArray[3];
|
||||||
@@ -25,11 +26,7 @@ export let trigger = function(){
|
|||||||
} else {
|
} else {
|
||||||
regexTriggerName = "Unnamed Trigger";
|
regexTriggerName = "Unnamed Trigger";
|
||||||
}
|
}
|
||||||
plugins.beautylog.info("Found " + triggerName);
|
plugins.beautylog.info("Found Trigger!");
|
||||||
plugins.beautylog.log("triggering build for ref " + regexRefName + " of " + regexTriggerName);
|
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 } });
|
plugins.request.post("https://gitlab.com/api/v3/projects/" + regexProjectId + "/trigger/builds", { form: { token: regexProjectTriggerToken, ref: regexRefName } });
|
||||||
}
|
}
|
||||||
}
|
|
||||||
done.resolve();
|
|
||||||
return done.promise;
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user