now testing shell

This commit is contained in:
Philipp Kunz 2016-06-05 14:55:08 +02:00
parent 3300f177ca
commit faef4da6be
7 changed files with 65 additions and 22 deletions

View File

@ -1,2 +1,3 @@
import "typings-global"; import "typings-global";
export declare let bash: (commandArg: any) => void; export declare let bash: (commandArg: any) => void;
export declare let bashBare: (commandArg: any) => void;

28
dist/npmci.bash.js vendored
View File

@ -2,12 +2,28 @@
require("typings-global"); require("typings-global");
var plugins = require("./npmci.plugins"); var plugins = require("./npmci.plugins");
exports.bash = function (commandArg) { exports.bash = function (commandArg) {
var exitCode = plugins.shelljs.exec("bash -c \"source /usr/local/nvm/nvm.sh &&" + if (!process.env.NPMTS_TEST) {
commandArg + var exitCode = plugins.shelljs.exec("bash -c \"source /usr/local/nvm/nvm.sh &&" +
"\"").code; commandArg +
if (exitCode !== 0) { "\"").code;
process.exit(1); if (exitCode !== 0) {
process.exit(1);
}
}
else {
plugins.beautylog.log("ShellExec would be: " + commandArg.blue);
}
};
exports.bashBare = function (commandArg) {
if (!process.env.NPMTS_TEST) {
var exitCode = plugins.shelljs.exec(commandArg).code;
if (exitCode !== 0) {
process.exit(1);
}
}
else {
plugins.beautylog.log("ShellExec would be: " + commandArg.blue);
} }
}; };
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmJhc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQ2hDLFlBQUksR0FBRyxVQUFDLFVBQVU7SUFDekIsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQy9CLDJDQUEyQztRQUMzQyxVQUFVO1FBQ1YsSUFBSSxDQUNQLENBQUMsSUFBSSxDQUFDO0lBQ1AsRUFBRSxDQUFBLENBQUMsUUFBUSxLQUFLLENBQUMsQ0FBQyxDQUFBLENBQUM7UUFDZixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7QUFDTCxDQUFDLENBQUEiLCJmaWxlIjoibnBtY2kuYmFzaC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcbmV4cG9ydCBsZXQgYmFzaCA9IChjb21tYW5kQXJnKSA9PiB7XG4gICAgbGV0IGV4aXRDb2RlID0gcGx1Z2lucy5zaGVsbGpzLmV4ZWMoXG4gICAgICAgIFwiYmFzaCAtYyBcXFwic291cmNlIC91c3IvbG9jYWwvbnZtL252bS5zaCAmJlwiICtcbiAgICAgICAgY29tbWFuZEFyZyArXG4gICAgICAgIFwiXFxcIlwiXG4gICAgKS5jb2RlO1xuICAgIGlmKGV4aXRDb2RlICE9PSAwKXtcbiAgICAgICAgcHJvY2Vzcy5leGl0KDEpO1xuICAgIH1cbn0iXX0= //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmJhc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQ2hDLFlBQUksR0FBRyxVQUFDLFVBQVU7SUFDekIsRUFBRSxDQUFBLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFBLENBQUM7UUFDeEIsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQy9CLDJDQUEyQztZQUMzQyxVQUFVO1lBQ1YsSUFBSSxDQUNQLENBQUMsSUFBSSxDQUFDO1FBQ1AsRUFBRSxDQUFBLENBQUMsUUFBUSxLQUFLLENBQUMsQ0FBQyxDQUFBLENBQUM7WUFDZixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLENBQUM7SUFDTCxDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDbkUsQ0FBQztBQUNMLENBQUMsQ0FBQTtBQUVVLGdCQUFRLEdBQUcsVUFBQyxVQUFVO0lBQzdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQSxDQUFDO1FBQ3pCLElBQUksUUFBUSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNyRCxFQUFFLENBQUEsQ0FBQyxRQUFRLEtBQUssQ0FBQyxDQUFDLENBQUEsQ0FBQztZQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEIsQ0FBQztJQUNMLENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNKLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHNCQUFzQixHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNuRSxDQUFDO0FBQ0wsQ0FBQyxDQUFBIiwiZmlsZSI6Im5wbWNpLmJhc2guanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9ucG1jaS5wbHVnaW5zXCI7XG5leHBvcnQgbGV0IGJhc2ggPSAoY29tbWFuZEFyZykgPT4ge1xuICAgIGlmKCFwcm9jZXNzLmVudi5OUE1UU19URVNUKXtcbiAgICAgICAgbGV0IGV4aXRDb2RlID0gcGx1Z2lucy5zaGVsbGpzLmV4ZWMoXG4gICAgICAgICAgICBcImJhc2ggLWMgXFxcInNvdXJjZSAvdXNyL2xvY2FsL252bS9udm0uc2ggJiZcIiArXG4gICAgICAgICAgICBjb21tYW5kQXJnICtcbiAgICAgICAgICAgIFwiXFxcIlwiXG4gICAgICAgICkuY29kZTtcbiAgICAgICAgaWYoZXhpdENvZGUgIT09IDApe1xuICAgICAgICAgICAgcHJvY2Vzcy5leGl0KDEpO1xuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cubG9nKFwiU2hlbGxFeGVjIHdvdWxkIGJlOiBcIiArIGNvbW1hbmRBcmcuYmx1ZSlcbiAgICB9XG59XG5cbmV4cG9ydCBsZXQgYmFzaEJhcmUgPSAoY29tbWFuZEFyZykgPT4ge1xuICAgIGlmICghcHJvY2Vzcy5lbnYuTlBNVFNfVEVTVCl7XG4gICAgICAgIGxldCBleGl0Q29kZSA9IHBsdWdpbnMuc2hlbGxqcy5leGVjKGNvbW1hbmRBcmcpLmNvZGU7XG4gICAgICAgIGlmKGV4aXRDb2RlICE9PSAwKXtcbiAgICAgICAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmxvZyhcIlNoZWxsRXhlYyB3b3VsZCBiZTogXCIgKyBjb21tYW5kQXJnLmJsdWUpXG4gICAgfVxufSJdfQ==

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -4,6 +4,7 @@ import path = require("path");
import * as beautylog from "beautylog" import * as beautylog from "beautylog"
//set up environment //set up environment
process.env.CI_BUILD_REPO = "https://yyyyyy:xxxxxxxx@gitlab.com/mygroup/myrepo.git"; process.env.CI_BUILD_REPO = "https://yyyyyy:xxxxxxxx@gitlab.com/mygroup/myrepo.git";
process.env.NPMTS_TEST = "true";
process.cwd = () => { process.cwd = () => {
return path.join(__dirname,"assets/"); return path.join(__dirname,"assets/");
}; };
@ -39,6 +40,12 @@ describe("NPMCI",function(){
console.log(sortedArrayArg); console.log(sortedArrayArg);
done(); done();
}) })
});
it("should correctly chain Dockerfile handling",function(done){
NpmciBuildDocker.build()
.then(()=>{
done();
});
}) })
}) })
}) })

