| 
									
										
										
										
											2016-06-01 05:44:48 +02:00
										 |  |  | "use strict"; | 
					
						
							| 
									
										
										
										
											2017-03-11 01:10:37 +01:00
										 |  |  | var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | 
					
						
							|  |  |  |     return new (P || (P = Promise))(function (resolve, reject) { | 
					
						
							|  |  |  |         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | 
					
						
							|  |  |  |         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | 
					
						
							|  |  |  |         function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } | 
					
						
							|  |  |  |         step((generator = generator.apply(thisArg, _arguments || [])).next()); | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | Object.defineProperty(exports, "__esModule", { value: true }); | 
					
						
							| 
									
										
										
										
											2016-07-18 16:56:53 +02:00
										 |  |  | const plugins = require("./npmci.plugins"); | 
					
						
							| 
									
										
										
										
											2017-03-11 01:34:03 +01:00
										 |  |  | const npmci_bash_1 = require("./npmci.bash"); | 
					
						
							| 
									
										
										
										
											2016-07-18 16:56:53 +02:00
										 |  |  | const env = require("./npmci.env"); | 
					
						
							|  |  |  | const sshModule = require("./npmci.ssh"); | 
					
						
							| 
									
										
										
										
											2016-09-04 16:05:47 +02:00
										 |  |  | /** | 
					
						
							|  |  |  |  * authenticates npm with token from env var | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2017-03-11 01:10:37 +01:00
										 |  |  | let npm = () => __awaiter(this, void 0, void 0, function* () { | 
					
						
							| 
									
										
										
										
											2016-11-24 23:21:40 +01:00
										 |  |  |     let npmrcPrefix = '//registry.npmjs.org/:_authToken='; | 
					
						
							| 
									
										
										
										
											2016-07-18 16:56:53 +02:00
										 |  |  |     let npmToken = process.env.NPMCI_TOKEN_NPM; | 
					
						
							|  |  |  |     let npmrcFileString = npmrcPrefix + npmToken; | 
					
						
							| 
									
										
										
										
											2016-06-03 01:58:37 +02:00
										 |  |  |     if (npmToken) { | 
					
						
							| 
									
										
										
										
											2016-11-24 23:21:40 +01:00
										 |  |  |         plugins.beautylog.info('found access token'); | 
					
						
							| 
									
										
										
										
											2016-06-03 01:58:37 +02:00
										 |  |  |     } | 
					
						
							|  |  |  |     else { | 
					
						
							| 
									
										
										
										
											2016-11-24 23:21:40 +01:00
										 |  |  |         plugins.beautylog.error('no access token found! Exiting!'); | 
					
						
							| 
									
										
										
										
											2016-06-03 01:58:37 +02:00
										 |  |  |         process.exit(1); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2016-11-24 23:21:40 +01:00
										 |  |  |     plugins.smartfile.memory.toFsSync(npmrcFileString, '/root/.npmrc'); | 
					
						
							| 
									
										
										
										
											2017-03-11 01:10:37 +01:00
										 |  |  |     return; | 
					
						
							|  |  |  | }); | 
					
						
							| 
									
										
										
										
											2016-09-04 16:05:47 +02:00
										 |  |  | /** | 
					
						
							|  |  |  |  * logs in docker | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2017-03-11 01:10:37 +01:00
										 |  |  | let docker = () => __awaiter(this, void 0, void 0, function* () { | 
					
						
							| 
									
										
										
										
											2016-11-24 23:21:40 +01:00
										 |  |  |     env.setDockerRegistry('docker.io'); | 
					
						
							| 
									
										
										
										
											2016-07-18 16:56:53 +02:00
										 |  |  |     let dockerRegex = /^([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)/; | 
					
						
							| 
									
										
										
										
											2016-06-02 17:57:01 +02:00
										 |  |  |     if (!process.env.NPMCI_LOGIN_DOCKER) { | 
					
						
							| 
									
										
										
										
											2016-11-24 23:21:40 +01:00
										 |  |  |         plugins.beautylog.error('You have to specify Login Data to the Docker Registry'); | 
					
						
							| 
									
										
										
										
											2016-06-02 17:57:01 +02:00
										 |  |  |         process.exit(1); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2016-11-24 23:21:40 +01:00
										 |  |  |     plugins.shelljs.exec('docker login -u gitlab-ci-token -p ' + process.env.CI_BUILD_TOKEN + ' ' + 'registry.gitlab.com'); // Always also login to GitLab Registry
 | 
					
						
							| 
									
										
										
										
											2016-07-18 16:56:53 +02:00
										 |  |  |     let dockerRegexResultArray = dockerRegex.exec(process.env.NPMCI_LOGIN_DOCKER); | 
					
						
							|  |  |  |     let username = dockerRegexResultArray[1]; | 
					
						
							|  |  |  |     let password = dockerRegexResultArray[2]; | 
					
						
							| 
									
										
										
										
											2017-03-11 01:34:03 +01:00
										 |  |  |     yield npmci_bash_1.bash('docker login -u ' + username + ' -p ' + password); | 
					
						
							| 
									
										
										
										
											2017-03-11 01:10:37 +01:00
										 |  |  |     return; | 
					
						
							|  |  |  | }); | 
					
						
							| 
									
										
										
										
											2016-09-04 16:05:47 +02:00
										 |  |  | /** | 
					
						
							|  |  |  |  * prepare docker for gitlab registry | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2017-03-11 01:10:37 +01:00
										 |  |  | let dockerGitlab = () => __awaiter(this, void 0, void 0, function* () { | 
					
						
							| 
									
										
										
										
											2016-11-24 23:21:40 +01:00
										 |  |  |     env.setDockerRegistry('registry.gitlab.com'); | 
					
						
							|  |  |  |     plugins.shelljs.exec('docker login -u gitlab-ci-token -p ' + process.env.CI_BUILD_TOKEN + ' ' + 'registry.gitlab.com'); | 
					
						
							| 
									
										
										
										
											2017-03-11 01:10:37 +01:00
										 |  |  |     return; | 
					
						
							|  |  |  | }); | 
					
						
							| 
									
										
										
										
											2016-09-04 16:05:47 +02:00
										 |  |  | /** | 
					
						
							|  |  |  |  * prepare ssh | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2017-03-11 01:10:37 +01:00
										 |  |  | let ssh = () => __awaiter(this, void 0, void 0, function* () { | 
					
						
							|  |  |  |     yield sshModule.ssh(); | 
					
						
							|  |  |  | }); | 
					
						
							| 
									
										
										
										
											2016-09-04 16:05:47 +02:00
										 |  |  | /** | 
					
						
							|  |  |  |  * the main exported prepare function | 
					
						
							|  |  |  |  * @param servieArg describes the service to prepare | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2017-03-11 01:10:37 +01:00
										 |  |  | exports.prepare = (serviceArg) => __awaiter(this, void 0, void 0, function* () { | 
					
						
							| 
									
										
										
										
											2016-06-01 05:44:48 +02:00
										 |  |  |     switch (serviceArg) { | 
					
						
							| 
									
										
										
										
											2016-11-24 23:21:40 +01:00
										 |  |  |         case 'npm': | 
					
						
							| 
									
										
										
										
											2017-03-11 01:10:37 +01:00
										 |  |  |             return yield npm(); | 
					
						
							| 
									
										
										
										
											2016-11-24 23:21:40 +01:00
										 |  |  |         case 'docker': | 
					
						
							| 
									
										
										
										
											2017-03-11 01:10:37 +01:00
										 |  |  |             return yield docker(); | 
					
						
							| 
									
										
										
										
											2016-11-24 23:21:40 +01:00
										 |  |  |         case 'docker-gitlab': | 
					
						
							| 
									
										
										
										
											2017-03-11 01:10:37 +01:00
										 |  |  |             return yield dockerGitlab(); | 
					
						
							| 
									
										
										
										
											2016-11-24 23:21:40 +01:00
										 |  |  |         case 'ssh': | 
					
						
							| 
									
										
										
										
											2017-03-11 01:10:37 +01:00
										 |  |  |             return yield ssh(); | 
					
						
							| 
									
										
										
										
											2016-06-03 01:58:37 +02:00
										 |  |  |         default: | 
					
						
							|  |  |  |             break; | 
					
						
							| 
									
										
										
										
											2016-06-01 05:44:48 +02:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2017-03-11 01:10:37 +01:00
										 |  |  | }); | 
					
						
							| 
									
										
										
										
											2017-03-11 01:34:03 +01:00
										 |  |  | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kucHJlcGFyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL25wbWNpLnByZXBhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLDJDQUEwQztBQUMxQyw2Q0FBbUM7QUFDbkMsbUNBQWtDO0FBQ2xDLHlDQUF3QztBQVV4Qzs7R0FFRztBQUNILElBQUksR0FBRyxHQUFHO0lBQ1IsSUFBSSxXQUFXLEdBQVcsbUNBQW1DLENBQUE7SUFDN0QsSUFBSSxRQUFRLEdBQVcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUE7SUFDbEQsSUFBSSxlQUFlLEdBQVcsV0FBVyxHQUFHLFFBQVEsQ0FBQTtJQUNwRCxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ2IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDTixPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFBO1FBQzFELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDakIsQ0FBQztJQUNELE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUE7SUFDbEUsTUFBTSxDQUFBO0FBQ1IsQ0FBQyxDQUFBLENBQUE7QUFFRDs7R0FFRztBQUNILElBQUksTUFBTSxHQUFHO0lBQ1gsR0FBRyxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ2xDLElBQUksV0FBVyxHQUFHLHFDQUFxQyxDQUFBO0lBQ3ZELEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7UUFDcEMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQTtRQUNoRixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ2pCLENBQUM7SUFDRCxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxxQ0FBcUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsR0FBRyxHQUFHLEdBQUcscUJBQXFCLENBQUMsQ0FBQSxDQUFDLHVDQUF1QztJQUM5SixJQUFJLHNCQUFzQixHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0lBQzdFLElBQUksUUFBUSxHQUFHLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ3hDLElBQUksUUFBUSxHQUFHLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ3hDLE1BQU0saUJBQUksQ0FBQyxrQkFBa0IsR0FBRyxRQUFRLEdBQUcsTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFBO0lBQzdELE1BQU0sQ0FBQTtBQUNSLENBQUMsQ0FBQSxDQUFBO0FBRUQ7O0dBRUc7QUFDSCxJQUFJLFlBQVksR0FBRztJQUNqQixHQUFHLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsQ0FBQTtJQUM1QyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxxQ0FBcUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsR0FBRyxHQUFHLEdBQUcscUJBQXFCLENBQUMsQ0FBQTtJQUN0SCxNQUFNLENBQUE7QUFDUixDQUFDLENBQUEsQ0FBQTtBQUVEOztHQUVHO0FBQ0gsSUFBSSxHQUFHLEdBQUc7SUFDUixNQUFNLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtBQUN2QixDQUFDLENBQUEsQ0FBQTtBQUVEOzs7R0FHRztBQUNRLFFBQUEsT0FBTyxHQUFHLENBQU8sVUFBd0I7SUFDbEQsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNuQixLQUFLLEtBQUs7WUFDUixNQUFNLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQTtRQUNwQixLQUFLLFFBQVE7WUFDWCxNQUFNLENBQUMsTUFBTSxNQUFNLEVBQUUsQ0FBQTtRQUN2QixLQUFLLGVBQWU7WUFDbEIsTUFBTSxDQUFDLE1BQU0sWUFBWSxFQUFFLENBQUE7UUFDN0IsS0FBSyxLQUFLO1lBQ1IsTUFBTSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUE7UUFDcEI7WUFDRSxLQUFLLENBQUE7SUFDVCxDQUFDO0FBQ0gsQ0FBQyxDQUFBLENBQUEifQ==
 |