start Docker configuration

This commit is contained in:
Phil Kunz
2016-07-19 00:37:13 +02:00
parent c5413ca11d
commit e222456431
12 changed files with 121 additions and 25 deletions

View File

@ -1,12 +1,5 @@
import * as plugins from "./npmdocker.plugins";
import * as paths from "./npmdocker.paths";
import * as docker from "./npmdocker.docker";
import {promisechain} from "./npmdocker.promisechain";
let config = plugins.npmextra.dataFor({
toolName:"npmdocker",
defaultSettings: {},
cwd: ""
});
import * as promisechain from "./npmdocker.promisechain";
promisechain.run();

14
ts/npmdocker.config.ts Normal file
View File

@ -0,0 +1,14 @@
import * as plugins from "./npmdocker.plugins";
import * as paths from "./npmdocker.paths";
let config = plugins.npmextra.dataFor({
toolName:"npmdocker",
defaultSettings: {},
cwd: ""
});
export let run = () => {
let done = plugins.q.defer();
done.resolve(config);
return done.promise;
}

View File

@ -4,14 +4,60 @@ import * as paths from "./npmdocker.paths";
/**
* check if docker is available
*/
export let checkDocker = () => {
let checkDocker = (configArg) => {
let done = plugins.q.defer();
if(plugins.shelljs.which("docker")){
done.resolve();
done.resolve(configArg);
} else {
done.reject(new Error("docker not found on this machine"));
}
return done.promise;
};
export let makeDockerReady = () => {};
/**
* builds the Dockerfile according to the config in the project
*/
let buildDockerFile = () => {
let done = plugins.q.defer();
return done.promise
};
/**
* builds the Dockerimage from the built Dockerfile
*/
let buildDockerImage = () => {
let done = plugins.q.defer();
return done.promise
};
/**
* creates a container by running the built Dockerimage
*/
let runDockerImage = () => {
let done = plugins.q.defer();
return done.promise
};
let deleteDockerContainter = () => {
let done = plugins.q.defer();
return done.promise
};
let deleteDockerImage = () => {
let done = plugins.q.defer();
return done.promise
};
export let run = (configArg) => {
let done = plugins.q.defer();
checkDocker(configArg)
.then(buildDockerFile)
.then(buildDockerImage)
.then(runDockerImage)
.then(deleteDockerContainter)
.then(deleteDockerImage)
.then(done.resolve)
return done.promise;
}

View File

@ -1,8 +1,14 @@
import * as plugins from "./npmdocker.plugins";
import * as paths from "./npmdocker.paths";
import * as docker from "./npmdocker.docker";
export let promisechain = () => {
//modules
import * as ConfigModule from "./npmdocker.config";
import * as DockerModule from "./npmdocker.docker";
export let run = () => {
let done = plugins.q.defer();
ConfigModule.run()
.then(DockerModule.run)
.then(done.resolve)
return done.promise;
}

13
ts/npmdocker.snippets.ts Normal file
View File

@ -0,0 +1,13 @@
import * as plugins from "./npmdocker.plugins";
export interface IDockerfileSnippet {
baseImage:string;
command:string;
}
export let dockerfileSnippet = (optionsArg:IDockerfileSnippet) => {
return `
FROM ${optionsArg.baseImage}
`
}