Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a965cf38c8 | |||
| 7924ba26a2 | |||
| 361d45e086 | |||
| cb7cb852ea | |||
| 61720f47be | |||
| b435fc6bdf | |||
| 70ad41ab86 | |||
| d67109b4bc | |||
| a29e04f9e3 | |||
| 9634ca3b4d | |||
| d2e7488868 | |||
| bb44333d70 | |||
| 87f6adeda4 | |||
| 6334396bfc | |||
| 7a33252f2f | |||
| b7068b7b53 | |||
| 1e5b56a388 | |||
| 786de4ae18 | |||
| 62ee8a26a4 | |||
| f544aef054 | |||
| cb6867dbde |
@@ -1,9 +1,10 @@
|
|||||||
image: hosttoday/ht-docker-node:lts
|
image: hosttoday/ht-docker-node:lts
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- test
|
|
||||||
- release
|
- release
|
||||||
- trigger
|
- trigger
|
||||||
|
- test
|
||||||
|
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- npm install -g npmci
|
- npm install -g npmci
|
||||||
|
|||||||
43
dist/npmci.build.docker.js
vendored
43
dist/npmci.build.docker.js
vendored
File diff suppressed because one or more lines are too long
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "npmci",
|
"name": "npmci",
|
||||||
"version": "2.1.15",
|
"version": "2.1.25",
|
||||||
"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"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ export let build = function(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
let readDockerfiles = function(){
|
let readDockerfiles = function(){
|
||||||
return plugins.through2(function(file,enc,cb){
|
return plugins.through2.obj(function(file,enc,cb){
|
||||||
let myDockerfile = new Dockerfile({
|
let myDockerfile = new Dockerfile({
|
||||||
filePath:file.path,
|
filePath:file.path,
|
||||||
read:true
|
read:true
|
||||||
@@ -29,31 +29,23 @@ let readDockerfiles = function(){
|
|||||||
|
|
||||||
let sortDockerfiles = function(){
|
let sortDockerfiles = function(){
|
||||||
let done = plugins.q.defer();
|
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){
|
NpmciEnv.dockerFiles.sort(function(a,b){
|
||||||
plugins.beautylog.log("sort build order for Dockerimages");
|
let cleanTags = [];
|
||||||
let aIndex = notYetBuiltImages.indexOf(a.cleanTag);
|
NpmciEnv.dockerFiles.forEach(function(dockerfileArg){
|
||||||
if(aIndex != -1){notYetBuiltImages.splice(aIndex,1)}
|
cleanTags.push(dockerfileArg.cleanTag);
|
||||||
if(notYetBuiltImages.indexOf(b.cleanTag) != -1){
|
});
|
||||||
redoSort = true;
|
let aIndex = cleanTags.indexOf(a.baseImage);
|
||||||
return -1;
|
let bIndex = cleanTags.indexOf(b.cleanTag);
|
||||||
|
console.log(cleanTags);
|
||||||
|
console.log(a.baseImage,aIndex);
|
||||||
|
console.log(b.cleanTag,bIndex);
|
||||||
|
if(aIndex < bIndex && bIndex != -1){
|
||||||
|
return 1;
|
||||||
} else {
|
} else {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if(redoSort){
|
|
||||||
sortFunction();
|
|
||||||
} else {
|
|
||||||
done.resolve();
|
done.resolve();
|
||||||
}
|
|
||||||
};
|
|
||||||
sortFunction();
|
|
||||||
return done.promise;
|
return done.promise;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -108,7 +100,7 @@ let dockerFileVersion = function(dockerfileNameArg:string):string{
|
|||||||
let versionString:string;
|
let versionString:string;
|
||||||
let versionRegex = /Dockerfile_([a-zA-Z0-9\.]*)$/;
|
let versionRegex = /Dockerfile_([a-zA-Z0-9\.]*)$/;
|
||||||
let regexResultArray = versionRegex.exec(dockerfileNameArg);
|
let regexResultArray = versionRegex.exec(dockerfileNameArg);
|
||||||
if(regexResultArray.length = 2){
|
if(regexResultArray && regexResultArray.length == 2){
|
||||||
versionString = regexResultArray[1];
|
versionString = regexResultArray[1];
|
||||||
} else {
|
} else {
|
||||||
versionString = "latest";
|
versionString = "latest";
|
||||||
@@ -125,12 +117,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;
|
||||||
|
|||||||
Reference in New Issue
Block a user