Compare commits

...

17 Commits

Author SHA1 Message Date
229c3ae27b 2.1.26 2016-06-05 11:08:23 +02:00
19e3aa3721 better sorter function 2016-06-05 11:08:20 +02:00
a965cf38c8 2.1.25 2016-06-05 10:24:00 +02:00
7924ba26a2 now sorting Dockerfiles correctly 2016-06-05 10:23:55 +02:00
361d45e086 2.1.24 2016-06-05 10:11:07 +02:00
cb7cb852ea now sorting Dockerfiles correctly 2016-06-05 10:11:01 +02:00
61720f47be 2.1.23 2016-06-05 09:42:14 +02:00
b435fc6bdf update smartstring 2016-06-05 09:42:08 +02:00
70ad41ab86 fix gitlab.yml 2016-06-05 09:38:11 +02:00
d67109b4bc 2.1.22 2016-06-05 09:34:21 +02:00
a29e04f9e3 fix gitlab.yml 2016-06-05 09:33:51 +02:00
9634ca3b4d 2.1.21 2016-06-05 08:53:52 +02:00
d2e7488868 fix 2016-06-05 08:53:46 +02:00
bb44333d70 2.1.20 2016-06-05 08:30:12 +02:00
87f6adeda4 fix 2016-06-05 08:30:08 +02:00
6334396bfc 2.1.19 2016-06-05 08:19:59 +02:00
7a33252f2f fix 2016-06-05 08:19:03 +02:00
4 changed files with 62 additions and 54 deletions

View File

@@ -2,8 +2,9 @@ image: hosttoday/ht-docker-node:lts
stages: stages:
- release - release
- test
- trigger - trigger
- test
before_script: before_script:
- npm install -g npmci - npm install -g npmci

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,6 @@
{ {
"name": "npmci", "name": "npmci",
"version": "2.1.18", "version": "2.1.26",
"description": "", "description": "",
"main": "dist/index.js", "main": "dist/index.js",
"bin": { "bin": {
@@ -32,7 +32,7 @@
"shelljs": "^0.7.0", "shelljs": "^0.7.0",
"smartfile": "^3.0.10", "smartfile": "^3.0.10",
"smartssh": "^1.0.5", "smartssh": "^1.0.5",
"smartstring": "^2.0.4", "smartstring": "^2.0.6",
"through2": "^2.0.1", "through2": "^2.0.1",
"typings-global": "^1.0.3" "typings-global": "^1.0.3"
} }

View File

@@ -27,33 +27,38 @@ let readDockerfiles = function(){
}); });
} }
let cleanTagsArrayFunction = function(){
let cleanTagsArray = [];
NpmciEnv.dockerFiles.forEach(function(dockerfileArg){
cleanTagsArray.push(dockerfileArg.cleanTag);
});
return cleanTagsArray;
}
let sortDockerfiles = function(){ let sortDockerfiles = function(){
let done = plugins.q.defer(); let done = plugins.q.defer();
let redoSort:boolean; let sortableArray = NpmciEnv.dockerFiles;
let sortFunction = function(){ let sortedArray:Dockerfile[] = [];
redoSort = false; let sorterFunctionCounter:number = 0;
let notYetBuiltImages:string[] = []; let sorterFunction = function(){
NpmciEnv.dockerFiles.forEach((dockerFileArg)=>{ let cleanTags = cleanTagsArrayFunction();
notYetBuiltImages.push(dockerFileArg.cleanTag); sortableArray.forEach((dockerfileArg)=>{
}); if(cleanTags.indexOf(dockerfileArg.baseImage) == -1){
NpmciEnv.dockerFiles.sort(function(a,b){ let dockerfileArgIndex = sortableArray.indexOf(dockerfileArg);
plugins.beautylog.log("sort build order for Dockerimages"); sortableArray.splice(dockerfileArgIndex);
let aIndex = notYetBuiltImages.indexOf(a.cleanTag); sortedArray.push(dockerfileArg);
if(aIndex != -1){notYetBuiltImages.splice(aIndex,1)}
if(notYetBuiltImages.indexOf(b.cleanTag) != -1){
redoSort = true;
return -1;
} else {
return 0
} }
}); });
if(redoSort){ if(sortableArray.length == 0){
sortFunction(); console.log(sortedArray);
} else { NpmciEnv.dockerFiles = sortedArray;
done.resolve(); done.resolve();
} } else if (sorterFunctionCounter < 100) {
}; sorterFunctionCounter++;
sortFunction(); sorterFunction();
};
}
sorterFunction();
return done.promise; return done.promise;
} }
@@ -125,12 +130,12 @@ let dockerBaseImage = function(dockerfileContentArg:string){
export let dockerTag = function(repoArg:string,versionArg:string):string{ export let dockerTag = function(repoArg:string,versionArg:string):string{
let tagString:string; let tagString:string;
let registry = NpmciEnv.dockerRegistry; let registry = NpmciEnv.dockerRegistry;
if(process.env.CI_BUILD_STAGE == "test"){ if(process.env.CI_BUILD_STAGE == "build" || process.env.CI_BUILD_STAGE == "test"){
registry = "registry.gitlab.com"; registry = "registry.gitlab.com";
} }
let repo = repoArg; let repo = repoArg;
let version = versionArg; let version = versionArg;
if(process.env.CI_BUILD_STAGE == "test" || process.env.CI_BUILD_STAGE == "build"){ if(process.env.CI_BUILD_STAGE == "build" || process.env.CI_BUILD_STAGE == "test"){
version = version + "_test"; version = version + "_test";
} }
tagString = registry + "/" + repo + ":" + version; tagString = registry + "/" + repo + ":" + version;