View File

@ -1,16 +1,27 @@
import "typings-global"; import "typings-global";
import * as plugins from "./npmci.plugins"; import * as plugins from "./npmci.plugins";
export let bash = (commandArg) => { export let bash = (commandArg) => {
let exitCode = plugins.shelljs.exec( if(!process.env.NPMTS_TEST){
"bash -c \"source /usr/local/nvm/nvm.sh &&" + let exitCode = plugins.shelljs.exec(
commandArg + "bash -c \"source /usr/local/nvm/nvm.sh &&" +
"\"" commandArg +
).code; "\""
if(exitCode !== 0){ ).code;
process.exit(1); if(exitCode !== 0){
process.exit(1);
}
} else {
plugins.beautylog.log("ShellExec would be: " + commandArg.blue)
} }
} }
export let bashBare = () => { export let bashBare = (commandArg) => {
if (!process.env.NPMTS_TEST){
let exitCode = plugins.shelljs.exec(commandArg).code;
if(exitCode !== 0){
process.exit(1);
}
} else {
plugins.beautylog.log("ShellExec would be: " + commandArg.blue)
}
} }

View File

@ -1,6 +1,6 @@
import * as plugins from "./npmci.plugins" import * as plugins from "./npmci.plugins"
import * as NpmciEnv from "./npmci.env"; import * as NpmciEnv from "./npmci.env";
import {bashBare} from "./npmci.bash";
export let build = function(){ export let build = function(){
let done = plugins.q.defer(); let done = plugins.q.defer();
readDockerfiles() readDockerfiles()
@ -104,7 +104,7 @@ export class Dockerfile {
if(!this.buildTag){ if(!this.buildTag){
this.patchContents(); this.patchContents();
let tag = dockerTag(this.repo,this.version); let tag = dockerTag(this.repo,this.version);
plugins.shelljs.exec("docker build -t " + tag + " -f " + this.filePath + " ."); bashBare("docker build -t " + tag + " -f " + this.filePath + " .");
this.buildTag = tag; this.buildTag = tag;
NpmciEnv.dockerFilesBuilt.push(this); NpmciEnv.dockerFilesBuilt.push(this);
this.restoreContents(); this.restoreContents();
@ -115,7 +115,7 @@ export class Dockerfile {
}; };
push(){ push(){
if(this.buildTag){ if(this.buildTag){
plugins.shelljs.exec("docker push " + this.buildTag); bashBare("docker push " + this.buildTag);
} else { } else {
plugins.beautylog.error("Dockerfile hasn't been built yet!"); plugins.beautylog.error("Dockerfile hasn't been built yet!");
} }