Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 806647d7c3 | |||
| 6a0e74690d | |||
| 27cb433c82 | |||
| e1245f24ce | |||
| 42d3ecbe37 | |||
| b19bb9569d | |||
| 497659df1f | |||
| 4047fc815b |
12
dist/npmci.build.js
vendored
12
dist/npmci.build.js
vendored
@@ -1,12 +1,18 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
require("typings-global");
|
require("typings-global");
|
||||||
var plugins = require("./npmci.plugins");
|
var plugins = require("./npmci.plugins");
|
||||||
|
var env = require("./npmci.env");
|
||||||
exports.build = function (commandArg) {
|
exports.build = function (commandArg) {
|
||||||
|
switch (commandArg) {
|
||||||
|
case "docker":
|
||||||
|
return docker();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
var docker = function () {
|
||||||
var done = plugins.q.defer();
|
var done = plugins.q.defer();
|
||||||
var repo = new plugins.smartstring.GitRepo(process.env.CI_BUILD_REPO);
|
plugins.shelljs.exec("docker build -t " + env.dockerTag());
|
||||||
plugins.shelljs.exec("docker build -t " + repo.user + "/" + repo.repo + ":latest .");
|
|
||||||
done.resolve();
|
done.resolve();
|
||||||
return done.promise;
|
return done.promise;
|
||||||
};
|
};
|
||||||
|
|
||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmJ1aWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFDeEIsSUFBWSxPQUFPLFdBQU0saUJBQWlCLENBQUMsQ0FBQTtBQUdoQyxhQUFLLEdBQUcsVUFBUyxVQUFVO0lBQ2xDLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsSUFBSSxJQUFJLEdBQUcsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RFLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLENBQUM7SUFDckYsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFBIiwiZmlsZSI6Im5wbWNpLmJ1aWxkLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcclxuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9ucG1jaS5wbHVnaW5zXCI7XHJcbmltcG9ydCB7YmFzaH0gZnJvbSBcIi4vbnBtY2kuYmFzaFwiO1xyXG5cclxuZXhwb3J0IGxldCBidWlsZCA9IGZ1bmN0aW9uKGNvbW1hbmRBcmcpe1xyXG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcclxuICAgIGxldCByZXBvID0gbmV3IHBsdWdpbnMuc21hcnRzdHJpbmcuR2l0UmVwbyhwcm9jZXNzLmVudi5DSV9CVUlMRF9SRVBPKTtcclxuICAgIHBsdWdpbnMuc2hlbGxqcy5leGVjKFwiZG9ja2VyIGJ1aWxkIC10IFwiICsgcmVwby51c2VyICsgXCIvXCIgKyByZXBvLnJlcG8gKyBcIjpsYXRlc3QgLlwiKTtcclxuICAgIGRvbmUucmVzb2x2ZSgpO1xyXG4gICAgcmV0dXJuIGRvbmUucHJvbWlzZTtcclxufSJdfQ==
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmJ1aWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFDeEIsSUFBWSxPQUFPLFdBQU0saUJBQWlCLENBQUMsQ0FBQTtBQUUzQyxJQUFZLEdBQUcsV0FBTSxhQUFhLENBQUMsQ0FBQTtBQUV4QixhQUFLLEdBQUcsVUFBUyxVQUFVO0lBQ2xDLE1BQU0sQ0FBQSxDQUFDLFVBQVUsQ0FBQyxDQUFBLENBQUM7UUFDZixLQUFLLFFBQVE7WUFDVCxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDeEIsQ0FBQztBQUNMLENBQUMsQ0FBQTtBQUVELElBQUksTUFBTSxHQUFHO0lBQ1QsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3QixPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUMzRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDZixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN4QixDQUFDLENBQUEiLCJmaWxlIjoibnBtY2kuYnVpbGQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xyXG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcclxuaW1wb3J0IHtiYXNofSBmcm9tIFwiLi9ucG1jaS5iYXNoXCI7XHJcbmltcG9ydCAqIGFzIGVudiBmcm9tIFwiLi9ucG1jaS5lbnZcIjtcclxuXHJcbmV4cG9ydCBsZXQgYnVpbGQgPSBmdW5jdGlvbihjb21tYW5kQXJnKXtcclxuICAgIHN3aXRjaChjb21tYW5kQXJnKXtcclxuICAgICAgICBjYXNlIFwiZG9ja2VyXCI6XHJcbiAgICAgICAgICAgIHJldHVybiBkb2NrZXIoKTsgICBcclxuICAgIH1cclxufVxyXG5cclxubGV0IGRvY2tlciA9IGZ1bmN0aW9uKCl7XHJcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xyXG4gICAgcGx1Z2lucy5zaGVsbGpzLmV4ZWMoXCJkb2NrZXIgYnVpbGQgLXQgXCIgKyBlbnYuZG9ja2VyVGFnKCkpO1xyXG4gICAgZG9uZS5yZXNvbHZlKCk7XHJcbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xyXG59XHJcblxyXG4iXX0=
|
||||||
|
|||||||
11
dist/npmci.env.d.ts
vendored
11
dist/npmci.env.d.ts
vendored
@@ -1 +1,10 @@
|
|||||||
export declare let env: () => void;
|
import "typings-global";
|
||||||
|
import { GitRepo } from "smartstring";
|
||||||
|
export declare let repo: GitRepo;
|
||||||
|
export declare let dockerTestTag: string;
|
||||||
|
export declare let dockerReleaseTag: string;
|
||||||
|
export declare let dockerRegistry: string;
|
||||||
|
export declare let dockerTagVersion: () => string;
|
||||||
|
export declare let dockerTag: () => string;
|
||||||
|
export declare let dockerTagTest: () => string;
|
||||||
|
export declare let dockerTagRelease: () => string;
|
||||||
|
|||||||
23
dist/npmci.env.js
vendored
23
dist/npmci.env.js
vendored
@@ -1,5 +1,24 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
exports.env = function () {
|
require("typings-global");
|
||||||
|
var smartstring_1 = require("smartstring");
|
||||||
|
exports.repo = new smartstring_1.GitRepo(process.env.CI_BUILD_REPO);
|
||||||
|
exports.dockerRegistry = "docker.io"; // will be set by npmci.prepare
|
||||||
|
exports.dockerTagVersion = function () {
|
||||||
|
if (process.env.CI_BUILD_STAGE == "test") {
|
||||||
|
return "test";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return "latest";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.dockerTag = function () {
|
||||||
|
return exports.dockerRegistry + "/" + exports.repo.user + "/" + exports.repo.repo + ":" + exports.dockerTagVersion() + " .";
|
||||||
|
};
|
||||||
|
exports.dockerTagTest = function () {
|
||||||
|
return exports.dockerRegistry + "/" + exports.repo.user + "/" + exports.repo.repo + ":test .";
|
||||||
|
};
|
||||||
|
exports.dockerTagRelease = function () {
|
||||||
|
return exports.dockerRegistry + "/" + exports.repo.user + "/" + exports.repo.repo + ":latest .";
|
||||||
};
|
};
|
||||||
|
|
||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmVudi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQVcsV0FBRyxHQUFHO0FBRWpCLENBQUMsQ0FBQyIsImZpbGUiOiJucG1jaS5lbnYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgbGV0IGVudiA9IGZ1bmN0aW9uKCl7XHJcbiAgICBcclxufTsiXX0=
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmVudi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBR3hCLDRCQUFzQixhQUFhLENBQUMsQ0FBQTtBQUV6QixZQUFJLEdBQUcsSUFBSSxxQkFBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7QUFJOUMsc0JBQWMsR0FBRyxXQUFXLENBQUMsQ0FBQywrQkFBK0I7QUFFN0Qsd0JBQWdCLEdBQUc7SUFDMUIsRUFBRSxDQUFBLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLElBQUksTUFBTSxDQUFDLENBQUEsQ0FBQztRQUNyQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNKLE1BQU0sQ0FBQyxRQUFRLENBQUE7SUFDbkIsQ0FBQztBQUNMLENBQUMsQ0FBQTtBQUVVLGlCQUFTLEdBQUc7SUFDbkIsTUFBTSxDQUFDLHNCQUFjLEdBQUcsR0FBRyxHQUFHLFlBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLFlBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLHdCQUFnQixFQUFFLEdBQUUsSUFBSSxDQUFDO0FBQy9GLENBQUMsQ0FBQTtBQUVVLHFCQUFhLEdBQUc7SUFDdkIsTUFBTSxDQUFDLHNCQUFjLEdBQUcsR0FBRyxHQUFHLFlBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLFlBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO0FBQzFFLENBQUMsQ0FBQTtBQUVVLHdCQUFnQixHQUFHO0lBQzFCLE1BQU0sQ0FBQyxzQkFBYyxHQUFHLEdBQUcsR0FBRyxZQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxZQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQztBQUM1RSxDQUFDLENBQUEiLCJmaWxlIjoibnBtY2kuZW52LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcclxuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9ucG1jaS5wbHVnaW5zXCI7XHJcblxyXG5pbXBvcnQge0dpdFJlcG99IGZyb20gXCJzbWFydHN0cmluZ1wiO1xyXG5cclxuZXhwb3J0IGxldCByZXBvID0gbmV3IEdpdFJlcG8ocHJvY2Vzcy5lbnYuQ0lfQlVJTERfUkVQTyk7XHJcbmV4cG9ydCBsZXQgZG9ja2VyVGVzdFRhZzpzdHJpbmc7XHJcbmV4cG9ydCBsZXQgZG9ja2VyUmVsZWFzZVRhZzpzdHJpbmc7XHJcblxyXG5leHBvcnQgbGV0IGRvY2tlclJlZ2lzdHJ5ID0gXCJkb2NrZXIuaW9cIjsgLy8gd2lsbCBiZSBzZXQgYnkgbnBtY2kucHJlcGFyZVxyXG5cclxuZXhwb3J0IGxldCBkb2NrZXJUYWdWZXJzaW9uID0gZnVuY3Rpb24oKXtcclxuICAgIGlmKHByb2Nlc3MuZW52LkNJX0JVSUxEX1NUQUdFID09IFwidGVzdFwiKXtcclxuICAgICAgICByZXR1cm4gXCJ0ZXN0XCI7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBcImxhdGVzdFwiXHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBsZXQgZG9ja2VyVGFnID0gZnVuY3Rpb24oKXtcclxuICAgIHJldHVybiBkb2NrZXJSZWdpc3RyeSArIFwiL1wiICsgcmVwby51c2VyICsgXCIvXCIgKyByZXBvLnJlcG8gKyBcIjpcIiArIGRvY2tlclRhZ1ZlcnNpb24oKSArXCIgLlwiO1xyXG59XHJcblxyXG5leHBvcnQgbGV0IGRvY2tlclRhZ1Rlc3QgPSBmdW5jdGlvbigpe1xyXG4gICAgcmV0dXJuIGRvY2tlclJlZ2lzdHJ5ICsgXCIvXCIgKyByZXBvLnVzZXIgKyBcIi9cIiArIHJlcG8ucmVwbyArIFwiOnRlc3QgLlwiO1xyXG59XHJcblxyXG5leHBvcnQgbGV0IGRvY2tlclRhZ1JlbGVhc2UgPSBmdW5jdGlvbigpe1xyXG4gICAgcmV0dXJuIGRvY2tlclJlZ2lzdHJ5ICsgXCIvXCIgKyByZXBvLnVzZXIgKyBcIi9cIiArIHJlcG8ucmVwbyArIFwiOmxhdGVzdCAuXCI7XHJcbn1cclxuIl19
|
||||||
|
|||||||
5
dist/npmci.prepare.js
vendored
5
dist/npmci.prepare.js
vendored
File diff suppressed because one or more lines are too long
19
dist/npmci.publish.js
vendored
19
dist/npmci.publish.js
vendored
@@ -3,23 +3,15 @@ require("typings-global");
|
|||||||
var plugins = require("./npmci.plugins");
|
var plugins = require("./npmci.plugins");
|
||||||
var npmci_prepare_1 = require("./npmci.prepare");
|
var npmci_prepare_1 = require("./npmci.prepare");
|
||||||
var npmci_bash_1 = require("./npmci.bash");
|
var npmci_bash_1 = require("./npmci.bash");
|
||||||
|
var env = require("./npmci.env");
|
||||||
exports.publish = function (serviceArg) {
|
exports.publish = function (serviceArg) {
|
||||||
if (serviceArg === void 0) { serviceArg = "npm"; }
|
if (serviceArg === void 0) { serviceArg = "npm"; }
|
||||||
var done = plugins.q.defer();
|
|
||||||
switch (serviceArg) {
|
switch (serviceArg) {
|
||||||
case "npm":
|
case "npm":
|
||||||
publishNpm()
|
return publishNpm();
|
||||||
.then(function () {
|
|
||||||
done.resolve();
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
case "docker":
|
case "docker":
|
||||||
publishDocker()
|
return publishDocker();
|
||||||
.then(function () {
|
|
||||||
done.resolve();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
return done.promise;
|
|
||||||
};
|
};
|
||||||
var publishNpm = function () {
|
var publishNpm = function () {
|
||||||
var done = plugins.q.defer();
|
var done = plugins.q.defer();
|
||||||
@@ -35,10 +27,11 @@ var publishDocker = function () {
|
|||||||
var done = plugins.q.defer();
|
var done = plugins.q.defer();
|
||||||
npmci_prepare_1.prepare("docker")
|
npmci_prepare_1.prepare("docker")
|
||||||
.then(function () {
|
.then(function () {
|
||||||
npmci_bash_1.bash("docker push");
|
npmci_bash_1.bash;
|
||||||
|
npmci_bash_1.bash("docker push " + env.dockerTag());
|
||||||
done.resolve();
|
done.resolve();
|
||||||
});
|
});
|
||||||
return done.promise;
|
return done.promise;
|
||||||
};
|
};
|
||||||
|
|
||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnB1Ymxpc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDhCQUFzQixpQkFBaUIsQ0FBQyxDQUFBO0FBQ3hDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUV2QixlQUFPLEdBQUcsVUFBQyxVQUF5QjtJQUF6QiwwQkFBeUIsR0FBekIsa0JBQXlCO0lBQzNDLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUEsQ0FBQztRQUNoQixLQUFLLEtBQUs7WUFDTixVQUFVLEVBQUU7aUJBQ1AsSUFBSSxDQUFDO2dCQUNGLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNuQixDQUFDLENBQUMsQ0FBQztZQUNQLEtBQUssQ0FBQztRQUNWLEtBQUssUUFBUTtZQUNULGFBQWEsRUFBRTtpQkFDVixJQUFJLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ2YsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQUVGLElBQUksVUFBVSxHQUFJO0lBQ2QsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3Qix1QkFBTyxDQUFDLEtBQUssQ0FBQztTQUNULElBQUksQ0FBQztRQUNGLGlCQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUU7UUFDL0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ1IsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDdkIsQ0FBQyxDQUFBO0FBRUQsSUFBSSxhQUFhLEdBQUc7SUFDaEIsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3Qix1QkFBTyxDQUFDLFFBQVEsQ0FBQztTQUNaLElBQUksQ0FBQztRQUNGLGlCQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ1AsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFDIiwiZmlsZSI6Im5wbWNpLnB1Ymxpc2guanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xyXG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcclxuaW1wb3J0IHtwcmVwYXJlfSBmcm9tIFwiLi9ucG1jaS5wcmVwYXJlXCI7XHJcbmltcG9ydCB7YmFzaH0gZnJvbSBcIi4vbnBtY2kuYmFzaFwiO1xyXG5cclxuZXhwb3J0IGxldCBwdWJsaXNoID0gKHNlcnZpY2VBcmc6c3RyaW5nID0gXCJucG1cIikgPT4ge1xyXG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcclxuICAgIHN3aXRjaCAoc2VydmljZUFyZyl7XHJcbiAgICAgICAgY2FzZSBcIm5wbVwiOiBcclxuICAgICAgICAgICAgcHVibGlzaE5wbSgpXHJcbiAgICAgICAgICAgICAgICAudGhlbihmdW5jdGlvbigpe1xyXG4gICAgICAgICAgICAgICAgICAgIGRvbmUucmVzb2x2ZSgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJkb2NrZXJcIjpcclxuICAgICAgICAgICAgcHVibGlzaERvY2tlcigpXHJcbiAgICAgICAgICAgICAgICAudGhlbihmdW5jdGlvbigpe1xyXG4gICAgICAgICAgICAgICAgICAgIGRvbmUucmVzb2x2ZSgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xyXG59O1xyXG5cclxubGV0IHB1Ymxpc2hOcG0gID0gZnVuY3Rpb24oKXtcclxuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XHJcbiAgICBwcmVwYXJlKFwibnBtXCIpXHJcbiAgICAgICAgLnRoZW4oZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgYmFzaChcIm5wbSBwdWJsaXNoXCIpO1xyXG4gICAgICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy5vayhcIkRvbmUhXCIpIDtcclxuICAgICAgICAgICAgZG9uZS5yZXNvbHZlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgIHJldHVybiBkb25lLnByb21pc2U7XHJcbn1cclxuXHJcbmxldCBwdWJsaXNoRG9ja2VyID0gZnVuY3Rpb24oKXtcclxuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XHJcbiAgICBwcmVwYXJlKFwiZG9ja2VyXCIpXHJcbiAgICAgICAgLnRoZW4oZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgYmFzaChcImRvY2tlciBwdXNoXCIpO1xyXG4gICAgICAgICAgICBkb25lLnJlc29sdmUoKTtcclxuICAgICAgICB9KTtcclxuICAgIHJldHVybiBkb25lLnByb21pc2U7XHJcbn07Il19
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnB1Ymxpc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDhCQUFzQixpQkFBaUIsQ0FBQyxDQUFBO0FBQ3hDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUNsQyxJQUFZLEdBQUcsV0FBTSxhQUFhLENBQUMsQ0FBQTtBQUV4QixlQUFPLEdBQUcsVUFBQyxVQUF5QjtJQUF6QiwwQkFBeUIsR0FBekIsa0JBQXlCO0lBQzNDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFBLENBQUM7UUFDaEIsS0FBSyxLQUFLO1lBQ04sTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3hCLEtBQUssUUFBUTtZQUNULE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMvQixDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsSUFBSSxVQUFVLEdBQUk7SUFDZCxJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdCLHVCQUFPLENBQUMsS0FBSyxDQUFDO1NBQ1QsSUFBSSxDQUFDO1FBQ0YsaUJBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwQixPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBRTtRQUMvQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQyxDQUFDLENBQUM7SUFDUixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN2QixDQUFDLENBQUE7QUFFRCxJQUFJLGFBQWEsR0FBRztJQUNoQixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdCLHVCQUFPLENBQUMsUUFBUSxDQUFDO1NBQ1osSUFBSSxDQUFDO1FBQ0YsaUJBQUksQ0FBQTtRQUNKLGlCQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQixDQUFDLENBQUMsQ0FBQztJQUNQLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQyIsImZpbGUiOiJucG1jaS5wdWJsaXNoLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcclxuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9ucG1jaS5wbHVnaW5zXCI7XHJcbmltcG9ydCB7cHJlcGFyZX0gZnJvbSBcIi4vbnBtY2kucHJlcGFyZVwiO1xyXG5pbXBvcnQge2Jhc2h9IGZyb20gXCIuL25wbWNpLmJhc2hcIjtcclxuaW1wb3J0ICogYXMgZW52IGZyb20gXCIuL25wbWNpLmVudlwiO1xyXG5cclxuZXhwb3J0IGxldCBwdWJsaXNoID0gKHNlcnZpY2VBcmc6c3RyaW5nID0gXCJucG1cIikgPT4ge1xyXG4gICAgc3dpdGNoIChzZXJ2aWNlQXJnKXtcclxuICAgICAgICBjYXNlIFwibnBtXCI6IFxyXG4gICAgICAgICAgICByZXR1cm4gcHVibGlzaE5wbSgpO1xyXG4gICAgICAgIGNhc2UgXCJkb2NrZXJcIjpcclxuICAgICAgICAgICAgcmV0dXJuIHB1Ymxpc2hEb2NrZXIoKTtcclxuICAgIH1cclxufTtcclxuXHJcbmxldCBwdWJsaXNoTnBtICA9IGZ1bmN0aW9uKCl7XHJcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xyXG4gICAgcHJlcGFyZShcIm5wbVwiKVxyXG4gICAgICAgIC50aGVuKGZ1bmN0aW9uKCl7XHJcbiAgICAgICAgICAgIGJhc2goXCJucG0gcHVibGlzaFwiKTtcclxuICAgICAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cub2soXCJEb25lIVwiKSA7XHJcbiAgICAgICAgICAgIGRvbmUucmVzb2x2ZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICByZXR1cm4gZG9uZS5wcm9taXNlO1xyXG59XHJcblxyXG5sZXQgcHVibGlzaERvY2tlciA9IGZ1bmN0aW9uKCl7XHJcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xyXG4gICAgcHJlcGFyZShcImRvY2tlclwiKVxyXG4gICAgICAgIC50aGVuKGZ1bmN0aW9uKCl7XHJcbiAgICAgICAgICAgIGJhc2ggXHJcbiAgICAgICAgICAgIGJhc2goXCJkb2NrZXIgcHVzaCBcIiArIGVudi5kb2NrZXJUYWcoKSk7XHJcbiAgICAgICAgICAgIGRvbmUucmVzb2x2ZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgcmV0dXJuIGRvbmUucHJvbWlzZTtcclxufTsiXX0=
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "npmci",
|
"name": "npmci",
|
||||||
"version": "2.1.2",
|
"version": "2.1.4",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"bin": {
|
"bin": {
|
||||||
|
|||||||
@@ -1,11 +1,19 @@
|
|||||||
import "typings-global";
|
import "typings-global";
|
||||||
import * as plugins from "./npmci.plugins";
|
import * as plugins from "./npmci.plugins";
|
||||||
import {bash} from "./npmci.bash";
|
import {bash} from "./npmci.bash";
|
||||||
|
import * as env from "./npmci.env";
|
||||||
|
|
||||||
export let build = function(commandArg){
|
export let build = function(commandArg){
|
||||||
|
switch(commandArg){
|
||||||
|
case "docker":
|
||||||
|
return docker();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let docker = function(){
|
||||||
let done = plugins.q.defer();
|
let done = plugins.q.defer();
|
||||||
let repo = new plugins.smartstring.GitRepo(process.env.CI_BUILD_REPO);
|
plugins.shelljs.exec("docker build -t " + env.dockerTag());
|
||||||
plugins.shelljs.exec("docker build -t " + repo.user + "/" + repo.repo + ":latest .");
|
|
||||||
done.resolve();
|
done.resolve();
|
||||||
return done.promise;
|
return done.promise;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,30 @@
|
|||||||
export let env = function(){
|
import "typings-global";
|
||||||
|
import * as plugins from "./npmci.plugins";
|
||||||
};
|
|
||||||
|
import {GitRepo} from "smartstring";
|
||||||
|
|
||||||
|
export let repo = new GitRepo(process.env.CI_BUILD_REPO);
|
||||||
|
export let dockerTestTag:string;
|
||||||
|
export let dockerReleaseTag:string;
|
||||||
|
|
||||||
|
export let dockerRegistry = "docker.io"; // will be set by npmci.prepare
|
||||||
|
|
||||||
|
export let dockerTagVersion = function(){
|
||||||
|
if(process.env.CI_BUILD_STAGE == "test"){
|
||||||
|
return "test";
|
||||||
|
} else {
|
||||||
|
return "latest"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export let dockerTag = function(){
|
||||||
|
return dockerRegistry + "/" + repo.user + "/" + repo.repo + ":" + dockerTagVersion() +" .";
|
||||||
|
}
|
||||||
|
|
||||||
|
export let dockerTagTest = function(){
|
||||||
|
return dockerRegistry + "/" + repo.user + "/" + repo.repo + ":test .";
|
||||||
|
}
|
||||||
|
|
||||||
|
export let dockerTagRelease = function(){
|
||||||
|
return dockerRegistry + "/" + repo.user + "/" + repo.repo + ":latest .";
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import "typings-global";
|
import "typings-global";
|
||||||
import * as plugins from "./npmci.plugins";
|
import * as plugins from "./npmci.plugins";
|
||||||
import {bash} from "./npmci.bash";
|
import {bash} from "./npmci.bash";
|
||||||
|
import * as env from "./npmci.env"
|
||||||
|
|
||||||
let npm = function(){
|
let npm = function(){
|
||||||
let done = plugins.q.defer();
|
let done = plugins.q.defer();
|
||||||
@@ -22,6 +23,7 @@ let npm = function(){
|
|||||||
|
|
||||||
let docker = function(){
|
let docker = function(){
|
||||||
let done = plugins.q.defer();
|
let done = plugins.q.defer();
|
||||||
|
env.dockerRegistry = "docker.io"
|
||||||
let dockerRegex = /^([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)/
|
let dockerRegex = /^([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)/
|
||||||
if(!process.env.NPMCI_LOGIN_DOCKER){
|
if(!process.env.NPMCI_LOGIN_DOCKER){
|
||||||
plugins.beautylog.error("You have to specify Login Data to the Docker Registry");
|
plugins.beautylog.error("You have to specify Login Data to the Docker Registry");
|
||||||
@@ -37,6 +39,7 @@ let docker = function(){
|
|||||||
|
|
||||||
let dockerGitlab = function(){
|
let dockerGitlab = function(){
|
||||||
let done = plugins.q.defer();
|
let done = plugins.q.defer();
|
||||||
|
env.dockerRegistry = "registry.gitlab.io"
|
||||||
let ciBuildToken = process.env.CI_BUILD_TOKEN
|
let ciBuildToken = process.env.CI_BUILD_TOKEN
|
||||||
plugins.shelljs.exec("docker login -u gitlab-ci-token -p " + ciBuildToken + " registry.gitlab.com");
|
plugins.shelljs.exec("docker login -u gitlab-ci-token -p " + ciBuildToken + " registry.gitlab.com");
|
||||||
done.resolve();
|
done.resolve();
|
||||||
|
|||||||
@@ -2,23 +2,15 @@ import "typings-global";
|
|||||||
import * as plugins from "./npmci.plugins";
|
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";
|
||||||
|
import * as env from "./npmci.env";
|
||||||
|
|
||||||
export let publish = (serviceArg:string = "npm") => {
|
export let publish = (serviceArg:string = "npm") => {
|
||||||
let done = plugins.q.defer();
|
|
||||||
switch (serviceArg){
|
switch (serviceArg){
|
||||||
case "npm":
|
case "npm":
|
||||||
publishNpm()
|
return publishNpm();
|
||||||
.then(function(){
|
|
||||||
done.resolve();
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
case "docker":
|
case "docker":
|
||||||
publishDocker()
|
return publishDocker();
|
||||||
.then(function(){
|
|
||||||
done.resolve();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
return done.promise;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
let publishNpm = function(){
|
let publishNpm = function(){
|
||||||
@@ -36,7 +28,8 @@ let publishDocker = function(){
|
|||||||
let done = plugins.q.defer();
|
let done = plugins.q.defer();
|
||||||
prepare("docker")
|
prepare("docker")
|
||||||
.then(function(){
|
.then(function(){
|
||||||
bash("docker push");
|
bash
|
||||||
|
bash("docker push " + env.dockerTag());
|
||||||
done.resolve();
|
done.resolve();
|
||||||
});
|
});
|
||||||
return done.promise;
|
return done.promise;
|
||||||
|
|||||||
Reference in New Issue
Block a user