Skip to content

Commit

Permalink
fix(deployer): Installs and compiles additional .gbapps on server sta…
Browse files Browse the repository at this point in the history
…rtup.
  • Loading branch information
rodrigorodriguez committed Dec 26, 2018
1 parent dd92032 commit cfe5cd2
Showing 1 changed file with 32 additions and 12 deletions.
44 changes: 32 additions & 12 deletions packages/core.gbapp/services/GBDeployer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ const express = require('express');
const child_process = require('child_process');

import { GBMinInstance, IGBCoreService, IGBInstance } from 'botlib';
import { GBError,IGBPackage } from 'botlib';
import { GBError, IGBPackage } from 'botlib';
import { AzureSearch } from 'pragmatismo-io-framework';
import { AzureDeployerService } from '../../azuredeployer.gbapp/services/AzureDeployerService';
import { GuaribasInstance, GuaribasPackage } from '../models/GBModel';
Expand Down Expand Up @@ -375,18 +375,38 @@ export class GBDeployer {
// Skips .gbapp inside deploy folder.
if (!e.startsWith('packages')) {
logger.info(`Deploying app: ${e}...`);
import(e)
.then(m => {
const p = new m.Package();
p.loadPackage(core, core.sequelize);
appPackages.push(p);
logger.info(`App (.gbapp) deployed: ${e}.`);
appPackagesProcessed++;
})
.catch(err => {
logger.error(`Error deploying App (.gbapp): ${e}: ${err}`);

let folder = Path.join(e, 'node_modules');
if (!Fs.existsSync(folder)) {
logger.info(`Installing modules for ${e}...`);
child_process.execSync('npm install', { cwd: e });
}

folder = Path.join(e, 'dist');
if (!Fs.existsSync()) {
logger.info(`Compiling ${e}...`);

try {
child_process.execSync(Path.join(e, 'node_modules/.bin/tsc'), { cwd: e });
import(e)
.then(m => {
const p = new m.Package();
p.loadPackage(core, core.sequelize);
appPackages.push(p);
logger.info(`App (.gbapp) deployed: ${e}.`);
appPackagesProcessed++;
})
.catch(err => {
logger.error(`Error deploying .gbapp package: ${e}\n${err}`);
appPackagesProcessed++;
});

} catch (error) {
logger.error(`Error compiling .gbapp package ${e}:\n${error.stdout.toString()}`);
appPackagesProcessed++;
});
}
}

} else {
appPackagesProcessed++;
}
Expand Down

0 comments on commit cfe5cd2

Please sign in to comment.