|
|
|
|
|
|
|
|
|
|
|
|
|
|
return any(tasks).then(() => { |
|
|
return any(tasks).then(() => { |
|
|
|
|
|
|
|
|
gitRepos.push('chess-server-lib/server'); |
|
|
|
|
|
|
|
|
gitRepos.push({ repo : 'chess-server-lib/server'}); |
|
|
gitRepos = gitRepos.concat(elevatedRunasRepos); |
|
|
gitRepos = gitRepos.concat(elevatedRunasRepos); |
|
|
|
|
|
// console.dir(gitRepos) |
|
|
|
|
|
// throw "" |
|
|
|
|
|
|
|
|
// gitRepos = [ |
|
|
// gitRepos = [ |
|
|
// // 'bbhverse', 'serververse', 'elixir-server', |
|
|
// // 'bbhverse', 'serververse', 'elixir-server', |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// NODE_ENV=development DEBUG=loopback:connector:mssql node --tls-min-v1.0 --inspect elixir/server.js |
|
|
// PB : NOTE -- npm i for client does not complete when NODE_ENV=production |
|
|
// PB : NOTE -- npm i for client does not complete when NODE_ENV=production |
|
|
// therefore bower doesn't get installed !!! which then fails installing the bower dependenciew !!! |
|
|
// therefore bower doesn't get installed !!! which then fails installing the bower dependenciew !!! |
|
|
// We work around this by running npm i for client without any NODE_ENV which probably defualts to development. |
|
|
// We work around this by running npm i for client without any NODE_ENV which probably defualts to development. |
|
|
|
|
|
|
|
|
// }) |
|
|
// }) |
|
|
|
|
|
|
|
|
var bowerRepos = [{ repo : 'client'}] |
|
|
var bowerRepos = [{ repo : 'client'}] |
|
|
|
|
|
var bowertasks = [] |
|
|
bowerRepos.forEach(repodef => { |
|
|
bowerRepos.forEach(repodef => { |
|
|
repotasks.push(() => { |
|
|
|
|
|
|
|
|
bowertasks.push(() => { |
|
|
console.log(instanceroot + '/' + repodef.repo + '/node_modules/bower/bin/bower') |
|
|
console.log(instanceroot + '/' + repodef.repo + '/node_modules/bower/bin/bower') |
|
|
// var p = nodeShellExec('node_modules/bower/bin/bower', ['install'], { |
|
|
// var p = nodeShellExec('node_modules/bower/bin/bower', ['install'], { |
|
|
var p = nodeShellExec(`"${gitbash}"`, ['-c', '"node_modules/bower/bin/bower i"'], { |
|
|
var p = nodeShellExec(`"${gitbash}"`, ['-c', '"node_modules/bower/bin/bower i"'], { |
|
|
|
|
|
|
|
|
}) |
|
|
}) |
|
|
}) |
|
|
}) |
|
|
// console.log('rmtasks.length : ' + rmtasks.length) |
|
|
// console.log('rmtasks.length : ' + rmtasks.length) |
|
|
return Promise.all(rmtasks).then(() => any(repotasks)); |
|
|
|
|
|
|
|
|
return Promise.all(rmtasks).then(() => any(repotasks)).then(()=>any(bowertasks)); |
|
|
}).catch(e => { |
|
|
}).catch(e => { |
|
|
console.error(e) |
|
|
console.error(e) |
|
|
}).finally(statuslog.finally) |
|
|
}).finally(statuslog.finally) |
|
|
|
|
|
|
|
|
tasks = tasks.concat( |
|
|
tasks = tasks.concat( |
|
|
[ |
|
|
[ |
|
|
() => { |
|
|
() => { |
|
|
var p = nodeShellExec('mklink', ['/J', 'data', runconfig.use + '-data' + '-' + process.env.NODE_ENV], { |
|
|
|
|
|
|
|
|
var dataToLink = runconfig.use + '-data' + '-' + process.env.NODE_ENV |
|
|
|
|
|
if(!existsSync(dataToLink)) dataToLink = runconfig.use + '-data'; |
|
|
|
|
|
var p = nodeShellExec('mklink', ['/J', 'data', dataToLink], { |
|
|
inherit: true, shell: true |
|
|
inherit: true, shell: true |
|
|
, cwd : instanceroot |
|
|
, cwd : instanceroot |
|
|
, env: process.env |
|
|
, env: process.env |
|
|
|
|
|
|
|
|
return { |
|
|
return { |
|
|
clusterNodeInstance(selected) { var clusternodename = 'node01' |
|
|
clusterNodeInstance(selected) { var clusternodename = 'node01' |
|
|
return __acquireData(selected, selected.username, clusternodename |
|
|
return __acquireData(selected, selected.username, clusternodename |
|
|
, selected.instanceName + '-config-' + selected.node_env + `-${clusternodename}` |
|
|
|
|
|
|
|
|
, selected.instanceName + '-data-' + selected.node_env + `-${clusternodename}` |
|
|
, function(e){ console.info('Customized node level config not found. This is not an Error. Will attempt with owner level config.'); |
|
|
, function(e){ console.info('Customized node level config not found. This is not an Error. Will attempt with owner level config.'); |
|
|
return e; } |
|
|
return e; } |
|
|
) |
|
|
) |
|
|
} |
|
|
} |
|
|
, ownerInstnace(selected) { return __acquireData(selected, selected.username, null, null |
|
|
|
|
|
|
|
|
, ownerInstnace(selected) { return __acquireData(selected, selected.username, null |
|
|
|
|
|
, selected.instanceName + '-data-' + selected.node_env |
|
|
, function(e){ console.info('Customized user level config not found. This is not an Error. Will attempt global common instance config.'); |
|
|
, function(e){ console.info('Customized user level config not found. This is not an Error. Will attempt global common instance config.'); |
|
|
return e } |
|
|
return e } |
|
|
) |
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var __acquireData = function (selected, owner, clusternodename, datarepo, errHandler) { |
|
|
var __acquireData = function (selected, owner, clusternodename, datarepo, errHandler) { |
|
|
|
|
|
|
|
|
datarepo = datarepo || selected.instanceName + '-data-' + selected.node_env; |
|
|
|
|
|
|
|
|
datarepo = datarepo || selected.instanceName + '-data'; |
|
|
|
|
|
|
|
|
var errorHandler = (e) => { |
|
|
var errorHandler = (e) => { |
|
|
if(e.messages.join(' ').match(new RegExp (`fatal: unable to access '${selectedinstance.reposerver}/${owner}/${datarepo}.git/': Failed to connect to .*? port .*? after .*? ms: Timed out`))){ |
|
|
if(e.messages.join(' ').match(new RegExp (`fatal: unable to access '${selectedinstance.reposerver}/${owner}/${datarepo}.git/': Failed to connect to .*? port .*? after .*? ms: Timed out`))){ |