add some more functionality
This commit is contained in:
@@ -6,10 +6,11 @@ let packJson = require("../package.json");
|
||||
|
||||
plugins.beautylog.info("npmci version: " + packJson.version);
|
||||
|
||||
import {build} from "./npmci.build"
|
||||
import {install} from "./npmci.install";
|
||||
import {test} from "./npmci.test";
|
||||
import {publish} from "./npmci.publish";
|
||||
import {prepare} from "./npmci.prepare";
|
||||
import {test} from "./npmci.test";
|
||||
import {trigger} from "./npmci.trigger";
|
||||
|
||||
|
||||
@@ -31,6 +32,9 @@ if (typeof command === 'undefined') {
|
||||
}
|
||||
|
||||
switch (command){
|
||||
case "build":
|
||||
build("commandArg");
|
||||
break;
|
||||
case "install":
|
||||
install(commandOption);
|
||||
break;
|
||||
|
@@ -4,5 +4,8 @@ import {bash} from "./npmci.bash";
|
||||
|
||||
export let build = function(commandArg){
|
||||
let done = plugins.q.defer();
|
||||
let repo = new plugins.smartstring.GitRepo(process.env.CI_BUILD_REPO);
|
||||
plugins.shelljs.exec("docker build -t " + repo.user + "/" + repo.repo + ":latest .");
|
||||
done.resolve();
|
||||
return done.promise;
|
||||
}
|
@@ -5,4 +5,5 @@ export let q = require("q");
|
||||
export let request = require("request");
|
||||
export let shelljs = require("shelljs");
|
||||
export let smartssh = require("smartssh");
|
||||
export import smartstring = require("smartstring");
|
||||
export import smartfile = require("smartfile");
|
@@ -2,21 +2,6 @@ import "typings-global";
|
||||
import * as plugins from "./npmci.plugins";
|
||||
import {bash} from "./npmci.bash";
|
||||
|
||||
let docker = function(){
|
||||
let done = plugins.q.defer();
|
||||
let dockerRegex = /^([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)/
|
||||
if(!process.env.NPMCI_LOGIN_DOCKER){
|
||||
plugins.beautylog.error("You have to specify Login Data to the Docker Registry");
|
||||
process.exit(1);
|
||||
}
|
||||
let dockerRegexResultArray = dockerRegex.exec(process.env.NPMCI_LOGIN_DOCKER);
|
||||
let username = dockerRegexResultArray[1];
|
||||
let password = dockerRegexResultArray[2];
|
||||
plugins.shelljs.exec("docker login -u " + username + " -p " + password);
|
||||
done.resolve();
|
||||
return done.promise;
|
||||
}
|
||||
|
||||
let npm = function(){
|
||||
let done = plugins.q.defer();
|
||||
|
||||
@@ -35,11 +20,38 @@ let npm = function(){
|
||||
return done.promise;
|
||||
};
|
||||
|
||||
let docker = function(){
|
||||
let done = plugins.q.defer();
|
||||
let dockerRegex = /^([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)/
|
||||
if(!process.env.NPMCI_LOGIN_DOCKER){
|
||||
plugins.beautylog.error("You have to specify Login Data to the Docker Registry");
|
||||
process.exit(1);
|
||||
}
|
||||
let dockerRegexResultArray = dockerRegex.exec(process.env.NPMCI_LOGIN_DOCKER);
|
||||
let username = dockerRegexResultArray[1];
|
||||
let password = dockerRegexResultArray[2];
|
||||
plugins.shelljs.exec("docker login -u " + username + " -p " + password);
|
||||
done.resolve();
|
||||
return done.promise;
|
||||
}
|
||||
|
||||
let dockerGitlab = function(){
|
||||
let done = plugins.q.defer();
|
||||
let ciBuildToken = process.env.CI_BUILD_TOKEN
|
||||
plugins.shelljs.exec("docker login -u gitlab-ci-token -p " + ciBuildToken + " registry.gitlab.com");
|
||||
done.resolve();
|
||||
return done.promise;
|
||||
}
|
||||
|
||||
export let prepare = function(serviceArg:string){
|
||||
switch (serviceArg) {
|
||||
case "npm":
|
||||
return npm();
|
||||
case "docker":
|
||||
return docker();
|
||||
case "docker-gitlab":
|
||||
return dockerGitlab();
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user