Browse Source

Added branch checkout corresponding to environment

production
Pradeep Bhaskaran 4 years ago
parent
commit
cc52603a03
1 changed files with 26 additions and 2 deletions
  1. 26
    2
      index.js

+ 26
- 2
index.js View File

@@ -18,7 +18,8 @@ const cliargs = require('../elxr/cliargs'); // Use minimist...
const processedArgs = cliargs(process.argv.slice(2));
console.dir(processedArgs)

var path = require('path')
var path = require('path');
const { isMaster } = require('cluster');
// Serialize a set of functions that will execute to return a promises one after the other.
// Will stop when any one fails.
function any(iterable, continueOnFailure) {
@@ -533,6 +534,12 @@ var __runcmd = function(label){
kill(serverPid)
}
, 'use' : ()=>{
// use a certain named instance.
// Eg :
// 1) elxr use elixir
// 2) elxr use cihsr
// If environment is not specified defaults to development.
// 1) NODE=test elxr use elixir

var runconfig = { NODE_ENV : process.env.NODE_ENV }
try { runconfig = Object.assign(runconfig, require('../run.js')) } catch(e) { }
@@ -569,6 +576,18 @@ var __runcmd = function(label){
// console.log(process.env.cwd)
fs.writeFileSync('./run.js', 'module.exports = ' + JSON.stringify(runconfig))
var checkoutMap = {
'development' : 'master',
}

// -b fails...
var performCheckout = (repo)=>{
return nodeShellExec('git', ['checkout', checkoutMap[runconfig.NODE_ENV] || runconfig.NODE_ENV], {
inherit : true, shell: true,
cwd : repo
}).catch((e)=>{ console.error(e) })
}

any(tasks).then(()=>{
if(!processedArgs.runas) return op['runas']()

@@ -595,7 +614,12 @@ var __runcmd = function(label){
]
)
}
return any(tasks).then(()=>{

return any(tasks.concat([
any(gitRepos.map((repo)=>performCheckout(repo))),
any(elevatedRunasRepos.map((repo)=>performCheckout(repo)))
])
).then(()=>{
fs.writeFileSync('run.done', 'success')
}).catch(()=>{
fs.writeFileSync('run.done', 'error')

Loading…
Cancel
Save