rel.js 3.65 KB
var config=require('config');
module.exports={
	info:{
		summary:"tools per rilasci in test",
		state:"ok".red
		},
	execute:function(process,tool){
		var env = "operations";
		var op = process.argv[3];
		var commit = process.argv[4];
		if(env!=null && op!=null){
			//console.log("finding server "+name.red+" on "+env.red);
			var operations;
			if(env==="operations") operations = this.list.operations;
				for(i in operations){
					if(operations[i].name===op){
							switch(op){
							case "ncctest":
								this.releaseNccTest(commit);
								break;
							case "nccprod":
								this.releaseNccProd(commit);
								break;	
							case "test":
								this.test();
							default:
								console.log("default case");
							}

							
					}
				}	
		}	

		if(op==null){
			console.log("\n--------------------"+"OPERAZIONI PER I RILACI".red+"----------------------------");
			tool.task(this.list.operations);
		}
	},
	/**
	 * [releaseNccProd crea un pacchetto di NCC utile per un pip di PRODUZIONE]
	 * @param  {[type]} commit [commit di cui fare il pakage]
	 * @return {[type]}        [description]
	 */
	releaseNccProd:function(commit){
		var projectnccprod=config.get('nccprodconfig.projectdir');
		var releasedirnccprod=config.get('nccprodconfig.releasedir');
		console.log("rilascio on project "+projectnccprod.red+"   commit "+commit.red);		
		console.log("********************************");
		console.log("** START - CREAZIONE PACCHETTO NCC PROD per la commit: "+commit.red);
		console.log("********************************");
		var exec = require('child_process').exec;
		var cmd = 'start exit | git-cmd sh '+mainDir+'\\scripts\\ncc_deploy_prod.sh '+projectnccprod+' '+commit+' '+releasedirnccprod;
		exec(cmd, function(error, stdout, stderr) {
			console.log(stdout);
			console.log("****************************");
		  	console.log("** END - CREAZIONE PACCHETTO NCC PROD per la commit: "+commit.red);
		  	console.log("****************************");
		});
	},
	/**
	 * [releaseNccTest effettua un rilascio per NCC di TEST eseguendo lo script ../scripts/ncc_deploy_test.sh]
	 * @param  {[type]} commit [description]
	 * @return {[type]}        [description]
	 */
	releaseNccTest:function(commit){
		var projectnccTest=config.get('ncctestconfig.projectdir');
		console.log("rilascio on project "+projectnccTest.red+"   commit "+commit.red);		
		console.log("*******************************");
		console.log("** START - RILASCIO IN TEST commit: "+commit.red+"");
		console.log("*******************************");
		var exec = require('child_process').exec;
		var cmd = 'start exit | git-cmd sh '+mainDir+'\\scripts\\ncc_deploy_test.sh '+projectnccTest+' '+commit+'';
		exec(cmd, function(error, stdout, stderr) {
			console.log(stdout);
			console.log("*****************************");
		  	console.log("** END - RILASCIO IN TEST commit: "+commit.red);
		  	console.log("*****************************");
		});
		
	},
	/**
	 * [test description]
	 * @return {[type]} [description]
	 */
	test:function(){
		var test="pippo";
		console.log("rilascio on project "+test.red+"   commit "+test.red);		
		console.log("******************************************************");
		console.log(String("**** START - RILASCIO IN TEST commit: ").red+test.red);
		console.log("******************************************************");
	},

	list:{operations:[{
					name:"ncctest",
					summary:"effettua il rilascio della commit <par1> in TEST (copia anche i file in ftp)",
					state:"1"
				},
				{
					name:"nccprod",
					summary:"crea il pacchetto di PROD NCC per la commit <par1> e copia il pacchetto nel path condiviso",
					state:"1"
				},
				{
					name:"test",
					summary:"test",
					state:"1"
				}
				]
		}
}