@pwrdrvr/microapps-publish 0.0.16 → 0.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DeployClient.d.ts +5 -4
- package/dist/DeployClient.d.ts.map +1 -1
- package/dist/DeployClient.js +3 -1
- package/dist/DeployClient.js.map +1 -1
- package/dist/S3TransferUtility.d.ts.map +1 -1
- package/dist/S3TransferUtility.js +1 -0
- package/dist/S3TransferUtility.js.map +1 -1
- package/dist/index.d.ts +27 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +182 -87
- package/dist/index.js.map +1 -1
- package/package.json +6 -1
- package/src/DeployClient.ts +9 -2
- package/src/S3TransferUtility.ts +1 -0
- package/src/index.ts +221 -112
package/dist/DeployClient.d.ts
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import * as lambda from '@aws-sdk/client-lambda';
|
|
2
2
|
import { IDeployVersionPreflightResponse } from '@pwrdrvr/microapps-deployer';
|
|
3
3
|
import { IConfig } from './config/Config';
|
|
4
|
+
export interface IDeployVersionPreflightResult {
|
|
5
|
+
exists: boolean;
|
|
6
|
+
response: IDeployVersionPreflightResponse;
|
|
7
|
+
}
|
|
4
8
|
export default class DeployClient {
|
|
5
9
|
static readonly _client: lambda.LambdaClient;
|
|
6
10
|
static readonly _decoder: TextDecoder;
|
|
7
11
|
static CreateApp(config: IConfig): Promise<void>;
|
|
8
|
-
static DeployVersionPreflight(config: IConfig): Promise<
|
|
9
|
-
exists: boolean;
|
|
10
|
-
response: IDeployVersionPreflightResponse;
|
|
11
|
-
}>;
|
|
12
|
+
static DeployVersionPreflight(config: IConfig): Promise<IDeployVersionPreflightResult>;
|
|
12
13
|
static DeployVersion(config: IConfig): Promise<void>;
|
|
13
14
|
}
|
|
14
15
|
//# sourceMappingURL=DeployClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeployClient.d.ts","sourceRoot":"","sources":["../src/DeployClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AAGjD,OAAO,EAEL,+BAA+B,EAIhC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,MAAM,CAAC,QAAQ,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"DeployClient.d.ts","sourceRoot":"","sources":["../src/DeployClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AAGjD,OAAO,EAEL,+BAA+B,EAIhC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,+BAA+B,CAAC;CAC3C;AAED,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,MAAM,CAAC,QAAQ,CAAC,OAAO,sBAEpB;IACH,MAAM,CAAC,QAAQ,CAAC,QAAQ,cAA4B;WAEhC,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;WAyBzC,sBAAsB,CACxC,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,6BAA6B,CAAC;WA4BrB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CA4BlE"}
|
package/dist/DeployClient.js
CHANGED
|
@@ -74,6 +74,8 @@ class DeployClient {
|
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
exports.default = DeployClient;
|
|
77
|
-
DeployClient._client = new lambda.LambdaClient({
|
|
77
|
+
DeployClient._client = new lambda.LambdaClient({
|
|
78
|
+
maxAttempts: 8,
|
|
79
|
+
});
|
|
78
80
|
DeployClient._decoder = new TextDecoder('utf-8');
|
|
79
81
|
//# sourceMappingURL=DeployClient.js.map
|
package/dist/DeployClient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeployClient.js","sourceRoot":"","sources":["../src/DeployClient.ts"],"names":[],"mappings":";;;AAAA,uEAAiD;
|
|
1
|
+
{"version":3,"file":"DeployClient.js","sourceRoot":"","sources":["../src/DeployClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"S3TransferUtility.d.ts","sourceRoot":"","sources":["../src/S3TransferUtility.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAI9E,MAAM,CAAC,OAAO,OAAO,iBAAiB;WAChB,SAAS,CAC3B,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,+BAA+B,GACjD,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"S3TransferUtility.d.ts","sourceRoot":"","sources":["../src/S3TransferUtility.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAI9E,MAAM,CAAC,OAAO,OAAO,iBAAiB;WAChB,SAAS,CAC3B,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,+BAA+B,GACjD,OAAO,CAAC,IAAI,CAAC;mBAqDK,QAAQ;CAU9B"}
|
|
@@ -14,6 +14,7 @@ class S3TransferUtility {
|
|
|
14
14
|
static async UploadDir(s3Path, destPrefixPath, bucketName, preflightResponse) {
|
|
15
15
|
// Use temp credentials for S3
|
|
16
16
|
const s3Client = new s3.S3Client({
|
|
17
|
+
maxAttempts: 16,
|
|
17
18
|
credentials: {
|
|
18
19
|
accessKeyId: preflightResponse.awsCredentials.accessKeyId,
|
|
19
20
|
secretAccessKey: preflightResponse.awsCredentials.secretAccessKey,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"S3TransferUtility.js","sourceRoot":"","sources":["../src/S3TransferUtility.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,oDAAoD;AACpD,EAAE;;;AAEF,2BAAsD;AACtD,mDAA6B;AAC7B,+DAAyC;AACzC,sDAA8C;AAG9C,2CAAyC;AACzC,0DAAyB;AAEzB,MAAqB,iBAAiB;IAC7B,MAAM,CAAC,KAAK,CAAC,SAAS,CAC3B,MAAc,EACd,cAAsB,EACtB,UAAkB,EAClB,iBAAkD;QAElD,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,IAAI,EAAE,CAAC,QAAQ,CAAC;YAC/B,WAAW,EAAE;gBACX,WAAW,EAAE,iBAAiB,CAAC,cAAc,CAAC,WAAW;gBACzD,eAAe,EAAE,iBAAiB,CAAC,cAAc,CAAC,eAAe;gBACjE,YAAY,EAAE,iBAAiB,CAAC,cAAc,CAAC,YAAY;aAC5D;SACF,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,CAAC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAa,CAAC;QACrE,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC/D,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE;YAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,KAAK,WAAW,EAAE,CAAC,CAAC;SACjC;QAED,wCAAwC;QACxC,MAAM,eAAI,CACR,KAAK,EACL,KAAK,EAAE,QAAQ,EAAE,EAAE;YACjB,qDAAqD;YACrD,MAAM,MAAM,GAAG,IAAI,oBAAM,CAAC;gBACxB,MAAM,EAAE,QAAQ;gBAChB,iBAAiB,EAAE,KAAK;gBACxB,MAAM,EAAE;oBACN,MAAM,EAAE,UAAU;oBAClB,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;oBACpC,IAAI,EAAE,qBAAgB,CAAC,QAAQ,CAAC;oBAChC,WAAW,EAAE,wBAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,0BAA0B;oBAC/E,YAAY,EAAE,uBAAuB;iBACtC;aACF,CAAC,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC,EACD;YACE,WAAW,EAAE,EAAE;SAChB,CASF,CAAC;IACJ,CAAC;IACD,0BAA0B;IAC1B,8CAA8C;IAEtC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAW;QACvC,MAAM,OAAO,GAAG,MAAM,aAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACrB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3C,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACtE,CAAC,CAAC,CACH,CAAC;QACF,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC;IAC1C,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"S3TransferUtility.js","sourceRoot":"","sources":["../src/S3TransferUtility.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,oDAAoD;AACpD,EAAE;;;AAEF,2BAAsD;AACtD,mDAA6B;AAC7B,+DAAyC;AACzC,sDAA8C;AAG9C,2CAAyC;AACzC,0DAAyB;AAEzB,MAAqB,iBAAiB;IAC7B,MAAM,CAAC,KAAK,CAAC,SAAS,CAC3B,MAAc,EACd,cAAsB,EACtB,UAAkB,EAClB,iBAAkD;QAElD,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,IAAI,EAAE,CAAC,QAAQ,CAAC;YAC/B,WAAW,EAAE,EAAE;YACf,WAAW,EAAE;gBACX,WAAW,EAAE,iBAAiB,CAAC,cAAc,CAAC,WAAW;gBACzD,eAAe,EAAE,iBAAiB,CAAC,cAAc,CAAC,eAAe;gBACjE,YAAY,EAAE,iBAAiB,CAAC,cAAc,CAAC,YAAY;aAC5D;SACF,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,CAAC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAa,CAAC;QACrE,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC/D,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE;YAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,KAAK,WAAW,EAAE,CAAC,CAAC;SACjC;QAED,wCAAwC;QACxC,MAAM,eAAI,CACR,KAAK,EACL,KAAK,EAAE,QAAQ,EAAE,EAAE;YACjB,qDAAqD;YACrD,MAAM,MAAM,GAAG,IAAI,oBAAM,CAAC;gBACxB,MAAM,EAAE,QAAQ;gBAChB,iBAAiB,EAAE,KAAK;gBACxB,MAAM,EAAE;oBACN,MAAM,EAAE,UAAU;oBAClB,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;oBACpC,IAAI,EAAE,qBAAgB,CAAC,QAAQ,CAAC;oBAChC,WAAW,EAAE,wBAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,0BAA0B;oBAC/E,YAAY,EAAE,uBAAuB;iBACtC;aACF,CAAC,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC,EACD;YACE,WAAW,EAAE,EAAE;SAChB,CASF,CAAC;IACJ,CAAC;IACD,0BAA0B;IAC1B,8CAA8C;IAEtC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAW;QACvC,MAAM,OAAO,GAAG,MAAM,aAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACrB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3C,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACtE,CAAC,CAAC,CACH,CAAC;QACF,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC;IAC1C,CAAC;CACF;AArED,oCAqEC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,31 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import 'source-map-support/register';
|
|
3
3
|
import 'reflect-metadata';
|
|
4
|
+
import { Command, flags as flagsParser } from '@oclif/command';
|
|
5
|
+
import { IConfig as OCLIFIConfig } from '@oclif/config';
|
|
6
|
+
declare class PublishTool extends Command {
|
|
7
|
+
static flags: {
|
|
8
|
+
version: import("@oclif/parser/lib/flags").IBooleanFlag<void>;
|
|
9
|
+
help: import("@oclif/parser/lib/flags").IBooleanFlag<void>;
|
|
10
|
+
deployerLambdaName: flagsParser.IOptionFlag<string>;
|
|
11
|
+
newVersion: flagsParser.IOptionFlag<string>;
|
|
12
|
+
repoName: flagsParser.IOptionFlag<string>;
|
|
13
|
+
leaveCopy: import("@oclif/parser/lib/flags").IBooleanFlag<boolean>;
|
|
14
|
+
};
|
|
15
|
+
private static escapeRegExp;
|
|
16
|
+
private VersionAndAlias;
|
|
17
|
+
private IMAGE_TAG;
|
|
18
|
+
private IMAGE_URI;
|
|
19
|
+
private FILES_TO_MODIFY;
|
|
20
|
+
private _restoreFilesStarted;
|
|
21
|
+
constructor(argv: string[], config: OCLIFIConfig);
|
|
22
|
+
run(): Promise<void>;
|
|
23
|
+
restoreFiles(): Promise<void>;
|
|
24
|
+
private createVersions;
|
|
25
|
+
private writeNewVersions;
|
|
26
|
+
private loginToECR;
|
|
27
|
+
private publishToECR;
|
|
28
|
+
private deployToLambda;
|
|
29
|
+
}
|
|
30
|
+
export default PublishTool;
|
|
4
31
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAGA,OAAO,6BAA6B,CAAC;AAErC,OAAO,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAGA,OAAO,6BAA6B,CAAC;AAErC,OAAO,kBAAkB,CAAC;AAK1B,OAAO,EAAE,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,eAAe,CAAC;AA2BxD,cAAM,WAAY,SAAQ,OAAO;IAC/B,MAAM,CAAC,KAAK;;;;;;;MA6BV;IAGF,OAAO,CAAC,MAAM,CAAC,YAAY;IAI3B,OAAO,CAAC,eAAe,CAAY;IACnC,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,eAAe,CAGnB;IACJ,OAAO,CAAC,oBAAoB,CAAS;gBAEzB,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY;IAK1C,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAgOb,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB1C,OAAO,CAAC,cAAc;YAIR,gBAAgB;YA0ChB,UAAU;YAeV,YAAY;YAQZ,cAAc;CAgD7B;AAKD,eAAe,WAAW,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -7,30 +7,27 @@ require("source-map-support/register");
|
|
|
7
7
|
// Used by ts-convict
|
|
8
8
|
require("reflect-metadata");
|
|
9
9
|
const child_process_1 = require("child_process");
|
|
10
|
-
const path_1 = require("path");
|
|
11
10
|
const util = tslib_1.__importStar(require("util"));
|
|
12
11
|
const lambda = tslib_1.__importStar(require("@aws-sdk/client-lambda"));
|
|
13
12
|
const sts = tslib_1.__importStar(require("@aws-sdk/client-sts"));
|
|
14
|
-
const
|
|
13
|
+
const command_1 = require("@oclif/command");
|
|
14
|
+
const errors_1 = require("@oclif/errors");
|
|
15
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
15
16
|
const fs_extra_1 = require("fs-extra");
|
|
17
|
+
const listr2_1 = require("listr2");
|
|
16
18
|
const Config_1 = require("./config/Config");
|
|
17
19
|
const DeployClient_1 = tslib_1.__importDefault(require("./DeployClient"));
|
|
18
20
|
const S3Uploader_1 = tslib_1.__importDefault(require("./S3Uploader"));
|
|
19
21
|
const asyncSetTimeout = util.promisify(setTimeout);
|
|
20
22
|
const asyncExec = util.promisify(child_process_1.exec);
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
.option('--repo-name [name]', 'Name (not URI) of the Docker repo for the app')
|
|
30
|
-
.parse(process.argv);
|
|
31
|
-
const lambdaClient = new lambda.LambdaClient({});
|
|
32
|
-
class PublishTool {
|
|
33
|
-
constructor() {
|
|
23
|
+
const RUNNING_TEXT = ' RUNS ';
|
|
24
|
+
const RUNNING = chalk_1.default.reset.inverse.yellow.bold(RUNNING_TEXT) + ' ';
|
|
25
|
+
const lambdaClient = new lambda.LambdaClient({
|
|
26
|
+
maxAttempts: 8,
|
|
27
|
+
});
|
|
28
|
+
class PublishTool extends command_1.Command {
|
|
29
|
+
constructor(argv, config) {
|
|
30
|
+
super(argv, config);
|
|
34
31
|
this.IMAGE_TAG = '';
|
|
35
32
|
this.IMAGE_URI = '';
|
|
36
33
|
this._restoreFilesStarted = false;
|
|
@@ -40,20 +37,12 @@ class PublishTool {
|
|
|
40
37
|
static escapeRegExp(value) {
|
|
41
38
|
return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
|
|
42
39
|
}
|
|
43
|
-
async
|
|
44
|
-
const
|
|
45
|
-
const version =
|
|
46
|
-
const leaveFiles =
|
|
47
|
-
const lambdaName =
|
|
48
|
-
const ecrRepo =
|
|
49
|
-
if (lambdaName === undefined) {
|
|
50
|
-
console.log('--deployer-lambda-name [lambdaName] is a required parameter');
|
|
51
|
-
process.exit(1);
|
|
52
|
-
}
|
|
53
|
-
if (version === undefined) {
|
|
54
|
-
console.log('--new-version [version] is a required parameter');
|
|
55
|
-
process.exit(1);
|
|
56
|
-
}
|
|
40
|
+
async run() {
|
|
41
|
+
const { flags: parsedFlags } = this.parse(PublishTool);
|
|
42
|
+
const version = parsedFlags.newVersion;
|
|
43
|
+
const leaveFiles = parsedFlags.leaveCopy;
|
|
44
|
+
const lambdaName = parsedFlags.deployerLambdaName;
|
|
45
|
+
const ecrRepo = parsedFlags.repoName;
|
|
57
46
|
// Override the config value
|
|
58
47
|
const config = Config_1.Config.instance;
|
|
59
48
|
config.deployer.lambdaName = lambdaName;
|
|
@@ -61,7 +50,9 @@ class PublishTool {
|
|
|
61
50
|
// Get the account ID and region from STS
|
|
62
51
|
// TODO: Move this to the right place
|
|
63
52
|
if (config.app.awsAccountID === 0 || config.app.awsRegion === '') {
|
|
64
|
-
const stsClient = new sts.STSClient({
|
|
53
|
+
const stsClient = new sts.STSClient({
|
|
54
|
+
maxAttempts: 8,
|
|
55
|
+
});
|
|
65
56
|
const stsResponse = await stsClient.send(new sts.GetCallerIdentityCommand({}));
|
|
66
57
|
if (config.app.awsAccountID === 0) {
|
|
67
58
|
config.app.awsAccountID = parseInt(stsResponse.Account, 10);
|
|
@@ -98,61 +89,135 @@ class PublishTool {
|
|
|
98
89
|
await S3Uploader_1.default.removeTempDirIfExists();
|
|
99
90
|
await this.restoreFiles();
|
|
100
91
|
});
|
|
92
|
+
if (config === undefined) {
|
|
93
|
+
this.error('Failed to load the config file');
|
|
94
|
+
}
|
|
95
|
+
if (config.app.staticAssetsPath === undefined) {
|
|
96
|
+
this.error('StaticAssetsPath must be specified in the config file');
|
|
97
|
+
}
|
|
98
|
+
//
|
|
99
|
+
// TODO: Setup Tasks
|
|
100
|
+
//
|
|
101
|
+
const tasks = new listr2_1.Listr([
|
|
102
|
+
{
|
|
103
|
+
title: 'Logging into ECR',
|
|
104
|
+
task: async (ctx, task) => {
|
|
105
|
+
const origTitle = task.title;
|
|
106
|
+
task.title = RUNNING + origTitle;
|
|
107
|
+
await this.loginToECR(config);
|
|
108
|
+
task.title = origTitle;
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
title: 'Modifying Config Files',
|
|
113
|
+
task: async (ctx, task) => {
|
|
114
|
+
const origTitle = task.title;
|
|
115
|
+
task.title = RUNNING + origTitle;
|
|
116
|
+
// Modify the existing files with the new version
|
|
117
|
+
for (const fileToModify of this.FILES_TO_MODIFY) {
|
|
118
|
+
task.output = `Patching version (${this.VersionAndAlias.version}) into ${fileToModify.path}`;
|
|
119
|
+
if (!(await this.writeNewVersions(fileToModify.path, fileToModify.versions, leaveFiles))) {
|
|
120
|
+
task.output = `Failed modifying file: ${fileToModify.path}`;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
task.title = origTitle;
|
|
124
|
+
},
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
title: 'Preflight Version Check',
|
|
128
|
+
task: async (ctx, task) => {
|
|
129
|
+
const origTitle = task.title;
|
|
130
|
+
task.title = RUNNING + origTitle;
|
|
131
|
+
// Confirm the Version Does Not Exist in Published State
|
|
132
|
+
task.output = `Checking if deployed app/version already exists for ${config.app.name}/${version}`;
|
|
133
|
+
ctx.preflightResult = await DeployClient_1.default.DeployVersionPreflight(config);
|
|
134
|
+
if (ctx.preflightResult.exists) {
|
|
135
|
+
task.output = `Warning: App/Version already exists: ${config.app.name}/${config.app.semVer}`;
|
|
136
|
+
}
|
|
137
|
+
task.title = origTitle;
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
title: 'Serverless Next.js Build',
|
|
142
|
+
task: async (ctx, task) => {
|
|
143
|
+
const origTitle = task.title;
|
|
144
|
+
task.title = RUNNING + origTitle;
|
|
145
|
+
task.output = `Invoking serverless next.js build for ${config.app.name}/${version}`;
|
|
146
|
+
// Run the serverless next.js build
|
|
147
|
+
await asyncExec('serverless');
|
|
148
|
+
if (config.app.serverlessNextRouterPath !== undefined) {
|
|
149
|
+
task.output = 'Copying Serverless Next.js router to build output directory';
|
|
150
|
+
await fs_extra_1.promises.copyFile(config.app.serverlessNextRouterPath, './.serverless_nextjs/index.js');
|
|
151
|
+
}
|
|
152
|
+
task.title = origTitle;
|
|
153
|
+
},
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
title: 'Publish to ECR',
|
|
157
|
+
task: async (ctx, task) => {
|
|
158
|
+
const origTitle = task.title;
|
|
159
|
+
task.title = RUNNING + origTitle;
|
|
160
|
+
// Docker, build, tag, push to ECR
|
|
161
|
+
// Note: Need to already have AWS env vars set
|
|
162
|
+
await this.publishToECR(config);
|
|
163
|
+
task.title = origTitle;
|
|
164
|
+
},
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
title: 'Deploy to Lambda',
|
|
168
|
+
task: async (ctx, task) => {
|
|
169
|
+
const origTitle = task.title;
|
|
170
|
+
task.title = RUNNING + origTitle;
|
|
171
|
+
// Update the Lambda function
|
|
172
|
+
await this.deployToLambda(config, this.VersionAndAlias);
|
|
173
|
+
task.title = origTitle;
|
|
174
|
+
},
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
title: 'Confirm Static Assets Folder Exists',
|
|
178
|
+
task: async (ctx, task) => {
|
|
179
|
+
const origTitle = task.title;
|
|
180
|
+
task.title = RUNNING + origTitle;
|
|
181
|
+
// Check that Static Assets Folder exists
|
|
182
|
+
if (!(await fs_extra_1.pathExists(config.app.staticAssetsPath))) {
|
|
183
|
+
this.error(`Static asset path does not exist: ${config.app.staticAssetsPath}`);
|
|
184
|
+
}
|
|
185
|
+
task.title = origTitle;
|
|
186
|
+
},
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
title: 'Upload Files to S3 Staging AppName/Version Prefix',
|
|
190
|
+
task: async (ctx, task) => {
|
|
191
|
+
const origTitle = task.title;
|
|
192
|
+
task.title = RUNNING + origTitle;
|
|
193
|
+
// Upload Files to S3 Staging AppName/Version Prefix
|
|
194
|
+
await S3Uploader_1.default.Upload(config, ctx.preflightResult.response.s3UploadUrl, ctx.preflightResult.response);
|
|
195
|
+
task.title = origTitle;
|
|
196
|
+
},
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
title: `Creating MicroApp Application: ${config.app.name}`,
|
|
200
|
+
task: async (ctx, task) => {
|
|
201
|
+
const origTitle = task.title;
|
|
202
|
+
task.title = RUNNING + origTitle;
|
|
203
|
+
// Call Deployer to Create App if Not Exists
|
|
204
|
+
await DeployClient_1.default.CreateApp(config);
|
|
205
|
+
task.title = origTitle;
|
|
206
|
+
},
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
title: `Creating MicroApp Version: ${config.app.semVer}`,
|
|
210
|
+
task: async (ctx, task) => {
|
|
211
|
+
const origTitle = task.title;
|
|
212
|
+
task.title = RUNNING + origTitle;
|
|
213
|
+
// Call Deployer to Deploy AppName/Version
|
|
214
|
+
await DeployClient_1.default.DeployVersion(config);
|
|
215
|
+
task.title = origTitle;
|
|
216
|
+
},
|
|
217
|
+
},
|
|
218
|
+
]);
|
|
101
219
|
try {
|
|
102
|
-
|
|
103
|
-
for (const fileToModify of this.FILES_TO_MODIFY) {
|
|
104
|
-
console.log(`Patching version (${this.VersionAndAlias.version}) into ${fileToModify.path}`);
|
|
105
|
-
if (!(await this.writeNewVersions(fileToModify.path, fileToModify.versions, leaveFiles))) {
|
|
106
|
-
console.log(`Failed modifying file: ${fileToModify.path}`);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
if (config === undefined) {
|
|
110
|
-
throw new Error('Failed to load the config file');
|
|
111
|
-
}
|
|
112
|
-
if (config.app.staticAssetsPath === undefined) {
|
|
113
|
-
throw new Error('StaticAssetsPath must be specified in the config file');
|
|
114
|
-
}
|
|
115
|
-
await this.loginToECR(config);
|
|
116
|
-
// Confirm the Version Does Not Exist in Published State
|
|
117
|
-
console.log(`Checking if deployed app/version already exists for ${config.app.name}/${version}`);
|
|
118
|
-
const preflightResponse = await DeployClient_1.default.DeployVersionPreflight(config);
|
|
119
|
-
if (preflightResponse.exists) {
|
|
120
|
-
console.log(`Warning: App/Version already exists: ${config.app.name}/${config.app.semVer}`);
|
|
121
|
-
}
|
|
122
|
-
console.log(`Invoking serverless next.js build for ${config.app.name}/${version}`);
|
|
123
|
-
// Run the serverless next.js build
|
|
124
|
-
await asyncExec('serverless');
|
|
125
|
-
if (config.app.serverlessNextRouterPath !== undefined) {
|
|
126
|
-
console.log('Copying Serverless Next.js router to build output directory');
|
|
127
|
-
await fs_extra_1.promises.copyFile(config.app.serverlessNextRouterPath, './.serverless_nextjs/index.js');
|
|
128
|
-
}
|
|
129
|
-
// Docker, build, tag, push to ECR
|
|
130
|
-
// Note: Need to already have AWS env vars set
|
|
131
|
-
await this.publishToECR(config);
|
|
132
|
-
// Update the Lambda function
|
|
133
|
-
await this.deployToLambda(config, this.VersionAndAlias);
|
|
134
|
-
//
|
|
135
|
-
// Tasks that used to be in DeployTool
|
|
136
|
-
//
|
|
137
|
-
// Check that Static Assets Folder exists
|
|
138
|
-
try {
|
|
139
|
-
const staticAssetsStats = await fs_extra_1.promises.stat(config.app.staticAssetsPath);
|
|
140
|
-
if (!staticAssetsStats.isDirectory()) {
|
|
141
|
-
throw new Error(`Static asset path does not exist: ${config.app.staticAssetsPath}`);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
catch (_a) {
|
|
145
|
-
throw new Error(`Static asset path does not exist: ${config.app.staticAssetsPath}`);
|
|
146
|
-
}
|
|
147
|
-
// Upload Files to S3 Staging AppName/Version Prefix
|
|
148
|
-
console.log('Copying S3 assets');
|
|
149
|
-
await S3Uploader_1.default.Upload(config, preflightResponse.response.s3UploadUrl, preflightResponse.response);
|
|
150
|
-
// Call Deployer to Create App if Not Exists
|
|
151
|
-
console.log(`Creating MicroApp Application: ${config.app.name}`);
|
|
152
|
-
await DeployClient_1.default.CreateApp(config);
|
|
153
|
-
// Call Deployer to Deploy AppName/Version
|
|
154
|
-
console.log(`Creating MicroApp Version: ${config.app.semVer}`);
|
|
155
|
-
await DeployClient_1.default.DeployVersion(config);
|
|
220
|
+
await tasks.run();
|
|
156
221
|
console.log(`Published: ${config.app.name}/${config.app.semVer}`);
|
|
157
222
|
}
|
|
158
223
|
catch (error) {
|
|
@@ -214,7 +279,6 @@ class PublishTool {
|
|
|
214
279
|
async loginToECR(config) {
|
|
215
280
|
this.IMAGE_TAG = `${config.app.ecrRepoName}:${this.VersionAndAlias.version}`;
|
|
216
281
|
this.IMAGE_URI = `${config.app.ecrHost}/${this.IMAGE_TAG}`;
|
|
217
|
-
console.log('Logging into ECR');
|
|
218
282
|
try {
|
|
219
283
|
await asyncExec(`aws ecr get-login-password --region ${config.app.awsRegion} | docker login --username AWS --password-stdin ${config.app.ecrHost}`);
|
|
220
284
|
}
|
|
@@ -269,6 +333,37 @@ class PublishTool {
|
|
|
269
333
|
console.log(`Lambda alias created, name: ${resultLambdaAlias.Name}`);
|
|
270
334
|
}
|
|
271
335
|
}
|
|
272
|
-
|
|
273
|
-
|
|
336
|
+
PublishTool.flags = {
|
|
337
|
+
version: command_1.flags.version({
|
|
338
|
+
char: 'v',
|
|
339
|
+
}),
|
|
340
|
+
help: command_1.flags.help(),
|
|
341
|
+
deployerLambdaName: command_1.flags.string({
|
|
342
|
+
char: 'd',
|
|
343
|
+
multiple: false,
|
|
344
|
+
required: true,
|
|
345
|
+
description: 'Name of the deployer lambda function',
|
|
346
|
+
}),
|
|
347
|
+
newVersion: command_1.flags.string({
|
|
348
|
+
char: 'n',
|
|
349
|
+
multiple: false,
|
|
350
|
+
required: true,
|
|
351
|
+
description: 'New semantic version to apply',
|
|
352
|
+
}),
|
|
353
|
+
repoName: command_1.flags.string({
|
|
354
|
+
char: 'r',
|
|
355
|
+
multiple: false,
|
|
356
|
+
required: true,
|
|
357
|
+
description: 'Name (not URI) of the Docker repo for the app',
|
|
358
|
+
}),
|
|
359
|
+
leaveCopy: command_1.flags.boolean({
|
|
360
|
+
char: 'l',
|
|
361
|
+
default: false,
|
|
362
|
+
required: false,
|
|
363
|
+
description: 'Leave a copy of the modifed files as .modified',
|
|
364
|
+
}),
|
|
365
|
+
};
|
|
366
|
+
// @ts-expect-error catch is actually defined
|
|
367
|
+
PublishTool.run().catch(errors_1.handle);
|
|
368
|
+
exports.default = PublishTool;
|
|
274
369
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pwrdrvr/microapps-publish",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.17",
|
|
4
4
|
"description": "Publish tool for deploying apps and updates",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"source": "src/index.ts",
|
|
@@ -39,11 +39,16 @@
|
|
|
39
39
|
"@aws-sdk/client-s3": "^3.20.0",
|
|
40
40
|
"@aws-sdk/client-sts": "^3.20.0",
|
|
41
41
|
"@aws-sdk/lib-storage": "^3.20.0",
|
|
42
|
+
"@oclif/command": "^1.8.4",
|
|
43
|
+
"@oclif/config": "^1.17.1",
|
|
44
|
+
"@oclif/errors": "^1.3.5",
|
|
45
|
+
"chalk": "^4.1.2",
|
|
42
46
|
"commander": "^7.1.0",
|
|
43
47
|
"convict": "^6.1.0",
|
|
44
48
|
"convict-format-with-validator": "^6.0.1",
|
|
45
49
|
"fs-extra": "^9.1.0",
|
|
46
50
|
"js-yaml": "^4.1.0",
|
|
51
|
+
"listr2": "^3.13.5",
|
|
47
52
|
"mime-types": "^2.1.30",
|
|
48
53
|
"p-map": "^4.0.0",
|
|
49
54
|
"reflect-metadata": "^0.1.13",
|
package/src/DeployClient.ts
CHANGED
|
@@ -10,8 +10,15 @@ import {
|
|
|
10
10
|
} from '@pwrdrvr/microapps-deployer';
|
|
11
11
|
import { IConfig } from './config/Config';
|
|
12
12
|
|
|
13
|
+
export interface IDeployVersionPreflightResult {
|
|
14
|
+
exists: boolean;
|
|
15
|
+
response: IDeployVersionPreflightResponse;
|
|
16
|
+
}
|
|
17
|
+
|
|
13
18
|
export default class DeployClient {
|
|
14
|
-
static readonly _client = new lambda.LambdaClient({
|
|
19
|
+
static readonly _client = new lambda.LambdaClient({
|
|
20
|
+
maxAttempts: 8,
|
|
21
|
+
});
|
|
15
22
|
static readonly _decoder = new TextDecoder('utf-8');
|
|
16
23
|
|
|
17
24
|
public static async CreateApp(config: IConfig): Promise<void> {
|
|
@@ -41,7 +48,7 @@ export default class DeployClient {
|
|
|
41
48
|
|
|
42
49
|
public static async DeployVersionPreflight(
|
|
43
50
|
config: IConfig,
|
|
44
|
-
): Promise<
|
|
51
|
+
): Promise<IDeployVersionPreflightResult> {
|
|
45
52
|
const request = {
|
|
46
53
|
type: 'deployVersionPreflight',
|
|
47
54
|
appName: config.app.name,
|
package/src/S3TransferUtility.ts
CHANGED
|
@@ -20,6 +20,7 @@ export default class S3TransferUtility {
|
|
|
20
20
|
): Promise<void> {
|
|
21
21
|
// Use temp credentials for S3
|
|
22
22
|
const s3Client = new s3.S3Client({
|
|
23
|
+
maxAttempts: 16,
|
|
23
24
|
credentials: {
|
|
24
25
|
accessKeyId: preflightResponse.awsCredentials.accessKeyId,
|
|
25
26
|
secretAccessKey: preflightResponse.awsCredentials.secretAccessKey,
|
package/src/index.ts
CHANGED
|
@@ -5,40 +5,69 @@ import 'source-map-support/register';
|
|
|
5
5
|
// Used by ts-convict
|
|
6
6
|
import 'reflect-metadata';
|
|
7
7
|
import { exec } from 'child_process';
|
|
8
|
-
import { join as pathJoin } from 'path';
|
|
9
8
|
import * as util from 'util';
|
|
10
9
|
import * as lambda from '@aws-sdk/client-lambda';
|
|
11
10
|
import * as sts from '@aws-sdk/client-sts';
|
|
12
|
-
import
|
|
13
|
-
import {
|
|
14
|
-
import
|
|
11
|
+
import { Command, flags as flagsParser } from '@oclif/command';
|
|
12
|
+
import { IConfig as OCLIFIConfig } from '@oclif/config';
|
|
13
|
+
import { handle as errorHandler } from '@oclif/errors';
|
|
14
|
+
import chalk from 'chalk';
|
|
15
|
+
import { promises as fs, pathExists } from 'fs-extra';
|
|
16
|
+
import { Listr, ListrErrorTypes, ListrTask, ListrTaskObject } from 'listr2';
|
|
15
17
|
import { Config, IConfig } from './config/Config';
|
|
16
|
-
import DeployClient from './DeployClient';
|
|
18
|
+
import DeployClient, { IDeployVersionPreflightResult } from './DeployClient';
|
|
17
19
|
import S3Uploader from './S3Uploader';
|
|
18
20
|
const asyncSetTimeout = util.promisify(setTimeout);
|
|
19
21
|
const asyncExec = util.promisify(exec);
|
|
20
22
|
|
|
21
|
-
const
|
|
23
|
+
const RUNNING_TEXT = ' RUNS ';
|
|
24
|
+
const RUNNING = chalk.reset.inverse.yellow.bold(RUNNING_TEXT) + ' ';
|
|
22
25
|
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
.version(pkg.version)
|
|
27
|
-
.option('-n, --new-version [version]', 'New version to apply')
|
|
28
|
-
.option('-l, --leave', 'Leave a copy of the modifed files as .modified')
|
|
29
|
-
.option('--deployer-lambda-name [name]', 'Name of the deployer lambda function')
|
|
30
|
-
.option('--staging-bucket-name [name]', 'Name (not URI) of the S3 staging bucket')
|
|
31
|
-
.option('--repo-name [name]', 'Name (not URI) of the Docker repo for the app')
|
|
32
|
-
.parse(process.argv);
|
|
33
|
-
|
|
34
|
-
const lambdaClient = new lambda.LambdaClient({});
|
|
26
|
+
const lambdaClient = new lambda.LambdaClient({
|
|
27
|
+
maxAttempts: 8,
|
|
28
|
+
});
|
|
35
29
|
|
|
36
30
|
interface IVersions {
|
|
37
31
|
version: string;
|
|
38
32
|
alias?: string;
|
|
39
33
|
}
|
|
40
34
|
|
|
41
|
-
|
|
35
|
+
interface IContext {
|
|
36
|
+
preflightResult: IDeployVersionPreflightResult;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
class PublishTool extends Command {
|
|
40
|
+
static flags = {
|
|
41
|
+
version: flagsParser.version({
|
|
42
|
+
char: 'v',
|
|
43
|
+
}),
|
|
44
|
+
help: flagsParser.help(),
|
|
45
|
+
deployerLambdaName: flagsParser.string({
|
|
46
|
+
char: 'd',
|
|
47
|
+
multiple: false,
|
|
48
|
+
required: true,
|
|
49
|
+
description: 'Name of the deployer lambda function',
|
|
50
|
+
}),
|
|
51
|
+
newVersion: flagsParser.string({
|
|
52
|
+
char: 'n',
|
|
53
|
+
multiple: false,
|
|
54
|
+
required: true,
|
|
55
|
+
description: 'New semantic version to apply',
|
|
56
|
+
}),
|
|
57
|
+
repoName: flagsParser.string({
|
|
58
|
+
char: 'r',
|
|
59
|
+
multiple: false,
|
|
60
|
+
required: true,
|
|
61
|
+
description: 'Name (not URI) of the Docker repo for the app',
|
|
62
|
+
}),
|
|
63
|
+
leaveCopy: flagsParser.boolean({
|
|
64
|
+
char: 'l',
|
|
65
|
+
default: false,
|
|
66
|
+
required: false,
|
|
67
|
+
description: 'Leave a copy of the modifed files as .modified',
|
|
68
|
+
}),
|
|
69
|
+
};
|
|
70
|
+
|
|
42
71
|
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping
|
|
43
72
|
private static escapeRegExp(value: string): string {
|
|
44
73
|
return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
|
|
@@ -53,26 +82,17 @@ class PublishTool {
|
|
|
53
82
|
}[];
|
|
54
83
|
private _restoreFilesStarted = false;
|
|
55
84
|
|
|
56
|
-
constructor() {
|
|
85
|
+
constructor(argv: string[], config: OCLIFIConfig) {
|
|
86
|
+
super(argv, config);
|
|
57
87
|
this.restoreFiles = this.restoreFiles.bind(this);
|
|
58
88
|
}
|
|
59
89
|
|
|
60
|
-
|
|
61
|
-
const
|
|
62
|
-
const version =
|
|
63
|
-
const leaveFiles =
|
|
64
|
-
const lambdaName =
|
|
65
|
-
const ecrRepo =
|
|
66
|
-
|
|
67
|
-
if (lambdaName === undefined) {
|
|
68
|
-
console.log('--deployer-lambda-name [lambdaName] is a required parameter');
|
|
69
|
-
process.exit(1);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
if (version === undefined) {
|
|
73
|
-
console.log('--new-version [version] is a required parameter');
|
|
74
|
-
process.exit(1);
|
|
75
|
-
}
|
|
90
|
+
async run(): Promise<void> {
|
|
91
|
+
const { flags: parsedFlags } = this.parse(PublishTool);
|
|
92
|
+
const version = parsedFlags.newVersion;
|
|
93
|
+
const leaveFiles = parsedFlags.leaveCopy;
|
|
94
|
+
const lambdaName = parsedFlags.deployerLambdaName;
|
|
95
|
+
const ecrRepo = parsedFlags.repoName;
|
|
76
96
|
|
|
77
97
|
// Override the config value
|
|
78
98
|
const config = Config.instance;
|
|
@@ -82,7 +102,9 @@ class PublishTool {
|
|
|
82
102
|
// Get the account ID and region from STS
|
|
83
103
|
// TODO: Move this to the right place
|
|
84
104
|
if (config.app.awsAccountID === 0 || config.app.awsRegion === '') {
|
|
85
|
-
const stsClient = new sts.STSClient({
|
|
105
|
+
const stsClient = new sts.STSClient({
|
|
106
|
+
maxAttempts: 8,
|
|
107
|
+
});
|
|
86
108
|
const stsResponse = await stsClient.send(new sts.GetCallerIdentityCommand({}));
|
|
87
109
|
if (config.app.awsAccountID === 0) {
|
|
88
110
|
config.app.awsAccountID = parseInt(stsResponse.Account, 10);
|
|
@@ -121,80 +143,166 @@ class PublishTool {
|
|
|
121
143
|
await this.restoreFiles();
|
|
122
144
|
});
|
|
123
145
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
if (config === undefined) {
|
|
134
|
-
throw new Error('Failed to load the config file');
|
|
135
|
-
}
|
|
136
|
-
if (config.app.staticAssetsPath === undefined) {
|
|
137
|
-
throw new Error('StaticAssetsPath must be specified in the config file');
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
await this.loginToECR(config);
|
|
141
|
-
|
|
142
|
-
// Confirm the Version Does Not Exist in Published State
|
|
143
|
-
console.log(
|
|
144
|
-
`Checking if deployed app/version already exists for ${config.app.name}/${version}`,
|
|
145
|
-
);
|
|
146
|
-
const preflightResponse = await DeployClient.DeployVersionPreflight(config);
|
|
147
|
-
if (preflightResponse.exists) {
|
|
148
|
-
console.log(`Warning: App/Version already exists: ${config.app.name}/${config.app.semVer}`);
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
console.log(`Invoking serverless next.js build for ${config.app.name}/${version}`);
|
|
152
|
-
|
|
153
|
-
// Run the serverless next.js build
|
|
154
|
-
await asyncExec('serverless');
|
|
155
|
-
|
|
156
|
-
if (config.app.serverlessNextRouterPath !== undefined) {
|
|
157
|
-
console.log('Copying Serverless Next.js router to build output directory');
|
|
158
|
-
await fs.copyFile(config.app.serverlessNextRouterPath, './.serverless_nextjs/index.js');
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
// Docker, build, tag, push to ECR
|
|
162
|
-
// Note: Need to already have AWS env vars set
|
|
163
|
-
await this.publishToECR(config);
|
|
164
|
-
|
|
165
|
-
// Update the Lambda function
|
|
166
|
-
await this.deployToLambda(config, this.VersionAndAlias);
|
|
167
|
-
|
|
168
|
-
//
|
|
169
|
-
// Tasks that used to be in DeployTool
|
|
170
|
-
//
|
|
171
|
-
|
|
172
|
-
// Check that Static Assets Folder exists
|
|
173
|
-
try {
|
|
174
|
-
const staticAssetsStats = await fs.stat(config.app.staticAssetsPath);
|
|
175
|
-
if (!staticAssetsStats.isDirectory()) {
|
|
176
|
-
throw new Error(`Static asset path does not exist: ${config.app.staticAssetsPath}`);
|
|
177
|
-
}
|
|
178
|
-
} catch {
|
|
179
|
-
throw new Error(`Static asset path does not exist: ${config.app.staticAssetsPath}`);
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
// Upload Files to S3 Staging AppName/Version Prefix
|
|
183
|
-
console.log('Copying S3 assets');
|
|
184
|
-
await S3Uploader.Upload(
|
|
185
|
-
config,
|
|
186
|
-
preflightResponse.response.s3UploadUrl,
|
|
187
|
-
preflightResponse.response,
|
|
188
|
-
);
|
|
189
|
-
|
|
190
|
-
// Call Deployer to Create App if Not Exists
|
|
191
|
-
console.log(`Creating MicroApp Application: ${config.app.name}`);
|
|
192
|
-
await DeployClient.CreateApp(config);
|
|
146
|
+
if (config === undefined) {
|
|
147
|
+
this.error('Failed to load the config file');
|
|
148
|
+
}
|
|
149
|
+
if (config.app.staticAssetsPath === undefined) {
|
|
150
|
+
this.error('StaticAssetsPath must be specified in the config file');
|
|
151
|
+
}
|
|
193
152
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
153
|
+
//
|
|
154
|
+
// TODO: Setup Tasks
|
|
155
|
+
//
|
|
156
|
+
|
|
157
|
+
const tasks = new Listr<IContext>([
|
|
158
|
+
{
|
|
159
|
+
title: 'Logging into ECR',
|
|
160
|
+
task: async (ctx, task) => {
|
|
161
|
+
const origTitle = task.title;
|
|
162
|
+
task.title = RUNNING + origTitle;
|
|
163
|
+
|
|
164
|
+
await this.loginToECR(config);
|
|
165
|
+
|
|
166
|
+
task.title = origTitle;
|
|
167
|
+
},
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
title: 'Modifying Config Files',
|
|
171
|
+
task: async (ctx, task) => {
|
|
172
|
+
const origTitle = task.title;
|
|
173
|
+
task.title = RUNNING + origTitle;
|
|
174
|
+
|
|
175
|
+
// Modify the existing files with the new version
|
|
176
|
+
for (const fileToModify of this.FILES_TO_MODIFY) {
|
|
177
|
+
task.output = `Patching version (${this.VersionAndAlias.version}) into ${fileToModify.path}`;
|
|
178
|
+
if (
|
|
179
|
+
!(await this.writeNewVersions(fileToModify.path, fileToModify.versions, leaveFiles))
|
|
180
|
+
) {
|
|
181
|
+
task.output = `Failed modifying file: ${fileToModify.path}`;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
task.title = origTitle;
|
|
186
|
+
},
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
title: 'Preflight Version Check',
|
|
190
|
+
task: async (ctx, task) => {
|
|
191
|
+
const origTitle = task.title;
|
|
192
|
+
task.title = RUNNING + origTitle;
|
|
193
|
+
|
|
194
|
+
// Confirm the Version Does Not Exist in Published State
|
|
195
|
+
task.output = `Checking if deployed app/version already exists for ${config.app.name}/${version}`;
|
|
196
|
+
ctx.preflightResult = await DeployClient.DeployVersionPreflight(config);
|
|
197
|
+
if (ctx.preflightResult.exists) {
|
|
198
|
+
task.output = `Warning: App/Version already exists: ${config.app.name}/${config.app.semVer}`;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
task.title = origTitle;
|
|
202
|
+
},
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
title: 'Serverless Next.js Build',
|
|
206
|
+
task: async (ctx, task) => {
|
|
207
|
+
const origTitle = task.title;
|
|
208
|
+
task.title = RUNNING + origTitle;
|
|
209
|
+
|
|
210
|
+
task.output = `Invoking serverless next.js build for ${config.app.name}/${version}`;
|
|
211
|
+
|
|
212
|
+
// Run the serverless next.js build
|
|
213
|
+
await asyncExec('serverless');
|
|
214
|
+
|
|
215
|
+
if (config.app.serverlessNextRouterPath !== undefined) {
|
|
216
|
+
task.output = 'Copying Serverless Next.js router to build output directory';
|
|
217
|
+
await fs.copyFile(config.app.serverlessNextRouterPath, './.serverless_nextjs/index.js');
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
task.title = origTitle;
|
|
221
|
+
},
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
title: 'Publish to ECR',
|
|
225
|
+
task: async (ctx, task) => {
|
|
226
|
+
const origTitle = task.title;
|
|
227
|
+
task.title = RUNNING + origTitle;
|
|
228
|
+
|
|
229
|
+
// Docker, build, tag, push to ECR
|
|
230
|
+
// Note: Need to already have AWS env vars set
|
|
231
|
+
await this.publishToECR(config);
|
|
232
|
+
|
|
233
|
+
task.title = origTitle;
|
|
234
|
+
},
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
title: 'Deploy to Lambda',
|
|
238
|
+
task: async (ctx, task) => {
|
|
239
|
+
const origTitle = task.title;
|
|
240
|
+
task.title = RUNNING + origTitle;
|
|
241
|
+
|
|
242
|
+
// Update the Lambda function
|
|
243
|
+
await this.deployToLambda(config, this.VersionAndAlias);
|
|
244
|
+
|
|
245
|
+
task.title = origTitle;
|
|
246
|
+
},
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
title: 'Confirm Static Assets Folder Exists',
|
|
250
|
+
task: async (ctx, task) => {
|
|
251
|
+
const origTitle = task.title;
|
|
252
|
+
task.title = RUNNING + origTitle;
|
|
253
|
+
|
|
254
|
+
// Check that Static Assets Folder exists
|
|
255
|
+
if (!(await pathExists(config.app.staticAssetsPath))) {
|
|
256
|
+
this.error(`Static asset path does not exist: ${config.app.staticAssetsPath}`);
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
task.title = origTitle;
|
|
260
|
+
},
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
title: 'Upload Files to S3 Staging AppName/Version Prefix',
|
|
264
|
+
task: async (ctx, task) => {
|
|
265
|
+
const origTitle = task.title;
|
|
266
|
+
task.title = RUNNING + origTitle;
|
|
267
|
+
|
|
268
|
+
// Upload Files to S3 Staging AppName/Version Prefix
|
|
269
|
+
await S3Uploader.Upload(
|
|
270
|
+
config,
|
|
271
|
+
ctx.preflightResult.response.s3UploadUrl,
|
|
272
|
+
ctx.preflightResult.response,
|
|
273
|
+
);
|
|
274
|
+
|
|
275
|
+
task.title = origTitle;
|
|
276
|
+
},
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
title: `Creating MicroApp Application: ${config.app.name}`,
|
|
280
|
+
task: async (ctx, task) => {
|
|
281
|
+
const origTitle = task.title;
|
|
282
|
+
task.title = RUNNING + origTitle;
|
|
283
|
+
|
|
284
|
+
// Call Deployer to Create App if Not Exists
|
|
285
|
+
await DeployClient.CreateApp(config);
|
|
286
|
+
|
|
287
|
+
task.title = origTitle;
|
|
288
|
+
},
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
title: `Creating MicroApp Version: ${config.app.semVer}`,
|
|
292
|
+
task: async (ctx, task) => {
|
|
293
|
+
const origTitle = task.title;
|
|
294
|
+
task.title = RUNNING + origTitle;
|
|
295
|
+
|
|
296
|
+
// Call Deployer to Deploy AppName/Version
|
|
297
|
+
await DeployClient.DeployVersion(config);
|
|
298
|
+
|
|
299
|
+
task.title = origTitle;
|
|
300
|
+
},
|
|
301
|
+
},
|
|
302
|
+
]);
|
|
197
303
|
|
|
304
|
+
try {
|
|
305
|
+
await tasks.run();
|
|
198
306
|
console.log(`Published: ${config.app.name}/${config.app.semVer}`);
|
|
199
307
|
} catch (error) {
|
|
200
308
|
console.log(`Caught exception: ${error.message}`);
|
|
@@ -271,7 +379,6 @@ class PublishTool {
|
|
|
271
379
|
this.IMAGE_TAG = `${config.app.ecrRepoName}:${this.VersionAndAlias.version}`;
|
|
272
380
|
this.IMAGE_URI = `${config.app.ecrHost}/${this.IMAGE_TAG}`;
|
|
273
381
|
|
|
274
|
-
console.log('Logging into ECR');
|
|
275
382
|
try {
|
|
276
383
|
await asyncExec(
|
|
277
384
|
`aws ecr get-login-password --region ${config.app.awsRegion} | docker login --username AWS --password-stdin ${config.app.ecrHost}`,
|
|
@@ -341,5 +448,7 @@ class PublishTool {
|
|
|
341
448
|
}
|
|
342
449
|
}
|
|
343
450
|
|
|
344
|
-
|
|
345
|
-
|
|
451
|
+
// @ts-expect-error catch is actually defined
|
|
452
|
+
PublishTool.run().catch(errorHandler);
|
|
453
|
+
|
|
454
|
+
export default PublishTool;
|