@onivoro/onix 20.0.29 → 20.0.31

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/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@onivoro/onix",
3
- "version": "20.0.29",
3
+ "version": "20.0.31",
4
4
  "type": "commonjs",
5
5
  "main": "./src/index.js",
6
6
  "typings": "./src/index.d.ts",
7
7
  "executors": "./executors.json",
8
8
  "dependencies": {
9
+ "@aws-sdk/client-ecs": "^3.734.0",
9
10
  "@aws-sdk/client-ecr": "^3.734.0",
10
11
  "@aws-sdk/credential-providers": "^3.734.0",
11
12
  "@nx/devkit": "^20.3.2",
@@ -8,10 +8,11 @@ const extract_project_build_outputs_function_1 = require("../../functions/extrac
8
8
  const extract_project_build_assets_function_1 = require("../../functions/extract-project-build-assets.function");
9
9
  const path_1 = require("path");
10
10
  const extract_project_configuration_function_1 = require("../../functions/extract-project-configuration.function");
11
+ const restart_ecs_service_function_1 = require("onix/src/functions/restart-ecs-service.function");
11
12
  const stdio = 'inherit';
12
13
  const uiAssetFolderName = 'ui';
13
14
  const executor = (options, context) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
14
- const { ecr, profile, dockerfile, ui } = options;
15
+ const { ecr, profile, dockerfile, ui, region, cluster, service } = options;
15
16
  (0, child_process_1.execSync)(`npx nx build ${context.projectName}`, { stdio });
16
17
  try {
17
18
  const [apiProjectAssetPath] = (0, extract_project_build_assets_function_1.extractProjectBuildAssets)(context, context.projectName);
@@ -23,7 +24,7 @@ const executor = (options, context) => tslib_1.__awaiter(void 0, void 0, void 0,
23
24
  (0, child_process_1.execSync)(`npx nx build ${ui}`, { stdio });
24
25
  const projectConfiguration = (0, extract_project_configuration_function_1.extractProjectConfiguration)(context, context.projectName);
25
26
  const [projectDist] = apiProjectOutput.split(projectConfiguration.root);
26
- const [__, projectAssetsPath] = apiProjectAssetPath.split(projectConfiguration.root);
27
+ const [__, projectAssetsPath] = apiProjectAssetPath.split(projectConfiguration.sourceRoot);
27
28
  const projectDistAssetPathForUi = (0, path_1.join)(projectDist, projectConfiguration.root, projectAssetsPath, uiAssetFolderName);
28
29
  [webProjectOutputs].forEach(output => {
29
30
  (0, child_process_1.execSync)(`cp -R ${output} ${projectDistAssetPathForUi}`);
@@ -46,14 +47,23 @@ const executor = (options, context) => tslib_1.__awaiter(void 0, void 0, void 0,
46
47
  }
47
48
  catch (error) {
48
49
  devkit_1.logger.error({ error, detail: 'docker build failed' });
50
+ throw error;
49
51
  }
50
52
  try {
51
53
  yield (0, push_image_to_ecr_wrapped_function_1.pushImageToECRWrapped)({ ecr, profile });
52
54
  }
53
55
  catch (error) {
54
56
  devkit_1.logger.error({ error, detail: 'docker push failed' });
57
+ throw error;
55
58
  }
56
59
  // restart cluster service by converting this to use '@aws-sdk' instead of cli as shown =>>>>> aws ecs update-service --cluster ${prefix}-cluster --service ${prefix}-service --force-new-deployment --profile ${profile} --region us-east-2`;
60
+ try {
61
+ yield (0, restart_ecs_service_function_1.updateEcsService)({ profile, region, cluster, service });
62
+ }
63
+ catch (error) {
64
+ devkit_1.logger.error({ error, detail: 'ECS service update failed' });
65
+ throw error;
66
+ }
57
67
  return {
58
68
  success: true,
59
69
  };
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../onix/src/executors/deploy/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../onix/src/executors/deploy/executor.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  export interface ExecutorSchema {
2
+ cluster?: string;
2
3
  dockerfile: string;
3
4
  ecr: string;
4
5
  profile?: string;
6
+ region?: string;
7
+ service?: string
5
8
  ui?: string;
6
9
  }
@@ -20,7 +20,10 @@
20
20
  "ui": {
21
21
  "type": "string",
22
22
  "description": "Name of the web/UI project to include in the assets included in the Docker image"
23
- }
23
+ },
24
+ "cluster": { "type": "string", "description": "AWS cluster for identifying the ECS service to redeploy"},
25
+ "region": { "type": "string", "description": "AWS region for identifying the ECS service to redeploy"},
26
+ "service": { "type": "string", "description": "AWS service for identifying the ECS service to redeploy"},
24
27
  },
25
28
  "required": [
26
29
  "ecr",
@@ -0,0 +1,6 @@
1
+ export declare function updateEcsService(_: {
2
+ profile: string;
3
+ cluster: string;
4
+ service: string;
5
+ region: string;
6
+ }): Promise<import("@aws-sdk/client-ecs").UpdateServiceCommandOutput>;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateEcsService = updateEcsService;
4
+ const tslib_1 = require("tslib");
5
+ const client_ecs_1 = require("@aws-sdk/client-ecs");
6
+ const credential_provider_ini_1 = require("@aws-sdk/credential-provider-ini");
7
+ const devkit_1 = require("@nx/devkit");
8
+ function updateEcsService(_) {
9
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
10
+ var _a;
11
+ const { profile, cluster, service, region } = _;
12
+ try {
13
+ const client = new client_ecs_1.ECSClient({
14
+ region,
15
+ credentials: profile ? (0, credential_provider_ini_1.fromIni)({ profile }) : undefined
16
+ });
17
+ const response = yield client.send(new client_ecs_1.UpdateServiceCommand({
18
+ cluster,
19
+ service,
20
+ forceNewDeployment: true
21
+ }));
22
+ devkit_1.logger.info("Service update initiated successfully");
23
+ if ((_a = response.service) === null || _a === void 0 ? void 0 : _a.serviceArn) {
24
+ devkit_1.logger.info(`Service ARN: "${response.service.serviceArn}"`);
25
+ }
26
+ return response;
27
+ }
28
+ catch (error) {
29
+ devkit_1.logger.error(`Error updating ECS service: ${(error === null || error === void 0 ? void 0 : error.message) || error}`);
30
+ throw error;
31
+ }
32
+ });
33
+ }
34
+ //# sourceMappingURL=restart-ecs-service.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restart-ecs-service.function.js","sourceRoot":"","sources":["../../../../onix/src/functions/restart-ecs-service.function.ts"],"names":[],"mappings":";;AAIA,4CA2BC;;AA/BD,oDAAiG;AACjG,8EAA2D;AAC3D,uCAAoC;AAEpC,SAAsB,gBAAgB,CAAC,CAAwE;;;QAC3G,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAEhD,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,sBAAS,CAAC;gBACzB,MAAM;gBACN,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,IAAA,iCAAO,EAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;aAC1D,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,iCAAoB,CAAC;gBACxD,OAAO;gBACP,OAAO;gBACP,kBAAkB,EAAE,IAAI;aAC3B,CAAC,CAAC,CAAC;YAEJ,eAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;YAErD,IAAI,MAAA,QAAQ,CAAC,OAAO,0CAAE,UAAU,EAAE,CAAC;gBAC/B,eAAM,CAAC,IAAI,CAAC,iBAAiB,QAAQ,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC;YACjE,CAAC;YAED,OAAO,QAAQ,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,eAAM,CAAC,KAAK,CAAC,+BAA+B,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,KAAI,KAAK,EAAE,CAAC,CAAC;YAEvE,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;CAAA"}