add some functions
This commit is contained in:
parent
42d3ecbe37
commit
e1245f24ce
16
dist/npmci.build.js
vendored
16
dist/npmci.build.js
vendored
@ -14,16 +14,26 @@ exports.build = function (commandArg) {
|
|||||||
};
|
};
|
||||||
var docker = function () {
|
var docker = function () {
|
||||||
var done = plugins.q.defer();
|
var done = plugins.q.defer();
|
||||||
plugins.shelljs.exec("docker build -t " + "registry.gitlab.com/" + env.repo.user + "/" + env.repo.repo + ":latest .");
|
plugins.shelljs.exec("docker build -t " + env.repo.user + "/" + env.repo.repo + ":latest .");
|
||||||
done.resolve();
|
done.resolve();
|
||||||
return done.promise;
|
return done.promise;
|
||||||
};
|
};
|
||||||
var dockerGitlab = function () {
|
var dockerGitlab = function () {
|
||||||
var done = plugins.q.defer();
|
var done = plugins.q.defer();
|
||||||
var repo = new plugins.smartstring.GitRepo(process.env.CI_BUILD_REPO);
|
var repo = new plugins.smartstring.GitRepo(process.env.CI_BUILD_REPO);
|
||||||
plugins.shelljs.exec("docker build -t " + "registry.gitlab.com/" + env.repo.user + "/" + env.repo.repo + ":latest .");
|
var dockerTag = "registry.gitlab.com/" + env.repo.user + "/" + env.repo.repo + ":" + dockerTagVersion() + " .";
|
||||||
|
plugins.beautylog.info("now building docker image with tag " + dockerTag);
|
||||||
|
plugins.shelljs.exec("docker build -t " + dockerTag);
|
||||||
done.resolve();
|
done.resolve();
|
||||||
return done.promise;
|
return done.promise;
|
||||||
};
|
};
|
||||||
|
var dockerTagVersion = function () {
|
||||||
|
if (process.env.CI_BUILD_STAGE == "test") {
|
||||||
|
return "test";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return "latest";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmJ1aWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFDeEIsSUFBWSxPQUFPLFdBQU0saUJBQWlCLENBQUMsQ0FBQTtBQUUzQyxJQUFZLEdBQUcsV0FBTSxhQUFhLENBQUMsQ0FBQTtBQUV4QixhQUFLLEdBQUcsVUFBUyxVQUFVO0lBQ2xDLE1BQU0sQ0FBQSxDQUFDLFVBQVUsQ0FBQyxDQUFBLENBQUM7UUFDZixLQUFLLFFBQVE7WUFDVCxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDcEIsS0FBSyxlQUFlO1lBQ2hCLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQjtZQUNJLEtBQUssQ0FBQztJQUNkLENBQUM7QUFDTCxDQUFDLENBQUE7QUFFRCxJQUFJLE1BQU0sR0FBRztJQUNULElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsc0JBQXNCLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQyxDQUFDO0lBQ3RILElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQTtBQUVELElBQUksWUFBWSxHQUFHO0lBQ2YsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3QixJQUFJLElBQUksR0FBRyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsc0JBQXNCLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQyxDQUFDO0lBQ3RILElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQSIsImZpbGUiOiJucG1jaS5idWlsZC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XHJcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vbnBtY2kucGx1Z2luc1wiO1xyXG5pbXBvcnQge2Jhc2h9IGZyb20gXCIuL25wbWNpLmJhc2hcIjtcclxuaW1wb3J0ICogYXMgZW52IGZyb20gXCIuL25wbWNpLmVudlwiO1xyXG5cclxuZXhwb3J0IGxldCBidWlsZCA9IGZ1bmN0aW9uKGNvbW1hbmRBcmcpe1xyXG4gICAgc3dpdGNoKGNvbW1hbmRBcmcpe1xyXG4gICAgICAgIGNhc2UgXCJkb2NrZXJcIjpcclxuICAgICAgICAgICAgcmV0dXJuIGRvY2tlcigpO1xyXG4gICAgICAgIGNhc2UgXCJkb2NrZXItZ2l0bGFiXCI6XHJcbiAgICAgICAgICAgIHJldHVybiBkb2NrZXJHaXRsYWIoKTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgIH1cclxufVxyXG5cclxubGV0IGRvY2tlciA9IGZ1bmN0aW9uKCl7XHJcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xyXG4gICAgcGx1Z2lucy5zaGVsbGpzLmV4ZWMoXCJkb2NrZXIgYnVpbGQgLXQgXCIgKyBcInJlZ2lzdHJ5LmdpdGxhYi5jb20vXCIgKyBlbnYucmVwby51c2VyICsgXCIvXCIgKyBlbnYucmVwby5yZXBvICsgXCI6bGF0ZXN0IC5cIik7XHJcbiAgICBkb25lLnJlc29sdmUoKTtcclxuICAgIHJldHVybiBkb25lLnByb21pc2U7XHJcbn1cclxuXHJcbmxldCBkb2NrZXJHaXRsYWIgPSBmdW5jdGlvbigpe1xyXG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcclxuICAgIGxldCByZXBvID0gbmV3IHBsdWdpbnMuc21hcnRzdHJpbmcuR2l0UmVwbyhwcm9jZXNzLmVudi5DSV9CVUlMRF9SRVBPKTtcclxuICAgIHBsdWdpbnMuc2hlbGxqcy5leGVjKFwiZG9ja2VyIGJ1aWxkIC10IFwiICsgXCJyZWdpc3RyeS5naXRsYWIuY29tL1wiICsgZW52LnJlcG8udXNlciArIFwiL1wiICsgZW52LnJlcG8ucmVwbyArIFwiOmxhdGVzdCAuXCIpO1xyXG4gICAgZG9uZS5yZXNvbHZlKCk7XHJcbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xyXG59Il19
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmJ1aWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFDeEIsSUFBWSxPQUFPLFdBQU0saUJBQWlCLENBQUMsQ0FBQTtBQUUzQyxJQUFZLEdBQUcsV0FBTSxhQUFhLENBQUMsQ0FBQTtBQUV4QixhQUFLLEdBQUcsVUFBUyxVQUFVO0lBQ2xDLE1BQU0sQ0FBQSxDQUFDLFVBQVUsQ0FBQyxDQUFBLENBQUM7UUFDZixLQUFLLFFBQVE7WUFDVCxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDcEIsS0FBSyxlQUFlO1lBQ2hCLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQjtZQUNJLEtBQUssQ0FBQztJQUNkLENBQUM7QUFDTCxDQUFDLENBQUE7QUFFRCxJQUFJLE1BQU0sR0FBRztJQUNULElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQyxDQUFDO0lBQzdGLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQTtBQUVELElBQUksWUFBWSxHQUFHO0lBQ2YsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3QixJQUFJLElBQUksR0FBRyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEUsSUFBSSxTQUFTLEdBQUcsc0JBQXNCLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxnQkFBZ0IsRUFBRSxHQUFFLElBQUksQ0FBQztJQUM5RyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxxQ0FBcUMsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUMxRSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUNyRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDZixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN4QixDQUFDLENBQUE7QUFFRCxJQUFJLGdCQUFnQixHQUFHO0lBQ25CLEVBQUUsQ0FBQSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxJQUFJLE1BQU0sQ0FBQyxDQUFBLENBQUM7UUFDckMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixNQUFNLENBQUMsUUFBUSxDQUFBO0lBQ25CLENBQUM7QUFDTCxDQUFDLENBQUEiLCJmaWxlIjoibnBtY2kuYnVpbGQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xyXG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcclxuaW1wb3J0IHtiYXNofSBmcm9tIFwiLi9ucG1jaS5iYXNoXCI7XHJcbmltcG9ydCAqIGFzIGVudiBmcm9tIFwiLi9ucG1jaS5lbnZcIjtcclxuXHJcbmV4cG9ydCBsZXQgYnVpbGQgPSBmdW5jdGlvbihjb21tYW5kQXJnKXtcclxuICAgIHN3aXRjaChjb21tYW5kQXJnKXtcclxuICAgICAgICBjYXNlIFwiZG9ja2VyXCI6XHJcbiAgICAgICAgICAgIHJldHVybiBkb2NrZXIoKTtcclxuICAgICAgICBjYXNlIFwiZG9ja2VyLWdpdGxhYlwiOlxyXG4gICAgICAgICAgICByZXR1cm4gZG9ja2VyR2l0bGFiKCk7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbn1cclxuXHJcbmxldCBkb2NrZXIgPSBmdW5jdGlvbigpe1xyXG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcclxuICAgIHBsdWdpbnMuc2hlbGxqcy5leGVjKFwiZG9ja2VyIGJ1aWxkIC10IFwiICsgZW52LnJlcG8udXNlciArIFwiL1wiICsgZW52LnJlcG8ucmVwbyArIFwiOmxhdGVzdCAuXCIpO1xyXG4gICAgZG9uZS5yZXNvbHZlKCk7XHJcbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xyXG59XHJcblxyXG5sZXQgZG9ja2VyR2l0bGFiID0gZnVuY3Rpb24oKXtcclxuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XHJcbiAgICBsZXQgcmVwbyA9IG5ldyBwbHVnaW5zLnNtYXJ0c3RyaW5nLkdpdFJlcG8ocHJvY2Vzcy5lbnYuQ0lfQlVJTERfUkVQTyk7XHJcbiAgICBsZXQgZG9ja2VyVGFnID0gXCJyZWdpc3RyeS5naXRsYWIuY29tL1wiICsgZW52LnJlcG8udXNlciArIFwiL1wiICsgZW52LnJlcG8ucmVwbyArIFwiOlwiICsgZG9ja2VyVGFnVmVyc2lvbigpICtcIiAuXCI7XHJcbiAgICBwbHVnaW5zLmJlYXV0eWxvZy5pbmZvKFwibm93IGJ1aWxkaW5nIGRvY2tlciBpbWFnZSB3aXRoIHRhZyBcIiArIGRvY2tlclRhZyk7XHJcbiAgICBwbHVnaW5zLnNoZWxsanMuZXhlYyhcImRvY2tlciBidWlsZCAtdCBcIiArIGRvY2tlclRhZyk7XHJcbiAgICBkb25lLnJlc29sdmUoKTtcclxuICAgIHJldHVybiBkb25lLnByb21pc2U7XHJcbn1cclxuXHJcbmxldCBkb2NrZXJUYWdWZXJzaW9uID0gZnVuY3Rpb24oKXtcclxuICAgIGlmKHByb2Nlc3MuZW52LkNJX0JVSUxEX1NUQUdFID09IFwidGVzdFwiKXtcclxuICAgICAgICByZXR1cm4gXCJ0ZXN0XCI7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBcImxhdGVzdFwiXHJcbiAgICB9XHJcbn0iXX0=
|
||||||
|
@ -6,25 +6,14 @@ import * as env from "./npmci.env";
|
|||||||
export let build = function(commandArg){
|
export let build = function(commandArg){
|
||||||
switch(commandArg){
|
switch(commandArg){
|
||||||
case "docker":
|
case "docker":
|
||||||
return docker();
|
return docker();
|
||||||
case "docker-gitlab":
|
|
||||||
return dockerGitlab();
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let docker = function(){
|
let docker = function(){
|
||||||
let done = plugins.q.defer();
|
let done = plugins.q.defer();
|
||||||
plugins.shelljs.exec("docker build -t " + "registry.gitlab.com/" + env.repo.user + "/" + env.repo.repo + ":latest .");
|
plugins.shelljs.exec("docker build -t " + env.dockerTag());
|
||||||
done.resolve();
|
done.resolve();
|
||||||
return done.promise;
|
return done.promise;
|
||||||
}
|
}
|
||||||
|
|
||||||
let dockerGitlab = function(){
|
|
||||||
let done = plugins.q.defer();
|
|
||||||
let repo = new plugins.smartstring.GitRepo(process.env.CI_BUILD_REPO);
|
|
||||||
plugins.shelljs.exec("docker build -t " + "registry.gitlab.com/" + env.repo.user + "/" + env.repo.repo + ":latest .");
|
|
||||||
done.resolve();
|
|
||||||
return done.promise;
|
|
||||||
}
|
|
@ -6,3 +6,25 @@ import {GitRepo} from "smartstring";
|
|||||||
export let repo = new GitRepo(process.env.CI_BUILD_REPO);
|
export let repo = new GitRepo(process.env.CI_BUILD_REPO);
|
||||||
export let dockerTestTag:string;
|
export let dockerTestTag:string;
|
||||||
export let dockerReleaseTag: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();
|
||||||
|
@ -4,21 +4,12 @@ import {prepare} from "./npmci.prepare";
|
|||||||
import {bash} from "./npmci.bash";
|
import {bash} from "./npmci.bash";
|
||||||
|
|
||||||
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 +27,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 ");
|
||||||
done.resolve();
|
done.resolve();
|
||||||
});
|
});
|
||||||
return done.promise;
|
return done.promise;
|
||||||
|
Loading…
Reference in New Issue
Block a user