npmci/dist/npmci.prepare.js
2016-06-05 16:43:27 +02:00

59 lines
7.7 KiB
JavaScript

"use strict";
require("typings-global");
var plugins = require("./npmci.plugins");
var env = require("./npmci.env");
var npm = function () {
var done = plugins.q.defer();
var npmrcPrefix = "//registry.npmjs.org/:_authToken=";
var npmToken = process.env.NPMCI_TOKEN_NPM;
var npmrcFileString = npmrcPrefix + npmToken;
if (npmToken) {
plugins.beautylog.info("found access token");
}
else {
plugins.beautylog.error("no access token found! Exiting!");
process.exit(1);
}
plugins.smartfile.memory.toFsSync(npmrcFileString, { fileName: ".npmrc", filePath: "/root" });
done.resolve();
return done.promise;
};
var docker = function () {
var done = plugins.q.defer();
env.dockerRegistry = "docker.io";
var dockerRegex = /^([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)/;
if (!process.env.NPMCI_LOGIN_DOCKER) {
plugins.beautylog.error("You have to specify Login Data to the Docker Registry");
process.exit(1);
}
var dockerRegexResultArray = dockerRegex.exec(process.env.NPMCI_LOGIN_DOCKER);
var username = dockerRegexResultArray[1];
var password = dockerRegexResultArray[2];
plugins.shelljs.exec("docker login -u " + username + " -p " + password);
done.resolve();
return done.promise;
};
var dockerGitlab = function () {
var done = plugins.q.defer();
env.dockerRegistry = "registry.gitlab.com";
var ciBuildToken = process.env.CI_BUILD_TOKEN;
plugins.shelljs.exec("docker login -u gitlab-ci-token -p " + ciBuildToken + " " + env.dockerRegistry);
done.resolve();
return done.promise;
};
exports.prepare = function (serviceArg) {
switch (serviceArg) {
case "npm":
return npm();
case "docker":
return docker()
.then(dockerGitlab); // always also login to gitlab registry for tests
case "docker-gitlab":
return dockerGitlab();
default:
break;
}
};
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnByZXBhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBRTNDLElBQVksR0FBRyxXQUFNLGFBRXJCLENBQUMsQ0FGaUM7QUFFbEMsSUFBSSxHQUFHLEdBQUc7SUFDTixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBRTdCLElBQUksV0FBVyxHQUFVLG1DQUFtQyxDQUFDO0lBQzdELElBQUksUUFBUSxHQUFVLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDO0lBQ2xELElBQUksZUFBZSxHQUFHLFdBQVcsR0FBRyxRQUFRLENBQUM7SUFFN0MsRUFBRSxDQUFBLENBQUMsUUFBUSxDQUFDLENBQUEsQ0FBQztRQUNULE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ0osT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztRQUMzRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFDLEVBQUMsUUFBUSxFQUFDLFFBQVEsRUFBQyxRQUFRLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQztJQUN4RixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDZixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN4QixDQUFDLENBQUM7QUFFRixJQUFJLE1BQU0sR0FBRztJQUNULElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsR0FBRyxDQUFDLGNBQWMsR0FBRyxXQUFXLENBQUE7SUFDaEMsSUFBSSxXQUFXLEdBQUcscUNBQXFDLENBQUE7SUFDdkQsRUFBRSxDQUFBLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUEsQ0FBQztRQUNoQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO1FBQ2pGLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQUksc0JBQXNCLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDOUUsSUFBSSxRQUFRLEdBQUcsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekMsSUFBSSxRQUFRLEdBQUcsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsUUFBUSxHQUFHLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQztJQUN4RSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDZixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN4QixDQUFDLENBQUE7QUFFRCxJQUFJLFlBQVksR0FBRztJQUNmLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsR0FBRyxDQUFDLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQztJQUMzQyxJQUFJLFlBQVksR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQTtJQUM3QyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxxQ0FBcUMsR0FBRyxZQUFZLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0RyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDZixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN4QixDQUFDLENBQUE7QUFFVSxlQUFPLEdBQUcsVUFBUyxVQUFpQjtJQUMzQyxNQUFNLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ2pCLEtBQUssS0FBSztZQUNOLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNqQixLQUFLLFFBQVE7WUFDVCxNQUFNLENBQUMsTUFBTSxFQUFFO2lCQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGtEQUFrRDtRQUMvRSxLQUFLLGVBQWU7WUFDaEIsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFBO1FBQ3pCO1lBQ0ksS0FBSyxDQUFDO0lBQ2QsQ0FBQztBQUNMLENBQUMsQ0FBQSIsImZpbGUiOiJucG1jaS5wcmVwYXJlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcclxuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9ucG1jaS5wbHVnaW5zXCI7XHJcbmltcG9ydCB7YmFzaH0gZnJvbSBcIi4vbnBtY2kuYmFzaFwiO1xyXG5pbXBvcnQgKiBhcyBlbnYgZnJvbSBcIi4vbnBtY2kuZW52XCJcclxuXHJcbmxldCBucG0gPSBmdW5jdGlvbigpe1xyXG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcclxuICAgIFxyXG4gICAgbGV0IG5wbXJjUHJlZml4OnN0cmluZyA9IFwiLy9yZWdpc3RyeS5ucG1qcy5vcmcvOl9hdXRoVG9rZW49XCI7XHJcbiAgICBsZXQgbnBtVG9rZW46c3RyaW5nID0gcHJvY2Vzcy5lbnYuTlBNQ0lfVE9LRU5fTlBNO1xyXG4gICAgbGV0IG5wbXJjRmlsZVN0cmluZyA9IG5wbXJjUHJlZml4ICsgbnBtVG9rZW47XHJcbiAgICBcclxuICAgIGlmKG5wbVRva2VuKXtcclxuICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy5pbmZvKFwiZm91bmQgYWNjZXNzIHRva2VuXCIpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy5lcnJvcihcIm5vIGFjY2VzcyB0b2tlbiBmb3VuZCEgRXhpdGluZyFcIik7XHJcbiAgICAgICAgcHJvY2Vzcy5leGl0KDEpO1xyXG4gICAgfVxyXG4gICAgcGx1Z2lucy5zbWFydGZpbGUubWVtb3J5LnRvRnNTeW5jKG5wbXJjRmlsZVN0cmluZyx7ZmlsZU5hbWU6XCIubnBtcmNcIixmaWxlUGF0aDpcIi9yb290XCJ9KTtcclxuICAgIGRvbmUucmVzb2x2ZSgpO1xyXG4gICAgcmV0dXJuIGRvbmUucHJvbWlzZTtcclxufTtcclxuXHJcbmxldCBkb2NrZXIgPSBmdW5jdGlvbigpe1xyXG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcclxuICAgIGVudi5kb2NrZXJSZWdpc3RyeSA9IFwiZG9ja2VyLmlvXCJcclxuICAgIGxldCBkb2NrZXJSZWdleCA9IC9eKFthLXpBLVowLTlcXC5dKilcXHwoW2EtekEtWjAtOVxcLl0qKS9cclxuICAgIGlmKCFwcm9jZXNzLmVudi5OUE1DSV9MT0dJTl9ET0NLRVIpe1xyXG4gICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmVycm9yKFwiWW91IGhhdmUgdG8gc3BlY2lmeSBMb2dpbiBEYXRhIHRvIHRoZSBEb2NrZXIgUmVnaXN0cnlcIik7XHJcbiAgICAgICAgcHJvY2Vzcy5leGl0KDEpO1xyXG4gICAgfVxyXG4gICAgbGV0IGRvY2tlclJlZ2V4UmVzdWx0QXJyYXkgPSBkb2NrZXJSZWdleC5leGVjKHByb2Nlc3MuZW52Lk5QTUNJX0xPR0lOX0RPQ0tFUik7XHJcbiAgICBsZXQgdXNlcm5hbWUgPSBkb2NrZXJSZWdleFJlc3VsdEFycmF5WzFdO1xyXG4gICAgbGV0IHBhc3N3b3JkID0gZG9ja2VyUmVnZXhSZXN1bHRBcnJheVsyXTtcclxuICAgIHBsdWdpbnMuc2hlbGxqcy5leGVjKFwiZG9ja2VyIGxvZ2luIC11IFwiICsgdXNlcm5hbWUgKyBcIiAtcCBcIiArIHBhc3N3b3JkKTtcclxuICAgIGRvbmUucmVzb2x2ZSgpO1xyXG4gICAgcmV0dXJuIGRvbmUucHJvbWlzZTtcclxufVxyXG5cclxubGV0IGRvY2tlckdpdGxhYiA9IGZ1bmN0aW9uKCl7XHJcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xyXG4gICAgZW52LmRvY2tlclJlZ2lzdHJ5ID0gXCJyZWdpc3RyeS5naXRsYWIuY29tXCI7XHJcbiAgICBsZXQgY2lCdWlsZFRva2VuID0gcHJvY2Vzcy5lbnYuQ0lfQlVJTERfVE9LRU5cclxuICAgIHBsdWdpbnMuc2hlbGxqcy5leGVjKFwiZG9ja2VyIGxvZ2luIC11IGdpdGxhYi1jaS10b2tlbiAtcCBcIiArIGNpQnVpbGRUb2tlbiArIFwiIFwiICsgZW52LmRvY2tlclJlZ2lzdHJ5KTtcclxuICAgIGRvbmUucmVzb2x2ZSgpO1xyXG4gICAgcmV0dXJuIGRvbmUucHJvbWlzZTtcclxufVxyXG5cclxuZXhwb3J0IGxldCBwcmVwYXJlID0gZnVuY3Rpb24oc2VydmljZUFyZzpzdHJpbmcpe1xyXG4gICAgc3dpdGNoIChzZXJ2aWNlQXJnKSB7XHJcbiAgICAgICAgY2FzZSBcIm5wbVwiOlxyXG4gICAgICAgICAgICByZXR1cm4gbnBtKCk7XHJcbiAgICAgICAgY2FzZSBcImRvY2tlclwiOlxyXG4gICAgICAgICAgICByZXR1cm4gZG9ja2VyKClcclxuICAgICAgICAgICAgICAgIC50aGVuKGRvY2tlckdpdGxhYik7IC8vIGFsd2F5cyBhbHNvIGxvZ2luIHRvIGdpdGxhYiByZWdpc3RyeSBmb3IgdGVzdHMgXHJcbiAgICAgICAgY2FzZSBcImRvY2tlci1naXRsYWJcIjpcclxuICAgICAgICAgICAgcmV0dXJuIGRvY2tlckdpdGxhYigpXHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbn0iXX0=