-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdeploy.ts
54 lines (42 loc) · 1.82 KB
/
deploy.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import cdk = require('@aws-cdk/core');
import { StaticWebsiteStack } from 'aws-cdk-static-website';
export class MyWebStack extends StaticWebsiteStack {
constructor(scope: cdk.App, id: string ) {
super(scope, id, props);
}
}
const workingPath = process.cwd();
const pkg = require(`${workingPath}/package.json`);
if (!pkg.webdeploy) {
console.error('Error, package.json should have a "webdeploy" configuration section.');
process.exit(2);
}
let props: any, stackName: string;
if (process.env['WEBDEPLOY_CONFIG_NAME'] && pkg.webdeploy[process.env['WEBDEPLOY_CONFIG_NAME'] || '']) {
const configName: any = process.env['WEBDEPLOY_CONFIG_NAME'];
console.log('Using web deploy configuration:', configName);
stackName = pkg.webdeploy[configName].stackName;
props = {
websiteDistPath: pkg.webdeploy[configName].distPath || pkg.webdeploy[configName].websiteDistPath,
deploymentVersion: pkg.webdeploy[configName].deploymentVersion || pkg.version,
resourcePrefix: pkg.webdeploy[configName].resourcePrefix,
indexDocument: pkg.webdeploy[configName].indexDocument || 'index.html',
certificateArn: pkg.webdeploy[configName].certificateArn,
domainNames: pkg.webdeploy[configName].domainNames,
};
} else {
stackName = pkg.webdeploy.stackName;
props = {
websiteDistPath: pkg.webdeploy.distPath || pkg.webdeploy.websiteDistPath,
deploymentVersion: pkg.webdeploy.deploymentVersion || pkg.version,
resourcePrefix: pkg.webdeploy.resourcePrefix,
indexDocument: pkg.webdeploy.indexDocument || 'index.html',
certificateArn: pkg.webdeploy.certificateArn,
domainNames: pkg.webdeploy.domainNames,
};
}
console.log('Using the following properties for deployment:');
console.table(props);
const app = new cdk.App();
const stack = new MyWebStack(app, stackName || pkg.name);
console.log('stack:', stack);