Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0acb6ad351 | |||
| c33e0c622b | |||
| 5085e86c9b | |||
| 3ea8265a75 | |||
| d7e4efc2c0 | |||
| 7ca0171658 | |||
| 87d8a4401e | |||
| 8b5cf3bb5f |
18
dist/npmci.build.docker.js
vendored
18
dist/npmci.build.docker.js
vendored
File diff suppressed because one or more lines are too long
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "npmci",
|
||||
"version": "2.1.36",
|
||||
"version": "2.1.39",
|
||||
"description": "",
|
||||
"main": "dist/index.js",
|
||||
"bin": {
|
||||
|
||||
@@ -35,16 +35,16 @@ export let readDockerfiles = function(){
|
||||
|
||||
export let sortDockerfiles = function(sortableArrayArg:Dockerfile[]){
|
||||
let done = plugins.q.defer();
|
||||
let sortedArray:Dockerfile[] = [];
|
||||
let trackingArray:Dockerfile[] = [];
|
||||
let sortedArray:Dockerfile[] = [];
|
||||
let cleanTagsOriginal = cleanTagsArrayFunction(sortableArrayArg,sortedArray);
|
||||
let sorterFunctionCounter:number = 0;
|
||||
let sorterFunction = function(){
|
||||
sortableArrayArg.forEach((dockerfileArg)=>{
|
||||
let cleanTags = cleanTagsArrayFunction(sortableArrayArg,trackingArray);
|
||||
if(cleanTags.indexOf(dockerfileArg.baseImage) == -1 && trackingArray.indexOf(dockerfileArg) == -1){
|
||||
let cleanTags = cleanTagsArrayFunction(sortableArrayArg,sortedArray);
|
||||
if(cleanTags.indexOf(dockerfileArg.baseImage) == -1 && sortedArray.indexOf(dockerfileArg) == -1){
|
||||
sortedArray.push(dockerfileArg);
|
||||
trackingArray.push(dockerfileArg);
|
||||
} else if(cleanTags.indexOf(dockerfileArg.baseImage) != -1){
|
||||
};
|
||||
if(cleanTagsOriginal.indexOf(dockerfileArg.baseImage) != -1){
|
||||
dockerfileArg.localBaseImageDependent = true;
|
||||
};
|
||||
});
|
||||
@@ -147,6 +147,7 @@ export class Dockerfile {
|
||||
this.localBaseImageDependent = false;
|
||||
};
|
||||
build(){
|
||||
plugins.beautylog.info("now building Dockerfile for " + this.cleanTag);
|
||||
let done = plugins.q.defer();
|
||||
this.patchContents();
|
||||
bashBare("docker build -t " + this.buildTag + " -f " + this.filePath + " .");
|
||||
@@ -175,7 +176,7 @@ export class Dockerfile {
|
||||
if(testExists){
|
||||
bashBare("docker run -v " +
|
||||
plugins.path.join(paths.NpmciProjectDir,"./test") + ":/test/ " +
|
||||
"--name " + this.containerName + " /test/" + "test_" + this.version + ".sh");
|
||||
"--name " + this.containerName + " " + this.buildTag + " /test/" + "test_" + this.version + ".sh");
|
||||
} else {
|
||||
plugins.beautylog.warn("skipping tests for " + this.cleanTag + " because no testfile was found!");
|
||||
}
|
||||
@@ -185,12 +186,13 @@ export class Dockerfile {
|
||||
bashBare("docker push " + this.releaseTag);
|
||||
}
|
||||
getId(){
|
||||
let containerId = bashBare("docker inspect --format=\"{{.Id}}\" " + this.buildTag);
|
||||
let containerId = bashBare("docker inspect --type=image --format=\"{{.Id}}\" " + this.buildTag);
|
||||
return containerId;
|
||||
};
|
||||
patchContents(){
|
||||
let done = plugins.q.defer();
|
||||
if(this.localBaseImageDependent == true){
|
||||
plugins.beautylog.info("patching Dockerfile due to local build dependency!");
|
||||
this.patchedContent = this.content.replace(/FROM\s[a-zA-Z0-9\/\-\:]*/, 'FROM ' + this.localBaseDockerfile.buildTag);
|
||||
plugins.smartfile.memory.toFsSync(
|
||||
this.patchedContent,
|
||||
|
||||
Reference in New Issue
Block a user