Compare commits
17 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 229c3ae27b | |||
| 19e3aa3721 | |||
| a965cf38c8 | |||
| 7924ba26a2 | |||
| 361d45e086 | |||
| cb7cb852ea | |||
| 61720f47be | |||
| b435fc6bdf | |||
| 70ad41ab86 | |||
| d67109b4bc | |||
| a29e04f9e3 | |||
| 9634ca3b4d | |||
| d2e7488868 | |||
| bb44333d70 | |||
| 87f6adeda4 | |||
| 6334396bfc | |||
| 7a33252f2f |
@@ -2,8 +2,9 @@ image: hosttoday/ht-docker-node:lts
|
||||
|
||||
stages:
|
||||
- release
|
||||
- test
|
||||
- trigger
|
||||
- test
|
||||
|
||||
|
||||
before_script:
|
||||
- npm install -g npmci
|
||||
|
||||
56
dist/npmci.build.docker.js
vendored
56
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.18",
|
||||
"version": "2.1.26",
|
||||
"description": "",
|
||||
"main": "dist/index.js",
|
||||
"bin": {
|
||||
@@ -32,7 +32,7 @@
|
||||
"shelljs": "^0.7.0",
|
||||
"smartfile": "^3.0.10",
|
||||
"smartssh": "^1.0.5",
|
||||
"smartstring": "^2.0.4",
|
||||
"smartstring": "^2.0.6",
|
||||
"through2": "^2.0.1",
|
||||
"typings-global": "^1.0.3"
|
||||
}
|
||||
|
||||
@@ -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 done = plugins.q.defer();
|
||||
let redoSort:boolean;
|
||||
let sortFunction = function(){
|
||||
redoSort = false;
|
||||
let notYetBuiltImages:string[] = [];
|
||||
NpmciEnv.dockerFiles.forEach((dockerFileArg)=>{
|
||||
notYetBuiltImages.push(dockerFileArg.cleanTag);
|
||||
});
|
||||
NpmciEnv.dockerFiles.sort(function(a,b){
|
||||
plugins.beautylog.log("sort build order for Dockerimages");
|
||||
let aIndex = notYetBuiltImages.indexOf(a.cleanTag);
|
||||
if(aIndex != -1){notYetBuiltImages.splice(aIndex,1)}
|
||||
if(notYetBuiltImages.indexOf(b.cleanTag) != -1){
|
||||
redoSort = true;
|
||||
return -1;
|
||||
} else {
|
||||
return 0
|
||||
let sortableArray = NpmciEnv.dockerFiles;
|
||||
let sortedArray:Dockerfile[] = [];
|
||||
let sorterFunctionCounter:number = 0;
|
||||
let sorterFunction = function(){
|
||||
let cleanTags = cleanTagsArrayFunction();
|
||||
sortableArray.forEach((dockerfileArg)=>{
|
||||
if(cleanTags.indexOf(dockerfileArg.baseImage) == -1){
|
||||
let dockerfileArgIndex = sortableArray.indexOf(dockerfileArg);
|
||||
sortableArray.splice(dockerfileArgIndex);
|
||||
sortedArray.push(dockerfileArg);
|
||||
}
|
||||
});
|
||||
if(redoSort){
|
||||
sortFunction();
|
||||
} else {
|
||||
if(sortableArray.length == 0){
|
||||
console.log(sortedArray);
|
||||
NpmciEnv.dockerFiles = sortedArray;
|
||||
done.resolve();
|
||||
}
|
||||
};
|
||||
sortFunction();
|
||||
} else if (sorterFunctionCounter < 100) {
|
||||
sorterFunctionCounter++;
|
||||
sorterFunction();
|
||||
};
|
||||
}
|
||||
sorterFunction();
|
||||
return done.promise;
|
||||
}
|
||||
|
||||
@@ -125,12 +130,12 @@ let dockerBaseImage = function(dockerfileContentArg:string){
|
||||
export let dockerTag = function(repoArg:string,versionArg:string):string{
|
||||
let tagString:string;
|
||||
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";
|
||||
}
|
||||
let repo = repoArg;
|
||||
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";
|
||||
}
|
||||
tagString = registry + "/" + repo + ":" + version;
|
||||
|
||||
Reference in New Issue
Block a user