Compare commits
	
		
			25 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 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 | 
							
								
								
									
										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: | ||||
|  | ||||
| * [hosttoday/ht-docker-node](https://hub.docker.com/r/hosttoday/ht-docker-node/)   | ||||
| has LTS node version preinstalled. Change it with npmci | ||||
| * [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-node:npmci](https://hub.docker.com/r/hosttoday/ht-docker-node/)   | ||||
| has LTS node version and npmci preinstalled. | ||||
| * [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: | ||||
| ```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 x.x.x # will install any specific node version and run "npm install" and "npm test". | ||||
| npmci test docker # will test any build image with tests defined in ./npmci/dockertest_1.sh to ./npmci/dockertest_100.sh | ||||
| ## npmci test docker will look at all Dockerfiles and look for according tags on GitLab container registry | ||||
|  | ||||
|  | ||||
| # prepare tools | ||||
| npmci prepare npm # will look for $NPMCI_TOKEN_NPM env var and create .npmrc, so npm is authenticated | ||||
| @@ -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 | ||||
|  | ||||
| # 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 | ||||
| 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"; | ||||
| export { build } from "./npmci.build"; | ||||
| export { install } from "./npmci.install"; | ||||
| export { publish } from "./npmci.publish"; | ||||
|   | ||||
							
								
								
									
										38
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										38
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										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 buildDockerfiles: (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 releaseDockerfiles: (sortedArrayArg: Dockerfile[]) => any; | ||||
| export declare class Dockerfile { | ||||
|     filePath: string; | ||||
|     repo: string; | ||||
|     version: string; | ||||
|     cleanTag: string; | ||||
|     buildTag: string; | ||||
|     testTag: string; | ||||
|     releaseTag: string; | ||||
|     containerName: string; | ||||
|     content: string; | ||||
|     patchedContent: string; | ||||
|     baseImage: string; | ||||
|     localBaseImageDependent: boolean; | ||||
|     localBaseDockerfile: Dockerfile; | ||||
| @@ -26,15 +25,12 @@ export declare class Dockerfile { | ||||
|         read?: boolean; | ||||
|     }); | ||||
|     build(): any; | ||||
|     push(): any; | ||||
|     pull(): void; | ||||
|     push(stageArg: any): any; | ||||
|     pull(registryArg: string): void; | ||||
|     test(): void; | ||||
|     release(): void; | ||||
|     getId(): string; | ||||
|     patchContents(): any; | ||||
|     restoreContents(): any; | ||||
| } | ||||
| export declare let dockerFileVersion: (dockerfileNameArg: 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[]; | ||||
|   | ||||
							
								
								
									
										106
									
								
								dist/npmci.build.docker.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										106
									
								
								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: (commandArg: any) => any; | ||||
							
								
								
									
										11
									
								
								dist/npmci.command.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								dist/npmci.command.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| "use strict"; | ||||
| require("typings-global"); | ||||
| var plugins = require("./npmci.plugins"); | ||||
| exports.command = function (commandArg) { | ||||
|     var done = plugins.q.defer(); | ||||
|     console.log(process.argv); | ||||
|     done.resolve(); | ||||
|     return done.promise; | ||||
| }; | ||||
|  | ||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBR2hDLGVBQU8sR0FBRyxVQUFDLFVBQVU7SUFDNUIsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUM1QixPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDZixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQTtBQUN2QixDQUFDLENBQUEiLCJmaWxlIjoibnBtY2kuY29tbWFuZC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcbmltcG9ydCB7YmFzaH0gZnJvbSBcIi4vbnBtY2kuYmFzaFwiO1xuXG5leHBvcnQgbGV0IGNvbW1hbmQgPSAoY29tbWFuZEFyZykgPT4ge1xuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKClcbiAgICBjb25zb2xlLmxvZyhwcm9jZXNzLmFyZ3YpO1xuICAgIGRvbmUucmVzb2x2ZSgpO1xuICAgIHJldHVybiBkb25lLnByb21pc2Vcbn0iXX0= | ||||
							
								
								
									
										1
									
								
								dist/npmci.env.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/npmci.env.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -6,6 +6,5 @@ export declare let buildStage: string; | ||||
| export declare let dockerRegistry: any; | ||||
| export declare let dockerFilesBuilt: Dockerfile[]; | ||||
| export declare let dockerFiles: Dockerfile[]; | ||||
| export declare let config: any; | ||||
| export declare let configStore: () => void; | ||||
| export declare let configLoad: () => void; | ||||
|   | ||||
							
								
								
									
										23
									
								
								dist/npmci.env.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										23
									
								
								dist/npmci.env.js
									
									
									
									
										vendored
									
									
								
							| @@ -3,28 +3,35 @@ require("typings-global"); | ||||
| var plugins = require("./npmci.plugins"); | ||||
| var paths = require("./npmci.paths"); | ||||
| var smartstring_1 = require("smartstring"); | ||||
| exports.repo = new smartstring_1.GitRepo(process.env.CI_BUILD_REPO); | ||||
| if (process.env.CI_BUILD_REPO) | ||||
|     exports.repo = new smartstring_1.GitRepo(process.env.CI_BUILD_REPO); | ||||
| exports.buildStage = process.env.CI_BUILD_STAGE; | ||||
| exports.dockerFilesBuilt = []; | ||||
| exports.dockerFiles = []; | ||||
| exports.configStore = function () { | ||||
|     plugins.smartfile.memory.toFsSync(JSON.stringify(exports.config), { | ||||
|     var config = { | ||||
|         dockerRegistry: exports.dockerRegistry, | ||||
|         dockerFilesBuilt: exports.dockerFilesBuilt, | ||||
|         dockerFiles: exports.dockerFiles | ||||
|     }; | ||||
|     plugins.smartfile.memory.toFsSync(JSON.stringify(config), { | ||||
|         fileName: "config.json", | ||||
|         filePath: paths.NpmciPackageRoot | ||||
|     }); | ||||
| }; | ||||
| exports.configLoad = function () { | ||||
|     var config; | ||||
|     try { | ||||
|         exports.config = plugins.smartfile.local.toObjectSync(paths.NpmciPackageConfig, "json"); | ||||
|         config = plugins.smartfile.local.toObjectSync(paths.NpmciPackageConfig, "json"); | ||||
|     } | ||||
|     catch (err) { | ||||
|         exports.config = {}; | ||||
|         config = {}; | ||||
|         exports.configStore(); | ||||
|         plugins.beautylog.log("config inititialized!"); | ||||
|         plugins.beautylog.log("config initialized!"); | ||||
|     } | ||||
|     exports.config.dockerRegistry ? exports.dockerRegistry = exports.config.dockerRegistry : void (0); | ||||
|     exports.config.dockerFilesBuilt ? exports.dockerFilesBuilt = exports.config.dockerFilesBuilt : void (0); | ||||
|     config.dockerRegistry ? exports.dockerRegistry = config.dockerRegistry : void (0); | ||||
|     config.dockerFilesBuilt ? exports.dockerFilesBuilt = config.dockerFilesBuilt : void (0); | ||||
| }; | ||||
| exports.configLoad(); | ||||
|  | ||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmVudi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLElBQVksT0FBTyxXQUFNLGlCQUFpQixDQUFDLENBQUE7QUFDM0MsSUFBWSxLQUFLLFdBQU0sZUFBZSxDQUFDLENBQUE7QUFDdkMsNEJBQXNCLGFBQWEsQ0FBQyxDQUFBO0FBR3pCLFlBQUksR0FBVyxJQUFJLHFCQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUV0RCxrQkFBVSxHQUFVLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO0FBSS9DLHdCQUFnQixHQUFnQixFQUFFLENBQUM7QUFDbkMsbUJBQVcsR0FBZ0IsRUFBRSxDQUFDO0FBSTlCLG1CQUFXLEdBQUc7SUFDckIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLGNBQU0sQ0FBQyxFQUN0QjtRQUNJLFFBQVEsRUFBQyxhQUFhO1FBQ3RCLFFBQVEsRUFBQyxLQUFLLENBQUMsZ0JBQWdCO0tBQ2xDLENBQ0osQ0FBQztBQUNOLENBQUMsQ0FBQTtBQUVVLGtCQUFVLEdBQUc7SUFDcEIsSUFBSSxDQUFDO1FBQ0QsY0FBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEVBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkYsQ0FDQTtJQUFBLEtBQUssQ0FBQSxDQUFDLEdBQUcsQ0FBQyxDQUFBLENBQUM7UUFDUCxjQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ1osbUJBQVcsRUFBRSxDQUFDO1FBQ2QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsY0FBTSxDQUFDLGNBQWMsR0FBRyxzQkFBYyxHQUFHLGNBQU0sQ0FBQyxjQUFjLEdBQUcsS0FBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLGNBQU0sQ0FBQyxnQkFBZ0IsR0FBRyx3QkFBZ0IsR0FBRyxjQUFNLENBQUMsZ0JBQWdCLEdBQUcsS0FBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25GLENBQUMsQ0FBQTtBQUNELGtCQUFVLEVBQUUsQ0FBQyIsImZpbGUiOiJucG1jaS5lbnYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9ucG1jaS5wbHVnaW5zXCI7XG5pbXBvcnQgKiBhcyBwYXRocyBmcm9tIFwiLi9ucG1jaS5wYXRoc1wiO1xuaW1wb3J0IHtHaXRSZXBvfSBmcm9tIFwic21hcnRzdHJpbmdcIjtcbmltcG9ydCB7RG9ja2VyZmlsZX0gZnJvbSBcIi4vbnBtY2kuYnVpbGQuZG9ja2VyXCJcblxuZXhwb3J0IGxldCByZXBvOkdpdFJlcG8gPSBuZXcgR2l0UmVwbyhwcm9jZXNzLmVudi5DSV9CVUlMRF9SRVBPKTtcblxuZXhwb3J0IGxldCBidWlsZFN0YWdlOnN0cmluZyA9IHByb2Nlc3MuZW52LkNJX0JVSUxEX1NUQUdFO1xuXG4vLyBoYW5kbGluZyBjb25maWcgYmV0d2VlbiBjb21tYW5kc1xuZXhwb3J0IGxldCBkb2NrZXJSZWdpc3RyeTsgLy8gd2lsbCBiZSBzZXQgYnkgbnBtY2kucHJlcGFyZVxuZXhwb3J0IGxldCBkb2NrZXJGaWxlc0J1aWx0OkRvY2tlcmZpbGVbXSA9IFtdO1xuZXhwb3J0IGxldCBkb2NrZXJGaWxlczpEb2NrZXJmaWxlW10gPSBbXTtcblxuZXhwb3J0IGxldCBjb25maWc7XG5cbmV4cG9ydCBsZXQgY29uZmlnU3RvcmUgPSAoKSA9PiB7XG4gICAgcGx1Z2lucy5zbWFydGZpbGUubWVtb3J5LnRvRnNTeW5jKFxuICAgICAgICBKU09OLnN0cmluZ2lmeShjb25maWcpLFxuICAgICAgICB7XG4gICAgICAgICAgICBmaWxlTmFtZTpcImNvbmZpZy5qc29uXCIsXG4gICAgICAgICAgICBmaWxlUGF0aDpwYXRocy5OcG1jaVBhY2thZ2VSb290XG4gICAgICAgIH1cbiAgICApO1xufVxuXG5leHBvcnQgbGV0IGNvbmZpZ0xvYWQgPSAoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uZmlnID0gcGx1Z2lucy5zbWFydGZpbGUubG9jYWwudG9PYmplY3RTeW5jKHBhdGhzLk5wbWNpUGFja2FnZUNvbmZpZyxcImpzb25cIik7XG4gICAgfVxuICAgIGNhdGNoKGVycil7XG4gICAgICAgIGNvbmZpZyA9IHt9O1xuICAgICAgICBjb25maWdTdG9yZSgpO1xuICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy5sb2coXCJjb25maWcgaW5pdGl0aWFsaXplZCFcIik7XG4gICAgfVxuICAgIFxuICAgIGNvbmZpZy5kb2NrZXJSZWdpc3RyeSA/IGRvY2tlclJlZ2lzdHJ5ID0gY29uZmlnLmRvY2tlclJlZ2lzdHJ5IDogdm9pZCgwKTtcbiAgICBjb25maWcuZG9ja2VyRmlsZXNCdWlsdCA/IGRvY2tlckZpbGVzQnVpbHQgPSBjb25maWcuZG9ja2VyRmlsZXNCdWlsdCA6IHZvaWQoMCk7XG59XG5jb25maWdMb2FkKCk7Il19 | ||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmVudi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLElBQVksT0FBTyxXQUFNLGlCQUFpQixDQUFDLENBQUE7QUFDM0MsSUFBWSxLQUFLLFdBQU0sZUFBZSxDQUFDLENBQUE7QUFDdkMsNEJBQXNCLGFBQWEsQ0FBQyxDQUFBO0FBSXBDLEVBQUUsQ0FBQSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDO0lBQUMsWUFBSSxHQUFHLElBQUkscUJBQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBRWpFLGtCQUFVLEdBQVUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUM7QUFJL0Msd0JBQWdCLEdBQWdCLEVBQUUsQ0FBQztBQUNuQyxtQkFBVyxHQUFnQixFQUFFLENBQUM7QUFFOUIsbUJBQVcsR0FBRztJQUNyQixJQUFJLE1BQU0sR0FBRztRQUNULGNBQWMsRUFBRSxzQkFBYztRQUM5QixnQkFBZ0IsRUFBRSx3QkFBZ0I7UUFDbEMsV0FBVyxFQUFFLG1CQUFXO0tBQzNCLENBQUE7SUFDRCxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQ3RCO1FBQ0ksUUFBUSxFQUFDLGFBQWE7UUFDdEIsUUFBUSxFQUFDLEtBQUssQ0FBQyxnQkFBZ0I7S0FDbEMsQ0FDSixDQUFDO0FBQ04sQ0FBQyxDQUFBO0FBRVUsa0JBQVUsR0FBRztJQUNwQixJQUFJLE1BQU0sQ0FBQztJQUNYLElBQUksQ0FBQztRQUNELE1BQU0sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLGtCQUFrQixFQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25GLENBQ0E7SUFBQSxLQUFLLENBQUEsQ0FBQyxHQUFHLENBQUMsQ0FBQSxDQUFDO1FBQ1AsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNaLG1CQUFXLEVBQUUsQ0FBQztRQUNkLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLEdBQUcsc0JBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxHQUFHLEtBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RSxNQUFNLENBQUMsZ0JBQWdCLEdBQUcsd0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixHQUFHLEtBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuRixDQUFDLENBQUE7QUFDRCxrQkFBVSxFQUFFLENBQUMiLCJmaWxlIjoibnBtY2kuZW52LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vbnBtY2kucGx1Z2luc1wiO1xuaW1wb3J0ICogYXMgcGF0aHMgZnJvbSBcIi4vbnBtY2kucGF0aHNcIjtcbmltcG9ydCB7R2l0UmVwb30gZnJvbSBcInNtYXJ0c3RyaW5nXCI7XG5pbXBvcnQge0RvY2tlcmZpbGV9IGZyb20gXCIuL25wbWNpLmJ1aWxkLmRvY2tlclwiXG5cbmV4cG9ydCBsZXQgcmVwbzpHaXRSZXBvO1xuaWYocHJvY2Vzcy5lbnYuQ0lfQlVJTERfUkVQTykgcmVwbyA9IG5ldyBHaXRSZXBvKHByb2Nlc3MuZW52LkNJX0JVSUxEX1JFUE8pO1xuXG5leHBvcnQgbGV0IGJ1aWxkU3RhZ2U6c3RyaW5nID0gcHJvY2Vzcy5lbnYuQ0lfQlVJTERfU1RBR0U7XG5cbi8vIGhhbmRsaW5nIGNvbmZpZyBiZXR3ZWVuIGNvbW1hbmRzXG5leHBvcnQgbGV0IGRvY2tlclJlZ2lzdHJ5OyAvLyB3aWxsIGJlIHNldCBieSBucG1jaS5wcmVwYXJlXG5leHBvcnQgbGV0IGRvY2tlckZpbGVzQnVpbHQ6RG9ja2VyZmlsZVtdID0gW107XG5leHBvcnQgbGV0IGRvY2tlckZpbGVzOkRvY2tlcmZpbGVbXSA9IFtdO1xuXG5leHBvcnQgbGV0IGNvbmZpZ1N0b3JlID0gKCkgPT4ge1xuICAgIGxldCBjb25maWcgPSB7XG4gICAgICAgIGRvY2tlclJlZ2lzdHJ5OiBkb2NrZXJSZWdpc3RyeSxcbiAgICAgICAgZG9ja2VyRmlsZXNCdWlsdDogZG9ja2VyRmlsZXNCdWlsdCxcbiAgICAgICAgZG9ja2VyRmlsZXM6IGRvY2tlckZpbGVzXG4gICAgfVxuICAgIHBsdWdpbnMuc21hcnRmaWxlLm1lbW9yeS50b0ZzU3luYyhcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSxcbiAgICAgICAge1xuICAgICAgICAgICAgZmlsZU5hbWU6XCJjb25maWcuanNvblwiLFxuICAgICAgICAgICAgZmlsZVBhdGg6cGF0aHMuTnBtY2lQYWNrYWdlUm9vdFxuICAgICAgICB9XG4gICAgKTtcbn1cblxuZXhwb3J0IGxldCBjb25maWdMb2FkID0gKCkgPT4ge1xuICAgIGxldCBjb25maWc7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uZmlnID0gcGx1Z2lucy5zbWFydGZpbGUubG9jYWwudG9PYmplY3RTeW5jKHBhdGhzLk5wbWNpUGFja2FnZUNvbmZpZyxcImpzb25cIik7XG4gICAgfVxuICAgIGNhdGNoKGVycil7XG4gICAgICAgIGNvbmZpZyA9IHt9O1xuICAgICAgICBjb25maWdTdG9yZSgpO1xuICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy5sb2coXCJjb25maWcgaW5pdGlhbGl6ZWQhXCIpO1xuICAgIH1cbiAgICBcbiAgICBjb25maWcuZG9ja2VyUmVnaXN0cnkgPyBkb2NrZXJSZWdpc3RyeSA9IGNvbmZpZy5kb2NrZXJSZWdpc3RyeSA6IHZvaWQoMCk7XG4gICAgY29uZmlnLmRvY2tlckZpbGVzQnVpbHQgPyBkb2NrZXJGaWxlc0J1aWx0ID0gY29uZmlnLmRvY2tlckZpbGVzQnVpbHQgOiB2b2lkKDApO1xufVxuY29uZmlnTG9hZCgpOyJdfQ== | ||||
|   | ||||
							
								
								
									
										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 NpmciPackageConfig: 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.NpmciPackageRoot = plugins.path.join(__dirname, "../"); | ||||
| 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= | ||||
|   | ||||
							
								
								
									
										1
									
								
								dist/npmci.plugins.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/npmci.plugins.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -4,6 +4,7 @@ export declare let commander: any; | ||||
| export declare let gulp: any; | ||||
| export declare let gulpFunction: any; | ||||
| export import path = require("path"); | ||||
| export import projectinfo = require("projectinfo"); | ||||
| export declare let q: any; | ||||
| export declare let request: any; | ||||
| export declare let shelljs: any; | ||||
|   | ||||
							
								
								
									
										3
									
								
								dist/npmci.plugins.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								dist/npmci.plugins.js
									
									
									
									
										vendored
									
									
								
							| @@ -5,6 +5,7 @@ exports.commander = require("commander"); | ||||
| exports.gulp = require("gulp"); | ||||
| exports.gulpFunction = require("gulp-function"); | ||||
| exports.path = require("path"); | ||||
| exports.projectinfo = require("projectinfo"); | ||||
| exports.q = require("q"); | ||||
| exports.request = require("request"); | ||||
| exports.shelljs = require("shelljs"); | ||||
| @@ -13,4 +14,4 @@ exports.smartstring = require("smartstring"); | ||||
| exports.smartfile = require("smartfile"); | ||||
| exports.through2 = require("through2"); | ||||
|  | ||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUNWLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDcEMsaUJBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDakMsWUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN2QixvQkFBWSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUNyQyxZQUFJLFdBQVcsTUFBTSxDQUFDLENBQUM7QUFDMUIsU0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNqQixlQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzdCLGVBQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDMUIsZ0JBQVEsV0FBVyxVQUFVLENBQUMsQ0FBQztBQUMvQixtQkFBVyxXQUFXLGFBQWEsQ0FBQyxDQUFDO0FBQ3JDLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDcEMsZ0JBQVEsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMiLCJmaWxlIjoibnBtY2kucGx1Z2lucy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5leHBvcnQgaW1wb3J0IGJlYXV0eWxvZyA9IHJlcXVpcmUoXCJiZWF1dHlsb2dcIik7XG5leHBvcnQgbGV0IGNvbW1hbmRlciA9IHJlcXVpcmUoXCJjb21tYW5kZXJcIik7XG5leHBvcnQgbGV0IGd1bHAgPSByZXF1aXJlKFwiZ3VscFwiKTtcbmV4cG9ydCBsZXQgZ3VscEZ1bmN0aW9uID0gcmVxdWlyZShcImd1bHAtZnVuY3Rpb25cIik7XG5leHBvcnQgaW1wb3J0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcbmV4cG9ydCBsZXQgcSA9IHJlcXVpcmUoXCJxXCIpO1xuZXhwb3J0IGxldCByZXF1ZXN0ID0gcmVxdWlyZShcInJlcXVlc3RcIik7XG5leHBvcnQgbGV0IHNoZWxsanMgPSByZXF1aXJlKFwic2hlbGxqc1wiKTtcbmV4cG9ydCBpbXBvcnQgc21hcnRzc2ggPSByZXF1aXJlKFwic21hcnRzc2hcIik7XG5leHBvcnQgaW1wb3J0IHNtYXJ0c3RyaW5nID0gcmVxdWlyZShcInNtYXJ0c3RyaW5nXCIpO1xuZXhwb3J0IGltcG9ydCBzbWFydGZpbGUgPSByZXF1aXJlKFwic21hcnRmaWxlXCIpO1xuZXhwb3J0IGxldCB0aHJvdWdoMiA9IHJlcXVpcmUoXCJ0aHJvdWdoMlwiKTsiXX0= | ||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUNWLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDcEMsaUJBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDakMsWUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN2QixvQkFBWSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUNyQyxZQUFJLFdBQVcsTUFBTSxDQUFDLENBQUM7QUFDdkIsbUJBQVcsV0FBVyxhQUFhLENBQUMsQ0FBQztBQUN4QyxTQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2pCLGVBQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0IsZUFBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUMxQixnQkFBUSxXQUFXLFVBQVUsQ0FBQyxDQUFDO0FBQy9CLG1CQUFXLFdBQVcsYUFBYSxDQUFDLENBQUM7QUFDckMsaUJBQVMsV0FBVyxXQUFXLENBQUMsQ0FBQztBQUNwQyxnQkFBUSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyIsImZpbGUiOiJucG1jaS5wbHVnaW5zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcbmV4cG9ydCBpbXBvcnQgYmVhdXR5bG9nID0gcmVxdWlyZShcImJlYXV0eWxvZ1wiKTtcbmV4cG9ydCBsZXQgY29tbWFuZGVyID0gcmVxdWlyZShcImNvbW1hbmRlclwiKTtcbmV4cG9ydCBsZXQgZ3VscCA9IHJlcXVpcmUoXCJndWxwXCIpO1xuZXhwb3J0IGxldCBndWxwRnVuY3Rpb24gPSByZXF1aXJlKFwiZ3VscC1mdW5jdGlvblwiKTtcbmV4cG9ydCBpbXBvcnQgcGF0aCA9IHJlcXVpcmUoXCJwYXRoXCIpO1xuZXhwb3J0IGltcG9ydCBwcm9qZWN0aW5mbyA9IHJlcXVpcmUoXCJwcm9qZWN0aW5mb1wiKTtcbmV4cG9ydCBsZXQgcSA9IHJlcXVpcmUoXCJxXCIpO1xuZXhwb3J0IGxldCByZXF1ZXN0ID0gcmVxdWlyZShcInJlcXVlc3RcIik7XG5leHBvcnQgbGV0IHNoZWxsanMgPSByZXF1aXJlKFwic2hlbGxqc1wiKTtcbmV4cG9ydCBpbXBvcnQgc21hcnRzc2ggPSByZXF1aXJlKFwic21hcnRzc2hcIik7XG5leHBvcnQgaW1wb3J0IHNtYXJ0c3RyaW5nID0gcmVxdWlyZShcInNtYXJ0c3RyaW5nXCIpO1xuZXhwb3J0IGltcG9ydCBzbWFydGZpbGUgPSByZXF1aXJlKFwic21hcnRmaWxlXCIpO1xuZXhwb3J0IGxldCB0aHJvdWdoMiA9IHJlcXVpcmUoXCJ0aHJvdWdoMlwiKTsiXX0= | ||||
|   | ||||
							
								
								
									
										4
									
								
								dist/npmci.publish.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								dist/npmci.publish.js
									
									
									
									
										vendored
									
									
								
							| @@ -27,9 +27,9 @@ var publishDocker = function () { | ||||
|     var done = plugins.q.defer(); | ||||
|     NpmciBuildDocker.readDockerfiles() | ||||
|         .then(NpmciBuildDocker.pullDockerfileImages) | ||||
|         .then(NpmciBuildDocker.releaseDockerfiles) | ||||
|         .then(NpmciBuildDocker.pushDockerfiles) | ||||
|         .then(done.resolve); | ||||
|     return done.promise; | ||||
| }; | ||||
|  | ||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnB1Ymxpc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDhCQUFzQixpQkFBaUIsQ0FBQyxDQUFBO0FBQ3hDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUVsQyxJQUFZLGdCQUFnQixXQUFNLHNCQUVsQyxDQUFDLENBRnVEO0FBRTdDLGVBQU8sR0FBRyxVQUFDLFVBQXlCO0lBQXpCLDBCQUF5QixHQUF6QixrQkFBeUI7SUFDM0MsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUEsQ0FBQztRQUNoQixLQUFLLEtBQUs7WUFDTixNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDeEIsS0FBSyxRQUFRO1lBQ1QsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQy9CLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixJQUFJLFVBQVUsR0FBSTtJQUNkLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsdUJBQU8sQ0FBQyxLQUFLLENBQUM7U0FDVCxJQUFJLENBQUM7UUFDRixpQkFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFFO1FBQy9CLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQixDQUFDLENBQUMsQ0FBQztJQUNSLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQTtBQUVELElBQUksYUFBYSxHQUFHO0lBQ2hCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsZ0JBQWdCLENBQUMsZUFBZSxFQUFFO1NBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQztTQUMzQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUM7U0FDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN4QixDQUFDLENBQUMiLCJmaWxlIjoibnBtY2kucHVibGlzaC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcbmltcG9ydCB7cHJlcGFyZX0gZnJvbSBcIi4vbnBtY2kucHJlcGFyZVwiO1xuaW1wb3J0IHtiYXNofSBmcm9tIFwiLi9ucG1jaS5iYXNoXCI7XG5pbXBvcnQgKiBhcyBOcG1jaUVudiBmcm9tIFwiLi9ucG1jaS5lbnZcIjtcbmltcG9ydCAqIGFzIE5wbWNpQnVpbGREb2NrZXIgZnJvbSBcIi4vbnBtY2kuYnVpbGQuZG9ja2VyXCJcblxuZXhwb3J0IGxldCBwdWJsaXNoID0gKHNlcnZpY2VBcmc6c3RyaW5nID0gXCJucG1cIikgPT4ge1xuICAgIHN3aXRjaCAoc2VydmljZUFyZyl7XG4gICAgICAgIGNhc2UgXCJucG1cIjogXG4gICAgICAgICAgICByZXR1cm4gcHVibGlzaE5wbSgpO1xuICAgICAgICBjYXNlIFwiZG9ja2VyXCI6XG4gICAgICAgICAgICByZXR1cm4gcHVibGlzaERvY2tlcigpO1xuICAgIH1cbn07XG5cbmxldCBwdWJsaXNoTnBtICA9IGZ1bmN0aW9uKCl7XG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcbiAgICBwcmVwYXJlKFwibnBtXCIpXG4gICAgICAgIC50aGVuKGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICBiYXNoKFwibnBtIHB1Ymxpc2hcIik7XG4gICAgICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy5vayhcIkRvbmUhXCIpIDtcbiAgICAgICAgICAgIGRvbmUucmVzb2x2ZSgpO1xuICAgICAgICB9KTtcbiAgIHJldHVybiBkb25lLnByb21pc2U7XG59XG5cbmxldCBwdWJsaXNoRG9ja2VyID0gZnVuY3Rpb24oKXtcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xuICAgICAgICBOcG1jaUJ1aWxkRG9ja2VyLnJlYWREb2NrZXJmaWxlcygpXG4gICAgICAgIC50aGVuKE5wbWNpQnVpbGREb2NrZXIucHVsbERvY2tlcmZpbGVJbWFnZXMpXG4gICAgICAgIC50aGVuKE5wbWNpQnVpbGREb2NrZXIucmVsZWFzZURvY2tlcmZpbGVzKVxuICAgICAgICAudGhlbihkb25lLnJlc29sdmUpO1xuICAgIHJldHVybiBkb25lLnByb21pc2U7XG59OyJdfQ== | ||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnB1Ymxpc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDhCQUFzQixpQkFBaUIsQ0FBQyxDQUFBO0FBQ3hDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUVsQyxJQUFZLGdCQUFnQixXQUFNLHNCQUVsQyxDQUFDLENBRnVEO0FBRTdDLGVBQU8sR0FBRyxVQUFDLFVBQXlCO0lBQXpCLDBCQUF5QixHQUF6QixrQkFBeUI7SUFDM0MsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUEsQ0FBQztRQUNoQixLQUFLLEtBQUs7WUFDTixNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDeEIsS0FBSyxRQUFRO1lBQ1QsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQy9CLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixJQUFJLFVBQVUsR0FBSTtJQUNkLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsdUJBQU8sQ0FBQyxLQUFLLENBQUM7U0FDVCxJQUFJLENBQUM7UUFDRixpQkFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFFO1FBQy9CLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQixDQUFDLENBQUMsQ0FBQztJQUNSLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQTtBQUVELElBQUksYUFBYSxHQUFHO0lBQ2hCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsZ0JBQWdCLENBQUMsZUFBZSxFQUFFO1NBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQztTQUMzQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDO1NBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFDIiwiZmlsZSI6Im5wbWNpLnB1Ymxpc2guanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9ucG1jaS5wbHVnaW5zXCI7XG5pbXBvcnQge3ByZXBhcmV9IGZyb20gXCIuL25wbWNpLnByZXBhcmVcIjtcbmltcG9ydCB7YmFzaH0gZnJvbSBcIi4vbnBtY2kuYmFzaFwiO1xuaW1wb3J0ICogYXMgTnBtY2lFbnYgZnJvbSBcIi4vbnBtY2kuZW52XCI7XG5pbXBvcnQgKiBhcyBOcG1jaUJ1aWxkRG9ja2VyIGZyb20gXCIuL25wbWNpLmJ1aWxkLmRvY2tlclwiXG5cbmV4cG9ydCBsZXQgcHVibGlzaCA9IChzZXJ2aWNlQXJnOnN0cmluZyA9IFwibnBtXCIpID0+IHtcbiAgICBzd2l0Y2ggKHNlcnZpY2VBcmcpe1xuICAgICAgICBjYXNlIFwibnBtXCI6IFxuICAgICAgICAgICAgcmV0dXJuIHB1Ymxpc2hOcG0oKTtcbiAgICAgICAgY2FzZSBcImRvY2tlclwiOlxuICAgICAgICAgICAgcmV0dXJuIHB1Ymxpc2hEb2NrZXIoKTtcbiAgICB9XG59O1xuXG5sZXQgcHVibGlzaE5wbSAgPSBmdW5jdGlvbigpe1xuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XG4gICAgcHJlcGFyZShcIm5wbVwiKVxuICAgICAgICAudGhlbihmdW5jdGlvbigpe1xuICAgICAgICAgICAgYmFzaChcIm5wbSBwdWJsaXNoXCIpO1xuICAgICAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cub2soXCJEb25lIVwiKSA7XG4gICAgICAgICAgICBkb25lLnJlc29sdmUoKTtcbiAgICAgICAgfSk7XG4gICByZXR1cm4gZG9uZS5wcm9taXNlO1xufVxuXG5sZXQgcHVibGlzaERvY2tlciA9IGZ1bmN0aW9uKCl7XG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcbiAgICAgICAgTnBtY2lCdWlsZERvY2tlci5yZWFkRG9ja2VyZmlsZXMoKVxuICAgICAgICAudGhlbihOcG1jaUJ1aWxkRG9ja2VyLnB1bGxEb2NrZXJmaWxlSW1hZ2VzKVxuICAgICAgICAudGhlbihOcG1jaUJ1aWxkRG9ja2VyLnB1c2hEb2NrZXJmaWxlcylcbiAgICAgICAgLnRoZW4oZG9uZS5yZXNvbHZlKTtcbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xufTsiXX0= | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|   "name": "npmci", | ||||
|   "version": "2.1.40", | ||||
|   "version": "2.1.52", | ||||
|   "description": "", | ||||
|   "main": "dist/index.js", | ||||
|   "bin": { | ||||
| @@ -20,8 +20,8 @@ | ||||
|   }, | ||||
|   "homepage": "https://gitlab.com/pushrocks/npmci#README", | ||||
|   "devDependencies": { | ||||
|     "npmts": "^5.2.1", | ||||
|     "should": "^9.0.0", | ||||
|     "npmts-g": "^5.2.6", | ||||
|     "should": "^9.0.1", | ||||
|     "typings-test": "^1.0.1" | ||||
|   }, | ||||
|   "dependencies": { | ||||
| @@ -29,6 +29,7 @@ | ||||
|     "commander": "^2.9.0", | ||||
|     "gulp": "^3.9.1", | ||||
|     "gulp-function": "^1.3.5", | ||||
|     "projectinfo": "^1.0.3", | ||||
|     "q": "^1.4.1", | ||||
|     "request": "^2.72.0", | ||||
|     "shelljs": "^0.7.0", | ||||
|   | ||||
| @@ -1,3 +1,2 @@ | ||||
| #!/bin/sh | ||||
| npm -v | ||||
| node -v | ||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -10,6 +10,7 @@ process.cwd = () => { | ||||
| }; | ||||
|  | ||||
| //require NPMCI files | ||||
| import npmci = require("../dist/index"); | ||||
| import NpmciBuildDocker = require("../dist/npmci.build.docker"); | ||||
| import NpmciPublish = require("../dist/npmci.publish"); | ||||
| import NpmciTest = require("../dist/npmci.test"); | ||||
|   | ||||
							
								
								
									
										35
									
								
								ts/index.ts
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								ts/index.ts
									
									
									
									
									
								
							| @@ -1,22 +1,26 @@ | ||||
| #!/usr/bin/env node | ||||
| import "typings-global"; | ||||
| import * as plugins from "./npmci.plugins"; | ||||
|  | ||||
| let packJson = require("../package.json"); | ||||
|  | ||||
| plugins.beautylog.info("npmci version: " + packJson.version); | ||||
| import * as paths from "./npmci.paths"; | ||||
| let npmciInfo = new plugins.projectinfo.ProjectinfoNpm(paths.NpmciPackageRoot); | ||||
| plugins.beautylog.log("npmci version: " + npmciInfo.version); | ||||
|  | ||||
| import {build} from "./npmci.build" | ||||
| import {command as command2} from "./npmci.command"; | ||||
| import {install} from "./npmci.install"; | ||||
| 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"; | ||||
| import * as NpmciEnv from "./npmci.env"; | ||||
|  | ||||
| export {build} from "./npmci.build" | ||||
| export {install} from "./npmci.install"; | ||||
| export {publish} from "./npmci.publish"; | ||||
|  | ||||
| let command; | ||||
| let commandOption; | ||||
| let commandOption:string; | ||||
|  | ||||
| plugins.commander | ||||
|     .arguments('<commandarg> [commandoptionarg]') | ||||
| @@ -34,24 +38,35 @@ if (typeof command === 'undefined') { | ||||
|  | ||||
| switch (command){ | ||||
|     case "build": | ||||
|         build(commandOption); | ||||
|         build(commandOption) | ||||
|             .then(NpmciEnv.configStore); | ||||
|         break; | ||||
|     case "command": | ||||
|         command() | ||||
|             .then(NpmciEnv.configStore); | ||||
|         break; | ||||
|     case "install": | ||||
|         install(commandOption); | ||||
|         install(commandOption) | ||||
|             .then(NpmciEnv.configStore);; | ||||
|         break; | ||||
|     case "prepare": | ||||
|         prepare(commandOption); | ||||
|         prepare(commandOption) | ||||
|             .then(NpmciEnv.configStore);; | ||||
|         break; | ||||
|     case "publish": | ||||
|         publish(commandOption); | ||||
|         publish(commandOption) | ||||
|             .then(NpmciEnv.configStore);; | ||||
|         break; | ||||
|     case "test": | ||||
|         test(commandOption); | ||||
|         test(commandOption) | ||||
|             .then(NpmciEnv.configStore); | ||||
|         break; | ||||
|     case "trigger": | ||||
|         trigger(); | ||||
|         break; | ||||
|     default: | ||||
|         plugins.beautylog.error("command " + commandOption.blue + " not recognised"); | ||||
|         process.exit(1); | ||||
|         break; | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -86,16 +86,16 @@ export let buildDockerfiles = (sortedArrayArg:Dockerfile[]) => { | ||||
| export let pushDockerfiles = function(sortedArrayArg:Dockerfile[]){ | ||||
|     let done = plugins.q.defer(); | ||||
|     sortedArrayArg.forEach(function(dockerfileArg){ | ||||
|         dockerfileArg.push(); | ||||
|         dockerfileArg.push(NpmciEnv.buildStage); | ||||
|     }); | ||||
|     done.resolve(sortedArrayArg); | ||||
|     return done.promise; | ||||
| } | ||||
|  | ||||
| export let pullDockerfileImages = (sortableArrayArg:Dockerfile[]) => { | ||||
| export let pullDockerfileImages = (sortableArrayArg:Dockerfile[],registryArg = "registry.gitlab.com") => { | ||||
|     let done = plugins.q.defer(); | ||||
|     sortableArrayArg.forEach((dockerfileArg) => { | ||||
|         dockerfileArg.pull(); | ||||
|         dockerfileArg.pull(registryArg); | ||||
|     }); | ||||
|     done.resolve(sortableArrayArg); | ||||
|     return done.promise; | ||||
| @@ -110,25 +110,16 @@ export let testDockerfiles = (sortedArrayArg:Dockerfile[]) => { | ||||
|     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 { | ||||
|     filePath:string; | ||||
|     repo:string; | ||||
|     version:string; | ||||
|     cleanTag:string; | ||||
|     buildTag:string; | ||||
|     testTag:string; | ||||
|     releaseTag:string; | ||||
|     containerName:string | ||||
|     content:string; | ||||
|     patchedContent:string; | ||||
|     baseImage:string; | ||||
|     localBaseImageDependent:boolean; | ||||
|     localBaseDockerfile:Dockerfile; | ||||
| @@ -137,8 +128,9 @@ export class Dockerfile { | ||||
|         this.repo = NpmciEnv.repo.user + "/" + NpmciEnv.repo.repo; | ||||
|         this.version = dockerFileVersion(plugins.path.parse(options.filePath).base); | ||||
|         this.cleanTag = this.repo + ":" + this.version; | ||||
|         this.buildTag = dockerTag(this.repo,this.version,"build"); | ||||
|         this.releaseTag = dockerTag(this.repo,this.version,"release"); | ||||
|         this.buildTag = this.cleanTag; | ||||
|         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; | ||||
|         if(options.filePath && options.read){ | ||||
|             this.content = plugins.smartfile.local.toStringSync(plugins.path.resolve(options.filePath)); | ||||
| @@ -147,78 +139,53 @@ export class Dockerfile { | ||||
|         this.localBaseImageDependent = false; | ||||
|     }; | ||||
|     build(){ | ||||
|         plugins.beautylog.info("now building Dockerfile for " + this.cleanTag); | ||||
|         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 + " ."); | ||||
|         NpmciEnv.dockerFilesBuilt.push(this); | ||||
|         this.restoreContents(); | ||||
|         done.resolve(); | ||||
|         return done.promise; | ||||
|     }; | ||||
|     push(){ | ||||
|     push(stageArg){ | ||||
|         let done = plugins.q.defer(); | ||||
|         if(this.buildTag){ | ||||
|             bashBare("docker push " + this.buildTag); | ||||
|         } else { | ||||
|             plugins.beautylog.error("Dockerfile hasn't been built yet!"); | ||||
|         let pushTag; | ||||
|         switch (stageArg){ | ||||
|             case "release": | ||||
|                 pushTag = this.releaseTag; | ||||
|                 break; | ||||
|             case "test": | ||||
|             default: | ||||
|                 pushTag = this.testTag; | ||||
|                 break; | ||||
|         } | ||||
|         bashBare("docker tag " + this.buildTag + " " + pushTag); | ||||
|         bashBare("docker push " + pushTag); | ||||
|         done.resolve(); | ||||
|         return done.promise; | ||||
|     } | ||||
|     pull(){ | ||||
|         bashBare("docker pull " + this.buildTag); | ||||
|     pull(registryArg:string){ | ||||
|         let pullTag = this.testTag; | ||||
|         bashBare("docker pull " + pullTag); | ||||
|         bashBare("docker tag " + pullTag + " " + this.buildTag); | ||||
|     }; | ||||
|     test(){ | ||||
|         let testExists = plugins.smartfile.checks.fileExistsSync( | ||||
|             plugins.path.join(paths.NpmciProjectDir,("./test/test_" + this.version + ".sh")) | ||||
|         ); | ||||
|         if(testExists){ | ||||
|             bashBare("docker run -v " +  | ||||
|                 plugins.path.join(paths.NpmciProjectDir,"./test/") + ":/test/ " + | ||||
|                 "--name " + this.containerName + " " + this.buildTag + " /test/" + "test_" + this.version  + ".sh"); | ||||
|         let testFile:string = plugins.path.join(paths.NpmciTestDir,"test_" + this.version + ".sh"); | ||||
|         let testFileExists:boolean = plugins.smartfile.checks.fileExistsSync(testFile); | ||||
|         if(testFileExists){ | ||||
|             bashBare("docker run --name npmci_test_container " + this.buildTag + " mkdir /npmci_test"); | ||||
|             bashBare("docker cp " + testFile + " npmci_test_container:/npmci_test/test.sh"); | ||||
|             bashBare("docker commit npmci_test_container npmci_test_image"); | ||||
|             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 { | ||||
|             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(){ | ||||
|         let containerId = bashBare("docker inspect --type=image --format=\"{{.Id}}\" " + this.buildTag); | ||||
|         return containerId; | ||||
|     }; | ||||
|     patchContents(){ | ||||
|         let done = plugins.q.defer(); | ||||
|         if(this.localBaseImageDependent == true){ | ||||
|             plugins.beautylog.info("patching Dockerfile due to local build dependency!"); | ||||
|             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{ | ||||
| @@ -239,17 +206,14 @@ export let dockerBaseImage = function(dockerfileContentArg:string){ | ||||
|     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 registry = NpmciEnv.dockerRegistry; | ||||
|     if(stageArg == "build"  || stageArg == "test"){ | ||||
|         registry = "registry.gitlab.com"; | ||||
|     }  | ||||
|     let registry = registryArg; | ||||
|     let repo = repoArg; | ||||
|     let version = versionArg; | ||||
|     if(NpmciEnv.buildStage == "build" || NpmciEnv.buildStage == "test"){ | ||||
|         version = version + "_test"; | ||||
|     } | ||||
|     if(suffixArg){ | ||||
|         version = versionArg + "_" + suffixArg; | ||||
|     }; | ||||
|     tagString = registry + "/" + repo + ":" + version; | ||||
|     return tagString; | ||||
| }; | ||||
|   | ||||
							
								
								
									
										10
									
								
								ts/npmci.command.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								ts/npmci.command.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| import "typings-global"; | ||||
| import * as plugins from "./npmci.plugins"; | ||||
| import {bash} from "./npmci.bash"; | ||||
|  | ||||
| export let command = (commandArg) => { | ||||
|     let done = plugins.q.defer() | ||||
|     console.log(process.argv); | ||||
|     done.resolve(); | ||||
|     return done.promise | ||||
| } | ||||
| @@ -4,7 +4,8 @@ import * as paths from "./npmci.paths"; | ||||
| import {GitRepo} from "smartstring"; | ||||
| 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; | ||||
|  | ||||
| @@ -13,9 +14,12 @@ export let dockerRegistry; // will be set by npmci.prepare | ||||
| export let dockerFilesBuilt:Dockerfile[] = []; | ||||
| export let dockerFiles:Dockerfile[] = []; | ||||
|  | ||||
| export let config; | ||||
|  | ||||
| export let configStore = () => { | ||||
|     let config = { | ||||
|         dockerRegistry: dockerRegistry, | ||||
|         dockerFilesBuilt: dockerFilesBuilt, | ||||
|         dockerFiles: dockerFiles | ||||
|     } | ||||
|     plugins.smartfile.memory.toFsSync( | ||||
|         JSON.stringify(config), | ||||
|         { | ||||
| @@ -26,13 +30,14 @@ export let configStore = () => { | ||||
| } | ||||
|  | ||||
| export let configLoad = () => { | ||||
|     let config; | ||||
|     try { | ||||
|         config = plugins.smartfile.local.toObjectSync(paths.NpmciPackageConfig,"json"); | ||||
|     } | ||||
|     catch(err){ | ||||
|         config = {}; | ||||
|         configStore(); | ||||
|         plugins.beautylog.log("config inititialized!"); | ||||
|         plugins.beautylog.log("config initialized!"); | ||||
|     } | ||||
|      | ||||
|     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 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,6 +4,7 @@ export let commander = require("commander"); | ||||
| export let gulp = require("gulp"); | ||||
| export let gulpFunction = require("gulp-function"); | ||||
| export import path = require("path"); | ||||
| export import projectinfo = require("projectinfo"); | ||||
| export let q = require("q"); | ||||
| export let request = require("request"); | ||||
| export let shelljs = require("shelljs"); | ||||
|   | ||||
| @@ -29,7 +29,7 @@ let publishDocker = function(){ | ||||
|     let done = plugins.q.defer(); | ||||
|         NpmciBuildDocker.readDockerfiles() | ||||
|         .then(NpmciBuildDocker.pullDockerfileImages) | ||||
|         .then(NpmciBuildDocker.releaseDockerfiles) | ||||
|         .then(NpmciBuildDocker.pushDockerfiles) | ||||
|         .then(done.resolve); | ||||
|     return done.promise; | ||||
| }; | ||||
		Reference in New Issue
	
	Block a user