Compare commits
26 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 | |||
| 5316740a1a | |||
| 06bc1e59f8 | |||
| bd237ccdab | |||
| f51b556fca | |||
| 9ce29a7c24 |
@@ -1,9 +1,13 @@
|
||||
image: hosttoday/ht-docker-node:npmci
|
||||
image: hosttoday/ht-docker-node:lts
|
||||
|
||||
stages:
|
||||
- test
|
||||
- release
|
||||
- trigger
|
||||
- test
|
||||
|
||||
|
||||
before_script:
|
||||
- npm install -g npmci
|
||||
|
||||
testLTS:
|
||||
stage: test
|
||||
@@ -12,10 +16,6 @@ testLTS:
|
||||
tags:
|
||||
- docker
|
||||
|
||||
before_script:
|
||||
- npm uninstall -g npmci
|
||||
- npm install -g npmci
|
||||
|
||||
testSTABLE:
|
||||
stage: test
|
||||
script:
|
||||
|
||||
45
dist/npmci.build.docker.js
vendored
45
dist/npmci.build.docker.js
vendored
File diff suppressed because one or more lines are too long
1
dist/npmci.plugins.d.ts
vendored
1
dist/npmci.plugins.d.ts
vendored
@@ -10,3 +10,4 @@ export declare let shelljs: any;
|
||||
export import smartssh = require("smartssh");
|
||||
export import smartstring = require("smartstring");
|
||||
export import smartfile = require("smartfile");
|
||||
export declare let through2: any;
|
||||
|
||||
3
dist/npmci.plugins.js
vendored
3
dist/npmci.plugins.js
vendored
@@ -11,5 +11,6 @@ exports.shelljs = require("shelljs");
|
||||
exports.smartssh = require("smartssh");
|
||||
exports.smartstring = require("smartstring");
|
||||
exports.smartfile = require("smartfile");
|
||||
exports.through2 = require("through2");
|
||||
|
||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUNWLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDcEMsaUJBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDakMsWUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN2QixvQkFBWSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUNyQyxZQUFJLFdBQVcsTUFBTSxDQUFDLENBQUM7QUFDMUIsU0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNqQixlQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzdCLGVBQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDMUIsZ0JBQVEsV0FBVyxVQUFVLENBQUMsQ0FBQztBQUMvQixtQkFBVyxXQUFXLGFBQWEsQ0FBQyxDQUFDO0FBQ3JDLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUMiLCJmaWxlIjoibnBtY2kucGx1Z2lucy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5leHBvcnQgaW1wb3J0IGJlYXV0eWxvZyA9IHJlcXVpcmUoXCJiZWF1dHlsb2dcIik7XG5leHBvcnQgbGV0IGNvbW1hbmRlciA9IHJlcXVpcmUoXCJjb21tYW5kZXJcIik7XG5leHBvcnQgbGV0IGd1bHAgPSByZXF1aXJlKFwiZ3VscFwiKTtcbmV4cG9ydCBsZXQgZ3VscEZ1bmN0aW9uID0gcmVxdWlyZShcImd1bHAtZnVuY3Rpb25cIik7XG5leHBvcnQgaW1wb3J0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcbmV4cG9ydCBsZXQgcSA9IHJlcXVpcmUoXCJxXCIpO1xuZXhwb3J0IGxldCByZXF1ZXN0ID0gcmVxdWlyZShcInJlcXVlc3RcIik7XG5leHBvcnQgbGV0IHNoZWxsanMgPSByZXF1aXJlKFwic2hlbGxqc1wiKTtcbmV4cG9ydCBpbXBvcnQgc21hcnRzc2ggPSByZXF1aXJlKFwic21hcnRzc2hcIik7XG5leHBvcnQgaW1wb3J0IHNtYXJ0c3RyaW5nID0gcmVxdWlyZShcInNtYXJ0c3RyaW5nXCIpO1xuZXhwb3J0IGltcG9ydCBzbWFydGZpbGUgPSByZXF1aXJlKFwic21hcnRmaWxlXCIpOyJdfQ==
|
||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUNWLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDcEMsaUJBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDakMsWUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN2QixvQkFBWSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUNyQyxZQUFJLFdBQVcsTUFBTSxDQUFDLENBQUM7QUFDMUIsU0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNqQixlQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzdCLGVBQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDMUIsZ0JBQVEsV0FBVyxVQUFVLENBQUMsQ0FBQztBQUMvQixtQkFBVyxXQUFXLGFBQWEsQ0FBQyxDQUFDO0FBQ3JDLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDcEMsZ0JBQVEsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMiLCJmaWxlIjoibnBtY2kucGx1Z2lucy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5leHBvcnQgaW1wb3J0IGJlYXV0eWxvZyA9IHJlcXVpcmUoXCJiZWF1dHlsb2dcIik7XG5leHBvcnQgbGV0IGNvbW1hbmRlciA9IHJlcXVpcmUoXCJjb21tYW5kZXJcIik7XG5leHBvcnQgbGV0IGd1bHAgPSByZXF1aXJlKFwiZ3VscFwiKTtcbmV4cG9ydCBsZXQgZ3VscEZ1bmN0aW9uID0gcmVxdWlyZShcImd1bHAtZnVuY3Rpb25cIik7XG5leHBvcnQgaW1wb3J0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcbmV4cG9ydCBsZXQgcSA9IHJlcXVpcmUoXCJxXCIpO1xuZXhwb3J0IGxldCByZXF1ZXN0ID0gcmVxdWlyZShcInJlcXVlc3RcIik7XG5leHBvcnQgbGV0IHNoZWxsanMgPSByZXF1aXJlKFwic2hlbGxqc1wiKTtcbmV4cG9ydCBpbXBvcnQgc21hcnRzc2ggPSByZXF1aXJlKFwic21hcnRzc2hcIik7XG5leHBvcnQgaW1wb3J0IHNtYXJ0c3RyaW5nID0gcmVxdWlyZShcInNtYXJ0c3RyaW5nXCIpO1xuZXhwb3J0IGltcG9ydCBzbWFydGZpbGUgPSByZXF1aXJlKFwic21hcnRmaWxlXCIpO1xuZXhwb3J0IGxldCB0aHJvdWdoMiA9IHJlcXVpcmUoXCJ0aHJvdWdoMlwiKTsiXX0=
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "npmci",
|
||||
"version": "2.1.13",
|
||||
"version": "2.1.25",
|
||||
"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"
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import * as NpmciEnv from "./npmci.env";
|
||||
|
||||
export let build = function(){
|
||||
let done = plugins.q.defer();
|
||||
plugins.gulp.dest("./Dockerfile*")
|
||||
plugins.gulp.src("./Dockerfile*")
|
||||
.pipe(readDockerfiles())
|
||||
.pipe(plugins.gulpFunction(function(){
|
||||
sortDockerfiles()
|
||||
@@ -15,7 +15,7 @@ export let build = function(){
|
||||
}
|
||||
|
||||
let readDockerfiles = function(){
|
||||
return plugins.trhough2(function(file,enc,cb){
|
||||
return plugins.through2.obj(function(file,enc,cb){
|
||||
let myDockerfile = new Dockerfile({
|
||||
filePath:file.path,
|
||||
read:true
|
||||
@@ -29,31 +29,23 @@ let readDockerfiles = function(){
|
||||
|
||||
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;
|
||||
let cleanTags = [];
|
||||
NpmciEnv.dockerFiles.forEach(function(dockerfileArg){
|
||||
cleanTags.push(dockerfileArg.cleanTag);
|
||||
});
|
||||
let aIndex = cleanTags.indexOf(a.baseImage);
|
||||
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 {
|
||||
return 0
|
||||
}
|
||||
});
|
||||
if(redoSort){
|
||||
sortFunction();
|
||||
} else {
|
||||
done.resolve();
|
||||
}
|
||||
};
|
||||
sortFunction();
|
||||
return done.promise;
|
||||
}
|
||||
|
||||
@@ -108,7 +100,7 @@ let dockerFileVersion = function(dockerfileNameArg:string):string{
|
||||
let versionString:string;
|
||||
let versionRegex = /Dockerfile_([a-zA-Z0-9\.]*)$/;
|
||||
let regexResultArray = versionRegex.exec(dockerfileNameArg);
|
||||
if(regexResultArray.length = 2){
|
||||
if(regexResultArray && regexResultArray.length == 2){
|
||||
versionString = regexResultArray[1];
|
||||
} else {
|
||||
versionString = "latest";
|
||||
@@ -125,12 +117,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;
|
||||
|
||||
@@ -10,3 +10,4 @@ export let shelljs = require("shelljs");
|
||||
export import smartssh = require("smartssh");
|
||||
export import smartstring = require("smartstring");
|
||||
export import smartfile = require("smartfile");
|
||||
export let through2 = require("through2");
|
||||
Reference in New Issue
Block a user