@catapultjs/deploy 0.6.2 → 0.8.0

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.
Files changed (74) hide show
  1. package/build/bin/run.js +2 -2
  2. package/build/bin/run.js.map +1 -1
  3. package/build/commands/deploy.js +21 -1
  4. package/build/commands/deploy.js.map +1 -1
  5. package/build/commands/init.d.ts +1 -0
  6. package/build/commands/init.js +18 -1
  7. package/build/commands/init.js.map +1 -1
  8. package/build/commands/list_releases.js +2 -0
  9. package/build/commands/list_releases.js.map +1 -1
  10. package/build/commands/list_revisions.js +2 -0
  11. package/build/commands/list_revisions.js.map +1 -1
  12. package/build/commands/rollback.js +2 -0
  13. package/build/commands/rollback.js.map +1 -1
  14. package/build/commands/run_task.js +2 -0
  15. package/build/commands/run_task.js.map +1 -1
  16. package/build/commands/setup.d.ts +1 -0
  17. package/build/commands/setup.js +3 -7
  18. package/build/commands/setup.js.map +1 -1
  19. package/build/commands/status.js +2 -0
  20. package/build/commands/status.js.map +1 -1
  21. package/build/recipes/adonisjs_local.d.ts +1 -0
  22. package/build/recipes/adonisjs_local.js +35 -0
  23. package/build/recipes/adonisjs_local.js.map +1 -0
  24. package/build/recipes/common.d.ts +11 -0
  25. package/build/recipes/common.js +24 -0
  26. package/build/recipes/common.js.map +1 -0
  27. package/build/recipes/deploy/build.d.ts +6 -0
  28. package/build/recipes/deploy/build.js +7 -0
  29. package/build/recipes/deploy/build.js.map +1 -0
  30. package/build/recipes/deploy/cleanup.d.ts +6 -0
  31. package/build/recipes/deploy/cleanup.js +18 -0
  32. package/build/recipes/deploy/cleanup.js.map +1 -0
  33. package/build/recipes/deploy/healthcheck.d.ts +6 -0
  34. package/build/recipes/deploy/healthcheck.js +32 -0
  35. package/build/recipes/deploy/healthcheck.js.map +1 -0
  36. package/build/recipes/deploy/install.d.ts +6 -0
  37. package/build/recipes/deploy/install.js +7 -0
  38. package/build/recipes/deploy/install.js.map +1 -0
  39. package/build/recipes/deploy/lock.d.ts +7 -0
  40. package/build/recipes/deploy/lock.js +27 -0
  41. package/build/recipes/deploy/lock.js.map +1 -0
  42. package/build/recipes/deploy/log_revision.d.ts +6 -0
  43. package/build/recipes/deploy/log_revision.js +40 -0
  44. package/build/recipes/deploy/log_revision.js.map +1 -0
  45. package/build/recipes/deploy/publish.d.ts +6 -0
  46. package/build/recipes/deploy/publish.js +6 -0
  47. package/build/recipes/deploy/publish.js.map +1 -0
  48. package/build/recipes/deploy/release.d.ts +6 -0
  49. package/build/recipes/deploy/release.js +6 -0
  50. package/build/recipes/deploy/release.js.map +1 -0
  51. package/build/recipes/deploy/shared.d.ts +6 -0
  52. package/build/recipes/deploy/shared.js +6 -0
  53. package/build/recipes/deploy/shared.js.map +1 -0
  54. package/build/recipes/deploy/test.d.ts +6 -0
  55. package/build/recipes/deploy/test.js +7 -0
  56. package/build/recipes/deploy/test.js.map +1 -0
  57. package/build/recipes/deploy/update_code.d.ts +6 -0
  58. package/build/recipes/deploy/update_code.js +6 -0
  59. package/build/recipes/deploy/update_code.js.map +1 -0
  60. package/build/src/base_command.d.ts +4 -1
  61. package/build/src/base_command.js +14 -0
  62. package/build/src/base_command.js.map +1 -1
  63. package/build/src/define_config.d.ts +1 -1
  64. package/build/src/define_config.js +1 -1
  65. package/build/src/define_config.js.map +1 -1
  66. package/build/src/deployer.d.ts +2 -0
  67. package/build/src/deployer.js +17 -0
  68. package/build/src/deployer.js.map +1 -1
  69. package/build/src/utils.js +1 -1
  70. package/build/src/utils.js.map +1 -1
  71. package/package.json +1 -1
  72. package/build/src/defaults.d.ts +0 -17
  73. package/build/src/defaults.js +0 -152
  74. package/build/src/defaults.js.map +0 -1
package/build/bin/run.js CHANGED
@@ -65,7 +65,7 @@ if (!skipDeployFile) {
65
65
  deployFile = await findDeployFile();
66
66
  }
67
67
  if (!deployFile) {
68
- logger.error('No deploy.ts or deploy.js found in current directory. Run `npx cata init` to create one.');
68
+ logger.error('No supported deploy config file found in current directory. Run `npx cata init` to create one.');
69
69
  process.exit(1);
70
70
  }
71
71
  const mod = await import(__rewriteRelativeImportExtension(pathToFileURL(deployFile).href));
@@ -82,7 +82,7 @@ kernel.defineFlag('help', {
82
82
  kernel.defineFlag('config', {
83
83
  type: 'string',
84
84
  alias: 'c',
85
- description: 'Path to the deploy config file (default: deploy.ts)',
85
+ description: 'Path to the deploy config file (default: auto-detected)',
86
86
  });
87
87
  kernel.on('help', async (command, $kernel, parsed) => {
88
88
  parsed.args.unshift(command.commandName);
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../bin/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../bin/run.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import { flags } from '@adonisjs/ace';
11
11
  import { Context } from "../src/context.js";
12
- import { deployHost } from "../src/deployer.js";
12
+ import { deployHost, initializeHost, isHostSetup } from "../src/deployer.js";
13
13
  import { BaseDeployCommand } from "../src/base_command.js";
14
14
  export default class Deploy extends BaseDeployCommand {
15
15
  static commandName = 'deploy';
@@ -36,6 +36,26 @@ export default class Deploy extends BaseDeployCommand {
36
36
  await ctx.hooks.beforeDeploy({ hosts });
37
37
  for (const host of hosts) {
38
38
  try {
39
+ if (!(await isHostSetup(ctx, host))) {
40
+ const shouldSetup = await this.prompt.choice(`[${host.name}] Catapult is not initialized on this server. Run deploy:setup now?`, [
41
+ {
42
+ name: 'yes',
43
+ message: `Yes, run ${this.setupCommand(host)} and continue`,
44
+ },
45
+ {
46
+ name: 'no',
47
+ message: 'No, cancel deployment',
48
+ },
49
+ ]);
50
+ if (shouldSetup === 'yes') {
51
+ await initializeHost(ctx, host);
52
+ }
53
+ else {
54
+ this.logger.error(this.missingSetupMessage(host));
55
+ this.exitCode = 1;
56
+ return;
57
+ }
58
+ }
39
59
  await deployHost(ctx, host);
40
60
  }
41
61
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../commands/deploy.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,iBAAiB;IACnD,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAA;IAC7B,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAA;IACxB,MAAM,CAAC,WAAW,GAAG,mBAAmB,CAAA;IAQxC,KAAK,CAAC,GAAG;QACP,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;QAEzB,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;QACpC,IAAI,CAAC,KAAK;YAAE,OAAM;QAElB,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CACvB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACvB,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;YACxD,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,IAAI,EAAE,EAAE;oBACxE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;iBAC1B,CAAC,CAAA;gBACF,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAA;YAC5B,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CACH,CAAA;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;QAEnD,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY;YAAE,MAAM,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACnE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YAC7B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY;oBAAE,MAAM,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAc,EAAE,CAAC,CAAA;gBAC1F,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;gBACjB,OAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW;YAAE,MAAM,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QAEjE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,CAAA;IAC3C,CAAC;;AAvCO;IADP,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC;;sCACzC;AAG1B;IADP,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,gCAAgC,EAAE,CAAC;;uCACrD"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../commands/deploy.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,6 @@ import { BaseCommand } from '@adonisjs/ace';
2
2
  export default class Init extends BaseCommand {
3
3
  static commandName: string;
4
4
  static description: string;
5
+ skipInstall: boolean;
5
6
  run(): Promise<void>;
6
7
  }
@@ -1,4 +1,13 @@
1
- import { BaseCommand } from '@adonisjs/ace';
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { BaseCommand, flags } from '@adonisjs/ace';
2
11
  import { writeFile } from 'node:fs/promises';
3
12
  import { resolve } from 'node:path';
4
13
  import { execa } from 'execa';
@@ -33,6 +42,10 @@ export default class Init extends BaseCommand {
33
42
  const dest = resolve(process.cwd(), filename);
34
43
  await writeFile(dest, TEMPLATE);
35
44
  this.logger.action(`create ${filename}`).succeeded();
45
+ if (this.skipInstall) {
46
+ this.logger.info('Skipping @catapultjs/deploy installation');
47
+ return;
48
+ }
36
49
  const pm = await detectPackageManager();
37
50
  this.logger.info('Installing @catapultjs/deploy...');
38
51
  await execa(pm, ['install', '-D', '@catapultjs/deploy'], {
@@ -42,4 +55,8 @@ export default class Init extends BaseCommand {
42
55
  this.logger.action('install @catapultjs/deploy').succeeded();
43
56
  }
44
57
  }
58
+ __decorate([
59
+ flags.boolean({ description: 'Create the config file without installing @catapultjs/deploy' }),
60
+ __metadata("design:type", Boolean)
61
+ ], Init.prototype, "skipInstall", void 0);
45
62
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAEtE,MAAM,QAAQ,GAAG;;;;;;;;;;;;CAYhB,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW;IAC3C,MAAM,CAAC,WAAW,GAAG,MAAM,CAAA;IAC3B,MAAM,CAAC,WAAW,GAAG,oCAAoC,CAAA;IAEzD,KAAK,CAAC,GAAG;QACP,MAAM,QAAQ,GAAG,MAAM,cAAc,EAAE,CAAA;QACvC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,QAAQ,iBAAiB,CAAC,CAAA;YACjD,OAAM;QACR,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,oCAAoC,EAAE;YAC1E,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,wBAAwB,EAAE;YACjD,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,wBAAwB,EAAE;SAClD,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAA;QAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAA;QAE7C,MAAM,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC/B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC,SAAS,EAAE,CAAA;QAEpD,MAAM,EAAE,GAAG,MAAM,oBAAoB,EAAE,CAAA;QACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;QACpD,MAAM,KAAK,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAoB,CAAC,EAAE;YACvD,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,KAAK,EAAE,SAAS;SACjB,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,SAAS,EAAE,CAAA;IAC9D,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../commands/init.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAEtE,MAAM,QAAQ,GAAG;;;;;;;;;;;;CAYhB,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW;IAC3C,MAAM,CAAC,WAAW,GAAG,MAAM,CAAA;IAC3B,MAAM,CAAC,WAAW,GAAG,oCAAoC,CAAA;IAKzD,KAAK,CAAC,GAAG;QACP,MAAM,QAAQ,GAAG,MAAM,cAAc,EAAE,CAAA;QACvC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,QAAQ,iBAAiB,CAAC,CAAA;YACjD,OAAM;QACR,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,oCAAoC,EAAE;YAC1E,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,wBAAwB,EAAE;YACjD,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,wBAAwB,EAAE;SAClD,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAA;QAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAA;QAE7C,MAAM,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC/B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC,SAAS,EAAE,CAAA;QAEpD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAA;YAC5D,OAAM;QACR,CAAC;QAED,MAAM,EAAE,GAAG,MAAM,oBAAoB,EAAE,CAAA;QACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;QACpD,MAAM,KAAK,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAoB,CAAC,EAAE;YACvD,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,KAAK,EAAE,SAAS;SACjB,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,SAAS,EAAE,CAAA;IAC9D,CAAC;;AAhCO;IADP,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,8DAA8D,EAAE,CAAC;;yCACnE"}
@@ -11,6 +11,8 @@ export default class ListReleases extends BaseDeployCommand {
11
11
  if (!hosts)
12
12
  return;
13
13
  for (const host of hosts) {
14
+ if (!(await this.ensureHostSetup(ctx, host)))
15
+ continue;
14
16
  const paths = getPaths(host.deployPath, ctx.release);
15
17
  const current = await getCurrentRelease(ctx, host);
16
18
  const { stdout } = await ssh(host, `
@@ -1 +1 @@
1
- {"version":3,"file":"list_releases.js","sourceRoot":"","sources":["../../commands/list_releases.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,iBAAiB;IACzD,MAAM,CAAC,WAAW,GAAG,eAAe,CAAA;IACpC,MAAM,CAAC,WAAW,GAAG,0BAA0B,CAAA;IAE/C,KAAK,CAAC,GAAG;QACP,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;QAEzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;QACtC,IAAI,CAAC,KAAK;YAAE,OAAM;QAElB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;YAEpD,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YAElD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAC1B,IAAI,EACJ;;eAEO,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;aACnB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;;OAEvB,CACA,CAAA;YAED,MAAM,QAAQ,GAAG,MAAM;iBACpB,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;iBAC7C,MAAM,CAAC,OAAO,CAAC,CAAA;YAElB,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YAC7B,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;YAEnC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YAC3C,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAC5B,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;gBAC3D,CAAC;YACH,CAAC;YAED,KAAK,CAAC,MAAM,EAAE,CAAA;QAChB,CAAC;IACH,CAAC"}
1
+ {"version":3,"file":"list_releases.js","sourceRoot":"","sources":["../../commands/list_releases.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,iBAAiB;IACzD,MAAM,CAAC,WAAW,GAAG,eAAe,CAAA;IACpC,MAAM,CAAC,WAAW,GAAG,0BAA0B,CAAA;IAE/C,KAAK,CAAC,GAAG;QACP,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;QAEzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;QACtC,IAAI,CAAC,KAAK;YAAE,OAAM;QAElB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAAE,SAAQ;YAEtD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;YAEpD,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YAElD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAC1B,IAAI,EACJ;;eAEO,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;aACnB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;;OAEvB,CACA,CAAA;YAED,MAAM,QAAQ,GAAG,MAAM;iBACpB,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;iBAC7C,MAAM,CAAC,OAAO,CAAC,CAAA;YAElB,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YAC7B,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;YAEnC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YAC3C,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAC5B,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;gBAC3D,CAAC;YACH,CAAC;YAED,KAAK,CAAC,MAAM,EAAE,CAAA;QAChB,CAAC;IACH,CAAC"}
@@ -10,6 +10,8 @@ export default class ListRevisions extends BaseDeployCommand {
10
10
  if (!hosts)
11
11
  return;
12
12
  for (const host of hosts) {
13
+ if (!(await this.ensureHostSetup(ctx, host)))
14
+ continue;
13
15
  const paths = getPaths(host.deployPath, ctx.release);
14
16
  const logFile = `${paths.cataConfig}/revisions.log`;
15
17
  this.logger.log(this.colors.bold(`\n# ${host.name}`));
@@ -1 +1 @@
1
- {"version":3,"file":"list_revisions.js","sourceRoot":"","sources":["../../commands/list_revisions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,iBAAiB;IAC1D,MAAM,CAAC,WAAW,GAAG,gBAAgB,CAAA;IACrC,MAAM,CAAC,WAAW,GAAG,uCAAuC,CAAA;IAE5D,KAAK,CAAC,GAAG;QACP,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;QAEzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;QACtC,IAAI,CAAC,KAAK;YAAE,OAAM;QAElB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;YACpD,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,UAAU,gBAAgB,CAAA;YAEnD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YAErD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAC1B,IAAI,EACJ,gBAAgB,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,UAAU,CACjE,CAAA;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAA;YAEjE,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YAC7B,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;YAEzD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,KAAK,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;YAC7C,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,CAAC;wBACH,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;wBAChE,KAAK,CAAC,GAAG,CAAC;4BACR,OAAO,IAAI,GAAG;4BACd,MAAM,IAAI,GAAG;4BACb,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;4BACjC,IAAI,IAAI,GAAG;4BACX,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,GAAG;yBAC7C,CAAC,CAAA;oBACJ,CAAC;oBAAC,MAAM,CAAC,CAAA,CAAC;gBACZ,CAAC;YACH,CAAC;YAED,KAAK,CAAC,MAAM,EAAE,CAAA;QAChB,CAAC;IACH,CAAC"}
1
+ {"version":3,"file":"list_revisions.js","sourceRoot":"","sources":["../../commands/list_revisions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,iBAAiB;IAC1D,MAAM,CAAC,WAAW,GAAG,gBAAgB,CAAA;IACrC,MAAM,CAAC,WAAW,GAAG,uCAAuC,CAAA;IAE5D,KAAK,CAAC,GAAG;QACP,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;QAEzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;QACtC,IAAI,CAAC,KAAK;YAAE,OAAM;QAElB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAAE,SAAQ;YAEtD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;YACpD,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,UAAU,gBAAgB,CAAA;YAEnD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YAErD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAC1B,IAAI,EACJ,gBAAgB,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,UAAU,CACjE,CAAA;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAA;YAEjE,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YAC7B,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;YAEzD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,KAAK,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;YAC7C,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,CAAC;wBACH,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;wBAChE,KAAK,CAAC,GAAG,CAAC;4BACR,OAAO,IAAI,GAAG;4BACd,MAAM,IAAI,GAAG;4BACb,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;4BACjC,IAAI,IAAI,GAAG;4BACX,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,GAAG;yBAC7C,CAAC,CAAA;oBACJ,CAAC;oBAAC,MAAM,CAAC,CAAA,CAAC;gBACZ,CAAC;YACH,CAAC;YAED,KAAK,CAAC,MAAM,EAAE,CAAA;QAChB,CAAC;IACH,CAAC"}
@@ -21,6 +21,8 @@ export default class Rollback extends BaseDeployCommand {
21
21
  if (!hosts)
22
22
  return;
23
23
  for (const host of hosts) {
24
+ if (!(await this.ensureHostSetup(ctx, host)))
25
+ continue;
24
26
  let target;
25
27
  if (this.interactive) {
26
28
  const [releases, current] = await Promise.all([
@@ -1 +1 @@
1
- {"version":3,"file":"rollback.js","sourceRoot":"","sources":["../../commands/rollback.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACrF,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,iBAAiB;IACrD,MAAM,CAAC,WAAW,GAAG,UAAU,CAAA;IAC/B,MAAM,CAAC,WAAW,GAAG,kCAAkC,CAAA;IAKvD,KAAK,CAAC,GAAG;QACP,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;QAEzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;QACtC,IAAI,CAAC,KAAK;YAAE,OAAM;QAElB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,MAA0B,CAAA;YAE9B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBAC5C,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC;oBAC1B,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC;iBAC7B,CAAC,CAAA;gBAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,yBAAyB,CAAC,CAAA;oBACzD,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;oBACjB,OAAM;gBACR,CAAC;gBAED,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACnC,IAAI,EAAE,CAAC;oBACP,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;oBAC7C,QAAQ,EAAE,CAAC,KAAK,OAAO;iBACxB,CAAC,CAAC,CAAA;gBAEH,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,iCAAiC,EAAE,OAAO,CAAC,CAAA;YAC5F,CAAC;YAED,MAAM,OAAO,CAAC,aAAa,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YACvC,IAAI,CAAC;gBACH,MAAM,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;YACvC,CAAC;oBAAS,CAAC;gBACT,MAAM,OAAO,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAC3C,CAAC;QACH,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAA;IAC5C,CAAC;;AAxCO;IADP,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,yCAAyC,EAAE,CAAC;;6CAC9C"}
1
+ {"version":3,"file":"rollback.js","sourceRoot":"","sources":["../../commands/rollback.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACrF,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,iBAAiB;IACrD,MAAM,CAAC,WAAW,GAAG,UAAU,CAAA;IAC/B,MAAM,CAAC,WAAW,GAAG,kCAAkC,CAAA;IAKvD,KAAK,CAAC,GAAG;QACP,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;QAEzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;QACtC,IAAI,CAAC,KAAK;YAAE,OAAM;QAElB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAAE,SAAQ;YAEtD,IAAI,MAA0B,CAAA;YAE9B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBAC5C,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC;oBAC1B,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC;iBAC7B,CAAC,CAAA;gBAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,yBAAyB,CAAC,CAAA;oBACzD,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;oBACjB,OAAM;gBACR,CAAC;gBAED,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACnC,IAAI,EAAE,CAAC;oBACP,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;oBAC7C,QAAQ,EAAE,CAAC,KAAK,OAAO;iBACxB,CAAC,CAAC,CAAA;gBAEH,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,iCAAiC,EAAE,OAAO,CAAC,CAAA;YAC5F,CAAC;YAED,MAAM,OAAO,CAAC,aAAa,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YACvC,IAAI,CAAC;gBACH,MAAM,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;YACvC,CAAC;oBAAS,CAAC;gBACT,MAAM,OAAO,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAC3C,CAAC;QACH,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAA;IAC5C,CAAC;;AA1CO;IADP,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,yCAAyC,EAAE,CAAC;;6CAC9C"}
@@ -26,6 +26,8 @@ export default class RunTask extends BaseDeployCommand {
26
26
  if (!hosts)
27
27
  return;
28
28
  for (const host of hosts) {
29
+ if (!(await this.ensureHostSetup(ctx, host)))
30
+ continue;
29
31
  const currentRelease = await getCurrentRelease(ctx, host);
30
32
  if (!currentRelease) {
31
33
  this.logger.error(`[${host.name}] no current release found, run deploy first`);
@@ -1 +1 @@
1
- {"version":3,"file":"run_task.js","sourceRoot":"","sources":["../../commands/run_task.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,iBAAiB;IACpD,MAAM,CAAC,WAAW,GAAG,MAAM,CAAA;IAC3B,MAAM,CAAC,WAAW,GAAG,kCAAkC,CAAA;IAQvD,KAAK,CAAC,GAAG;QACP,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;QAEzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,QAAQ,gBAAgB,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACxF,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;YACjB,OAAM;QACR,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;QACtC,IAAI,CAAC,KAAK;YAAE,OAAM;QAElB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YACzD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,8CAA8C,CAAC,CAAA;gBAC9E,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;gBACjB,SAAQ;YACV,CAAC;YACD,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,IAAI,CAAC,CAAA;QACzE,CAAC;IACH,CAAC;;AA1BO;IADP,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;;yCACzB;AAGhB;IADP,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,gCAAgC,EAAE,CAAC;;wCACrD"}
1
+ {"version":3,"file":"run_task.js","sourceRoot":"","sources":["../../commands/run_task.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,iBAAiB;IACpD,MAAM,CAAC,WAAW,GAAG,MAAM,CAAA;IAC3B,MAAM,CAAC,WAAW,GAAG,kCAAkC,CAAA;IAQvD,KAAK,CAAC,GAAG;QACP,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;QAEzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,QAAQ,gBAAgB,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACxF,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;YACjB,OAAM;QACR,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;QACtC,IAAI,CAAC,KAAK;YAAE,OAAM;QAElB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAAE,SAAQ;YAEtD,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YACzD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,8CAA8C,CAAC,CAAA;gBAC9E,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;gBACjB,SAAQ;YACV,CAAC;YACD,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,IAAI,CAAC,CAAA;QACzE,CAAC;IACH,CAAC;;AA5BO;IADP,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;;yCACzB;AAGhB;IADP,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,gCAAgC,EAAE,CAAC;;wCACrD"}
@@ -1,6 +1,7 @@
1
1
  import { BaseDeployCommand } from '../src/base_command.ts';
2
2
  export default class Setup extends BaseDeployCommand {
3
3
  static commandName: string;
4
+ static aliases: string[];
4
5
  static description: string;
5
6
  run(): Promise<void>;
6
7
  }
@@ -1,10 +1,9 @@
1
1
  import { Context } from "../src/context.js";
2
- import { setupHost } from "../src/deployer.js";
3
- import { hooks } from "../src/pipeline/hooks.js";
2
+ import { initializeHost } from "../src/deployer.js";
4
3
  import { BaseDeployCommand } from "../src/base_command.js";
5
- import { logger } from "../src/logger.js";
6
4
  export default class Setup extends BaseDeployCommand {
7
5
  static commandName = 'deploy:setup';
6
+ static aliases = ['setup'];
8
7
  static description = 'Initialize directories on servers';
9
8
  async run() {
10
9
  const ctx = Context.get();
@@ -12,10 +11,7 @@ export default class Setup extends BaseDeployCommand {
12
11
  if (!hosts)
13
12
  return;
14
13
  for (const host of hosts) {
15
- await setupHost(ctx, host);
16
- for (const hook of hooks.getSetup()) {
17
- await hook(ctx, host, logger);
18
- }
14
+ await initializeHost(ctx, host);
19
15
  }
20
16
  this.logger.action('setup').succeeded();
21
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../commands/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAEzC,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,iBAAiB;IAClD,MAAM,CAAC,WAAW,GAAG,cAAc,CAAA;IACnC,MAAM,CAAC,WAAW,GAAG,mCAAmC,CAAA;IAExD,KAAK,CAAC,GAAG;QACP,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;QACzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;QACtC,IAAI,CAAC,KAAK;YAAE,OAAM;QAClB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACpC,MAAM,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAA;IACzC,CAAC"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../commands/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,iBAAiB;IAClD,MAAM,CAAC,WAAW,GAAG,cAAc,CAAA;IACnC,MAAM,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAA;IAC1B,MAAM,CAAC,WAAW,GAAG,mCAAmC,CAAA;IAExD,KAAK,CAAC,GAAG;QACP,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;QACzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;QACtC,IAAI,CAAC,KAAK;YAAE,OAAM;QAClB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACjC,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAA;IACzC,CAAC"}
@@ -16,6 +16,8 @@ export default class Status extends BaseDeployCommand {
16
16
  return;
17
17
  const pm = await detectPackageManager();
18
18
  for (const host of hosts) {
19
+ if (!(await this.ensureHostSetup(ctx, host)))
20
+ continue;
19
21
  const paths = getPaths(host.deployPath, ctx.release);
20
22
  this.logger.log(this.colors.bold(`\n# ${host.name}`));
21
23
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../commands/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../commands/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import './adonisjs.ts';
@@ -0,0 +1,35 @@
1
+ import "./adonisjs.js";
2
+ import { task, desc, get, local, upload, pmInstallProd, cd, run, before, after, } from "../index.js";
3
+ import { getPackageLockFileName } from "../src/utils.js";
4
+ desc('Builds the AdonisJS application locally');
5
+ task('deploy:build', async () => {
6
+ const adonisjsPath = get('adonisjs_path', '');
7
+ const cwd = adonisjsPath || process.cwd();
8
+ await local('node ace build', { cwd });
9
+ const lockFile = await getPackageLockFileName(cwd);
10
+ await local('cp package.json ./build', { cwd });
11
+ if (lockFile) {
12
+ await local(`cp ${lockFile} ./build`, { cwd });
13
+ }
14
+ await local('if [ -f pnpm-workspace.yaml ]; then cp pnpm-workspace.yaml ./build; fi', { cwd });
15
+ await local('if [ -f .npmrc ]; then cp .npmrc ./build; fi', { cwd });
16
+ await local('if [ -f ecosystem.config.cjs ]; then cp ecosystem.config.cjs ./build; fi', { cwd });
17
+ await local('mkdir -p ./build/tmp', { cwd });
18
+ });
19
+ desc('Uploads local build artifacts to the release directory');
20
+ task('deploy:update_code', async ({ paths }) => {
21
+ const adonisjsPath = get('adonisjs_path', '').replace(/\/?$/, '');
22
+ const configuredSource = get('source_path', adonisjsPath ? `${adonisjsPath}/build/.` : './build/.');
23
+ const source = configuredSource.endsWith('/.')
24
+ ? configuredSource
25
+ : `${configuredSource.replace(/\/+$/, '')}/.`;
26
+ await upload(source, paths.release);
27
+ });
28
+ desc('Installs production dependencies in the release');
29
+ task('deploy:install', () => {
30
+ cd('{{release_path}}');
31
+ run(pmInstallProd());
32
+ });
33
+ before('deploy:lock', 'deploy:build');
34
+ after('deploy:shared', 'deploy:install');
35
+ //# sourceMappingURL=adonisjs_local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adonisjs_local.js","sourceRoot":"","sources":["../../recipes/adonisjs_local.ts"],"names":[],"mappings":"AAMA,OAAO,eAAe,CAAA;AACtB,OAAO,EAEL,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,KAAK,EACL,MAAM,EACN,aAAa,EACb,EAAE,EACF,GAAG,EACH,MAAM,EACN,KAAK,GACN,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAExD,IAAI,CAAC,yCAAyC,CAAC,CAAA;AAC/C,IAAI,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;IAC9B,MAAM,YAAY,GAAG,GAAG,CAAS,eAAe,EAAE,EAAE,CAAC,CAAA;IACrD,MAAM,GAAG,GAAG,YAAY,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IAEzC,MAAM,KAAK,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;IAEtC,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,GAAG,CAAC,CAAA;IAClD,MAAM,KAAK,CAAC,yBAAyB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;IAE/C,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,KAAK,CAAC,MAAM,QAAQ,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,KAAK,CAAC,wEAAwE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;IAC9F,MAAM,KAAK,CAAC,8CAA8C,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;IACpE,MAAM,KAAK,CAAC,0EAA0E,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;IAChG,MAAM,KAAK,CAAC,sBAAsB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;AAC9C,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,wDAAwD,CAAC,CAAA;AAC9D,IAAI,CAAC,oBAAoB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAe,EAAE,EAAE;IAC1D,MAAM,YAAY,GAAG,GAAG,CAAS,eAAe,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACzE,MAAM,gBAAgB,GAAG,GAAG,CAC1B,aAAa,EACb,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,WAAW,CACvD,CAAA;IACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC5C,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAA;IAC/C,MAAM,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;AACrC,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,iDAAiD,CAAC,CAAA;AACvD,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,kBAAkB,CAAC,CAAA;IACtB,GAAG,CAAC,aAAa,EAAE,CAAC,CAAA;AACtB,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;AACrC,KAAK,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAA"}
@@ -0,0 +1,11 @@
1
+ import './deploy/lock.ts';
2
+ import './deploy/release.ts';
3
+ import './deploy/update_code.ts';
4
+ import './deploy/shared.ts';
5
+ import './deploy/publish.ts';
6
+ import './deploy/log_revision.ts';
7
+ import './deploy/healthcheck.ts';
8
+ import './deploy/cleanup.ts';
9
+ import './deploy/install.ts';
10
+ import './deploy/build.ts';
11
+ import './deploy/test.ts';
@@ -0,0 +1,24 @@
1
+ import { initPipeline } from "../index.js";
2
+ import "./deploy/lock.js";
3
+ import "./deploy/release.js";
4
+ import "./deploy/update_code.js";
5
+ import "./deploy/shared.js";
6
+ import "./deploy/publish.js";
7
+ import "./deploy/log_revision.js";
8
+ import "./deploy/healthcheck.js";
9
+ import "./deploy/cleanup.js";
10
+ import "./deploy/install.js";
11
+ import "./deploy/build.js";
12
+ import "./deploy/test.js";
13
+ initPipeline([
14
+ 'deploy:lock',
15
+ 'deploy:release',
16
+ 'deploy:update_code',
17
+ 'deploy:shared',
18
+ 'deploy:publish',
19
+ 'deploy:log_revision',
20
+ 'deploy:healthcheck',
21
+ 'deploy:unlock',
22
+ 'deploy:cleanup',
23
+ ]);
24
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../recipes/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,kBAAkB,CAAA;AACzB,OAAO,qBAAqB,CAAA;AAC5B,OAAO,yBAAyB,CAAA;AAChC,OAAO,oBAAoB,CAAA;AAC3B,OAAO,qBAAqB,CAAA;AAC5B,OAAO,0BAA0B,CAAA;AACjC,OAAO,yBAAyB,CAAA;AAChC,OAAO,qBAAqB,CAAA;AAC5B,OAAO,qBAAqB,CAAA;AAC5B,OAAO,mBAAmB,CAAA;AAC1B,OAAO,kBAAkB,CAAA;AAEzB,YAAY,CAAC;IACX,aAAa;IACb,gBAAgB;IAChB,oBAAoB;IACpB,eAAe;IACf,gBAAgB;IAChB,qBAAqB;IACrB,oBAAoB;IACpB,eAAe;IACf,gBAAgB;CACjB,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ declare module '../../src/types.ts' {
2
+ interface TaskRegistry {
3
+ 'deploy:build': true;
4
+ }
5
+ }
6
+ export {};
@@ -0,0 +1,7 @@
1
+ import { task, desc, cd, run, pm } from "../../index.js";
2
+ desc('Builds the application in the release');
3
+ task('deploy:build', () => {
4
+ cd('{{release_path}}');
5
+ run(`${pm()} run build`);
6
+ });
7
+ //# sourceMappingURL=build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../recipes/deploy/build.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAQxD,IAAI,CAAC,uCAAuC,CAAC,CAAA;AAC7C,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,kBAAkB,CAAC,CAAA;IACtB,GAAG,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAA;AAC1B,CAAC,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ declare module '../../src/types.ts' {
2
+ interface TaskRegistry {
3
+ 'deploy:cleanup': true;
4
+ }
5
+ }
6
+ export {};
@@ -0,0 +1,18 @@
1
+ import { task, desc } from "../../index.js";
2
+ import { q, ssh } from "../../src/utils.js";
3
+ desc('Removes old releases, keeping the last N defined by keepReleases');
4
+ task('deploy:cleanup', async ({ config, host, paths }) => {
5
+ await ssh(host, `
6
+ set -e
7
+ [ -d ${q(paths.releases)} ] || exit 0
8
+ cd ${q(paths.releases)}
9
+
10
+ count=$(find . -mindepth 1 -maxdepth 1 -type d -printf '%P\n' | wc -l | tr -d ' ')
11
+ if [ "$count" -le ${config.keepReleases} ]; then
12
+ exit 0
13
+ fi
14
+
15
+ find . -mindepth 1 -maxdepth 1 -type d -printf '%P\n' | sort -r | tail -n +$(( ${config.keepReleases} + 1 )) | xargs -r rm -rf
16
+ `);
17
+ });
18
+ //# sourceMappingURL=cleanup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../../recipes/deploy/cleanup.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,IAAI,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAC7D,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AAQ3C,IAAI,CAAC,kEAAkE,CAAC,CAAA;AACxE,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAe,EAAE,EAAE;IACpE,MAAM,GAAG,CACP,IAAI,EACJ;;WAEO,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;SACnB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;;;wBAGF,MAAM,CAAC,YAAY;;;;qFAI0C,MAAM,CAAC,YAAY;GACrG,CACA,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ declare module '../../src/types.ts' {
2
+ interface TaskRegistry {
3
+ 'deploy:healthcheck': true;
4
+ }
5
+ }
6
+ export {};
@@ -0,0 +1,32 @@
1
+ import { task, desc } from "../../index.js";
2
+ import { Verbose } from "../../src/enums.js";
3
+ import { q, ssh, sleep } from "../../src/utils.js";
4
+ desc('Checks that the application is responding after deployment');
5
+ task('deploy:healthcheck', async ({ host, config, logger }) => {
6
+ const { url, retries, delayMs = 3_000 } = host.healthcheck ?? {};
7
+ const verbose = config.verbose ?? 0;
8
+ if (verbose >= Verbose.NORMAL)
9
+ logger.step(host.name, `healthcheck ${url}`);
10
+ if (retries) {
11
+ for (let i = 1; i <= retries; i += 1) {
12
+ try {
13
+ await ssh(host, `
14
+ set -e
15
+ curl --fail --silent --show-error --max-time 5 ${q(url)} >/dev/null
16
+ `);
17
+ if (verbose >= Verbose.NORMAL)
18
+ logger.step(host.name, `healthcheck OK (${i}/${retries})`);
19
+ return;
20
+ }
21
+ catch {
22
+ if (verbose >= Verbose.NORMAL)
23
+ logger.step(host.name, `healthcheck failed (${i}/${retries})`);
24
+ if (i < retries) {
25
+ await sleep(delayMs);
26
+ }
27
+ }
28
+ }
29
+ }
30
+ throw new Error(`[${host.name}] healthcheck failed: ${url}`);
31
+ });
32
+ //# sourceMappingURL=healthcheck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"healthcheck.js","sourceRoot":"","sources":["../../../recipes/deploy/healthcheck.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,IAAI,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAQlD,IAAI,CAAC,4DAA4D,CAAC,CAAA;AAClE,IAAI,CAAC,oBAAoB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAe,EAAE,EAAE;IACzE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAA;IAChE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAA;IAEnC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM;QAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,GAAG,EAAE,CAAC,CAAA;IAE3E,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,MAAM,GAAG,CACP,IAAI,EACJ;;2DAEiD,CAAC,CAAC,GAAG,CAAC;SACxD,CACA,CAAA;gBACD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM;oBAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,OAAO,GAAG,CAAC,CAAA;gBACzF,OAAM;YACR,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM;oBAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,uBAAuB,CAAC,IAAI,OAAO,GAAG,CAAC,CAAA;gBAChE,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC;oBAChB,MAAM,KAAK,CAAC,OAAO,CAAC,CAAA;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,yBAAyB,GAAG,EAAE,CAAC,CAAA;AAC9D,CAAC,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ declare module '../../src/types.ts' {
2
+ interface TaskRegistry {
3
+ 'deploy:install': true;
4
+ }
5
+ }
6
+ export {};
@@ -0,0 +1,7 @@
1
+ import { task, desc, cd, run, pmInstall } from "../../index.js";
2
+ desc('Installs dependencies in the release');
3
+ task('deploy:install', () => {
4
+ cd('{{release_path}}');
5
+ run(pmInstall());
6
+ });
7
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../recipes/deploy/install.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAQ/D,IAAI,CAAC,sCAAsC,CAAC,CAAA;AAC5C,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,kBAAkB,CAAC,CAAA;IACtB,GAAG,CAAC,SAAS,EAAE,CAAC,CAAA;AAClB,CAAC,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ declare module '../../src/types.ts' {
2
+ interface TaskRegistry {
3
+ 'deploy:lock': true;
4
+ 'deploy:unlock': true;
5
+ }
6
+ }
7
+ export {};
@@ -0,0 +1,27 @@
1
+ import { task, desc } from "../../index.js";
2
+ import { q, ssh } from "../../src/utils.js";
3
+ desc('Creates a deploy lock to prevent concurrent deployments');
4
+ task('deploy:lock', async ({ host, release, paths }) => {
5
+ try {
6
+ await ssh(host, `
7
+ set -e
8
+ if [ -f ${q(paths.lock)} ]; then
9
+ echo "Deploy lock already present: ${paths.lock}" >&2
10
+ exit 1
11
+ fi
12
+ echo ${q(release)} > ${q(paths.lock)}
13
+ `, { quiet: true });
14
+ }
15
+ catch (error) {
16
+ throw new Error(error.stderr?.trim() || error.message);
17
+ }
18
+ });
19
+ desc('Removes the deploy lock');
20
+ task('deploy:unlock', async ({ host, paths }) => {
21
+ await ssh(host, `
22
+ set +e
23
+ rm -f ${q(paths.lock)}
24
+ true
25
+ `, { quiet: true });
26
+ });
27
+ //# sourceMappingURL=lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../../recipes/deploy/lock.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,IAAI,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAC7D,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AAS3C,IAAI,CAAC,yDAAyD,CAAC,CAAA;AAC/D,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAe,EAAE,EAAE;IAClE,IAAI,CAAC;QACH,MAAM,GAAG,CACP,IAAI,EACJ;;gBAEU,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;6CACgB,KAAK,CAAC,IAAI;;;aAG1C,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;KACrC,EACC,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAE,KAAa,CAAC,MAAM,EAAE,IAAI,EAAE,IAAK,KAAe,CAAC,OAAO,CAAC,CAAA;IAC5E,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,yBAAyB,CAAC,CAAA;AAC/B,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAe,EAAE,EAAE;IAC3D,MAAM,GAAG,CACP,IAAI,EACJ;;YAEQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;;GAEtB,EACC,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ declare module '../../src/types.ts' {
2
+ interface TaskRegistry {
3
+ 'deploy:log_revision': true;
4
+ }
5
+ }
6
+ export {};
@@ -0,0 +1,40 @@
1
+ import { task, desc, isVerbose } from "../../index.js";
2
+ import { Verbose } from "../../src/enums.js";
3
+ import { q, ssh } from "../../src/utils.js";
4
+ import { $ } from 'execa';
5
+ desc('Appends branch, commit and user info to revisions.log');
6
+ task('deploy:log_revision', async ({ host, paths, release, logger }) => {
7
+ let branch = typeof host.branch === 'object' ? host.branch.name : (host.branch ?? 'unknown');
8
+ if (branch === 'unknown') {
9
+ try {
10
+ if (isVerbose(Verbose.TRACE))
11
+ logger.cmd('git rev-parse --abbrev-ref HEAD');
12
+ const branchResult = await $ `git rev-parse --abbrev-ref HEAD`;
13
+ branch = branchResult.stdout.trim();
14
+ }
15
+ catch { }
16
+ }
17
+ let commit = 'unknown';
18
+ let user = process.env.DEPLOY_USER?.trim() || 'unknown';
19
+ try {
20
+ if (isVerbose(Verbose.TRACE))
21
+ logger.cmd('git rev-parse HEAD');
22
+ const commitResult = await $ `git rev-parse HEAD`;
23
+ commit = commitResult.stdout.trim();
24
+ if (isVerbose(Verbose.TRACE))
25
+ logger.cmd('git config user.name');
26
+ const userResult = await $ `git config user.name`;
27
+ user = userResult.stdout.trim() || user;
28
+ }
29
+ catch { }
30
+ const line = JSON.stringify({
31
+ release,
32
+ branch,
33
+ commit,
34
+ user,
35
+ date: new Date().toISOString(),
36
+ });
37
+ const logFile = `${paths.cataConfig}/revisions.log`;
38
+ await ssh(host, `echo ${q(line)} >> ${q(logFile)}`);
39
+ });
40
+ //# sourceMappingURL=log_revision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log_revision.js","sourceRoot":"","sources":["../../../recipes/deploy/log_revision.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,CAAC,EAAE,MAAM,OAAO,CAAA;AAQzB,IAAI,CAAC,uDAAuD,CAAC,CAAA;AAC7D,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAe,EAAE,EAAE;IAClF,IAAI,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,CAAA;IAC5F,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAA;YAC3E,MAAM,YAAY,GAAG,MAAM,CAAC,CAAA,iCAAiC,CAAA;YAC7D,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QACrC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IACD,IAAI,MAAM,GAAG,SAAS,CAAA;IACtB,IAAI,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,SAAS,CAAA;IAEvD,IAAI,CAAC;QACH,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;QAC9D,MAAM,YAAY,GAAG,MAAM,CAAC,CAAA,oBAAoB,CAAA;QAChD,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QACnC,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;QAChE,MAAM,UAAU,GAAG,MAAM,CAAC,CAAA,sBAAsB,CAAA;QAChD,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,CAAA;IACzC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1B,OAAO;QACP,MAAM;QACN,MAAM;QACN,IAAI;QACJ,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KAC/B,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,UAAU,gBAAgB,CAAA;IAEnD,MAAM,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;AACrD,CAAC,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ declare module '../../src/types.ts' {
2
+ interface TaskRegistry {
3
+ 'deploy:publish': true;
4
+ }
5
+ }
6
+ export {};
@@ -0,0 +1,6 @@
1
+ import { task, desc, run } from "../../index.js";
2
+ desc('Switches current symlink to the new release');
3
+ task('deploy:publish', () => {
4
+ run('ln -sfn {{release_path}} {{current_path}}');
5
+ });
6
+ //# sourceMappingURL=publish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../recipes/deploy/publish.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAQhD,IAAI,CAAC,6CAA6C,CAAC,CAAA;AACnD,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC1B,GAAG,CAAC,2CAA2C,CAAC,CAAA;AAClD,CAAC,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ declare module '../../src/types.ts' {
2
+ interface TaskRegistry {
3
+ 'deploy:release': true;
4
+ }
5
+ }
6
+ export {};
@@ -0,0 +1,6 @@
1
+ import { task, desc, run } from "../../index.js";
2
+ desc('Creates the release directory on the server');
3
+ task('deploy:release', () => {
4
+ run('mkdir -p {{release_path}}');
5
+ });
6
+ //# sourceMappingURL=release.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release.js","sourceRoot":"","sources":["../../../recipes/deploy/release.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAQhD,IAAI,CAAC,6CAA6C,CAAC,CAAA;AACnD,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC1B,GAAG,CAAC,2BAA2B,CAAC,CAAA;AAClC,CAAC,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ declare module '../../src/types.ts' {
2
+ interface TaskRegistry {
3
+ 'deploy:shared': true;
4
+ }
5
+ }
6
+ export {};
@@ -0,0 +1,6 @@
1
+ import { task, desc, linkSharedPaths } from "../../index.js";
2
+ desc('Symlinks shared directories and files into the release');
3
+ task('deploy:shared', () => {
4
+ linkSharedPaths('{{release_path}}');
5
+ });
6
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../recipes/deploy/shared.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAQ5D,IAAI,CAAC,wDAAwD,CAAC,CAAA;AAC9D,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE;IACzB,eAAe,CAAC,kBAAkB,CAAC,CAAA;AACrC,CAAC,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ declare module '../../src/types.ts' {
2
+ interface TaskRegistry {
3
+ 'deploy:test': true;
4
+ }
5
+ }
6
+ export {};
@@ -0,0 +1,7 @@
1
+ import { task, desc, cd, run, pm } from "../../index.js";
2
+ desc('Tests the application in the release');
3
+ task('deploy:test', () => {
4
+ cd('{{release_path}}');
5
+ run(`${pm()} run test`);
6
+ });
7
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../../recipes/deploy/test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAQxD,IAAI,CAAC,sCAAsC,CAAC,CAAA;AAC5C,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,kBAAkB,CAAC,CAAA;IACtB,GAAG,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAA;AACzB,CAAC,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ declare module '../../src/types.ts' {
2
+ interface TaskRegistry {
3
+ 'deploy:update_code': true;
4
+ }
5
+ }
6
+ export {};
@@ -0,0 +1,6 @@
1
+ import { task, desc } from "../../index.js";
2
+ desc('Method for updating code');
3
+ task('deploy:update_code', () => {
4
+ throw new Error('Please implement this task');
5
+ });
6
+ //# sourceMappingURL=update_code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update_code.js","sourceRoot":"","sources":["../../../recipes/deploy/update_code.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAQ3C,IAAI,CAAC,0BAA0B,CAAC,CAAA;AAChC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAC9B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;AAC/C,CAAC,CAAC,CAAA"}
@@ -1,6 +1,9 @@
1
- import type { Host } from './types.ts';
1
+ import type { DeployContext, Host } from './types.ts';
2
2
  import { BaseCommand } from '@adonisjs/ace';
3
3
  export declare abstract class BaseDeployCommand extends BaseCommand {
4
4
  host: string | undefined;
5
5
  protected selectHosts(): Promise<Host[] | null>;
6
+ protected setupCommand(host: Host): string;
7
+ protected missingSetupMessage(host: Host): string;
8
+ protected ensureHostSetup(ctx: DeployContext, host: Host): Promise<boolean>;
6
9
  }
@@ -9,6 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import { BaseCommand, flags } from '@adonisjs/ace';
11
11
  import { Context } from "./context.js";
12
+ import { isHostSetup } from "./deployer.js";
12
13
  export class BaseDeployCommand extends BaseCommand {
13
14
  async selectHosts() {
14
15
  const ctx = Context.get();
@@ -33,6 +34,19 @@ export class BaseDeployCommand extends BaseCommand {
33
34
  }
34
35
  return ctx.config.hosts;
35
36
  }
37
+ setupCommand(host) {
38
+ return `npx cata deploy:setup -H ${host.name}`;
39
+ }
40
+ missingSetupMessage(host) {
41
+ return `[${host.name}] Catapult is not initialized on this server. Run: ${this.setupCommand(host)}`;
42
+ }
43
+ async ensureHostSetup(ctx, host) {
44
+ if (await isHostSetup(ctx, host))
45
+ return true;
46
+ this.logger.error(this.missingSetupMessage(host));
47
+ this.exitCode = 1;
48
+ return false;
49
+ }
36
50
  }
37
51
  __decorate([
38
52
  flags.string({ alias: 'H', description: 'Target a specific host' }),
@@ -1 +1 @@
1
- {"version":3,"file":"base_command.js","sourceRoot":"","sources":["../../src/base_command.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,OAAgB,iBAAkB,SAAQ,WAAW;IAI/C,KAAK,CAAC,WAAW;QACzB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;QAEzB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAA;YAClE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;gBAC/C,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;gBACjB,OAAO,IAAI,CAAA;YACb,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CACzC,cAAc,EACd,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CACjE,CAAA;YACD,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;YACvE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;gBACrC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;gBACjB,OAAO,IAAI,CAAA;YACb,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAA;IACzB,CAAC;CACF;AA/BS;IADP,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC;;+CACpC"}
1
+ {"version":3,"file":"base_command.js","sourceRoot":"","sources":["../../src/base_command.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,OAAgB,iBAAkB,SAAQ,WAAW;IAI/C,KAAK,CAAC,WAAW;QACzB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;QAEzB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAA;YAClE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;gBAC/C,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;gBACjB,OAAO,IAAI,CAAA;YACb,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CACzC,cAAc,EACd,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CACjE,CAAA;YACD,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;YACvE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;gBACrC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;gBACjB,OAAO,IAAI,CAAA;YACb,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAA;IACzB,CAAC;IAES,YAAY,CAAC,IAAU;QAC/B,OAAO,4BAA4B,IAAI,CAAC,IAAI,EAAE,CAAA;IAChD,CAAC;IAES,mBAAmB,CAAC,IAAU;QACtC,OAAO,IAAI,IAAI,CAAC,IAAI,sDAAsD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAA;IACrG,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,GAAkB,EAAE,IAAU;QAC5D,IAAI,MAAM,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QAE7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAA;QACjD,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;QACjB,OAAO,KAAK,CAAA;IACd,CAAC;CACF;AA/CS;IADP,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC;;+CACpC"}
@@ -1,3 +1,3 @@
1
1
  import type { Config } from './types.ts';
2
- import './defaults.ts';
2
+ import '../recipes/common.ts';
3
3
  export declare function defineConfig(config: Config): () => Promise<void>;
@@ -2,7 +2,7 @@ import { Verbose } from "./enums.js";
2
2
  import { Context } from "./context.js";
3
3
  import { detectPackageManager } from "./utils.js";
4
4
  import { remove, getPipeline } from "./pipeline.js";
5
- import "./defaults.js";
5
+ import "../recipes/common.js";
6
6
  const initialConfigValues = {
7
7
  keepReleases: 5,
8
8
  verbose: Verbose.TRACE,
@@ -1 +1 @@
1
- {"version":3,"file":"define_config.js","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,eAAe,CAAA;AAEtB,MAAM,mBAAmB,GAAG;IAC1B,YAAY,EAAE,CAAC;IACf,OAAO,EAAE,OAAO,CAAC,KAAK;CACvB,CAAA;AAED,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,MAAM,QAAQ,GAAW,EAAE,GAAG,mBAAmB,EAAE,GAAG,MAAM,EAAE,CAAA;IAE9D,OAAO,KAAK,IAAI,EAAE;QAChB,MAAM,EAAE,GAAG,MAAM,oBAAoB,EAAE,CAAA;QACvC,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAC9D,OAAO,CAAC,GAAG,CAAC;YACV,MAAM,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,GAAG,QAAQ,EAAE;YAC3C,OAAO;YACP,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;SAC1B,CAAC,CAAA;QAEF,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;QACnE,IAAI,CAAC,cAAc,IAAI,WAAW,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACpE,MAAM,CAAC,oBAAoB,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"define_config.js","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,sBAAsB,CAAA;AAE7B,MAAM,mBAAmB,GAAG;IAC1B,YAAY,EAAE,CAAC;IACf,OAAO,EAAE,OAAO,CAAC,KAAK;CACvB,CAAA;AAED,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,MAAM,QAAQ,GAAW,EAAE,GAAG,mBAAmB,EAAE,GAAG,MAAM,EAAE,CAAA;IAE9D,OAAO,KAAK,IAAI,EAAE;QAChB,MAAM,EAAE,GAAG,MAAM,oBAAoB,EAAE,CAAA;QACvC,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAC9D,OAAO,CAAC,GAAG,CAAC;YACV,MAAM,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,GAAG,QAAQ,EAAE;YAC3C,OAAO;YACP,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;SAC1B,CAAC,CAAA;QAEF,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;QACnE,IAAI,CAAC,cAAc,IAAI,WAAW,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACpE,MAAM,CAAC,oBAAoB,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import type { Host, DeployContext } from './types.ts';
2
2
  export declare function setupHost(ctx: DeployContext, host: Host): Promise<void>;
3
+ export declare function initializeHost(ctx: DeployContext, host: Host): Promise<void>;
4
+ export declare function isHostSetup(ctx: DeployContext, host: Host): Promise<boolean>;
3
5
  export declare function getCurrentRelease(ctx: DeployContext, host: Host): Promise<string | null>;
4
6
  export declare function getReleaseNames(ctx: DeployContext, host: Host): Promise<string[]>;
5
7
  export declare function rollbackHost(ctx: DeployContext, host: Host, target?: string): Promise<void>;
@@ -4,6 +4,7 @@ import { runTask } from "./task.js";
4
4
  import { get } from "./store.js";
5
5
  import { getPipeline } from "./pipeline.js";
6
6
  import { logger } from "./logger.js";
7
+ import { hooks } from "./pipeline/hooks.js";
7
8
  async function runHook(ctx, name, context = {}) {
8
9
  if (!ctx.hooks[name])
9
10
  return;
@@ -31,6 +32,22 @@ export async function setupHost(ctx, host) {
31
32
  ${mkfiles}
32
33
  `);
33
34
  }
35
+ export async function initializeHost(ctx, host) {
36
+ await setupHost(ctx, host);
37
+ for (const hook of hooks.getSetup()) {
38
+ await hook(ctx, host, logger);
39
+ }
40
+ }
41
+ export async function isHostSetup(ctx, host) {
42
+ const paths = getPaths(host.deployPath, ctx.release);
43
+ try {
44
+ await ssh(host, `set -e\n[ -d ${q(paths.cataConfig)} ]`);
45
+ return true;
46
+ }
47
+ catch {
48
+ return false;
49
+ }
50
+ }
34
51
  export async function getCurrentRelease(ctx, host) {
35
52
  const paths = getPaths(host.deployPath, ctx.release);
36
53
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"deployer.js","sourceRoot":"","sources":["../../src/deployer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deployer.js","sourceRoot":"","sources":["../../src/deployer.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { join, resolve } from 'node:path';
5
5
  import { createHash } from 'node:crypto';
6
6
  import { access } from 'node:fs/promises';
7
7
  import { logger } from "./logger.js";
8
- const DEPLOY_CANDIDATES = ['deploy.ts', 'deploy.js'];
8
+ const DEPLOY_CANDIDATES = ['deploy.ts', 'deploy.config.ts', 'deploy.js', 'deploy.config.js'];
9
9
  const PM_LOCK_FILES = [
10
10
  ['bun.lock', PackageManager.BUN],
11
11
  ['bun.lockb', PackageManager.BUN],
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@catapultjs/deploy",
3
- "version": "0.6.2",
3
+ "version": "0.8.0",
4
4
  "type": "module",
5
5
  "main": "build/index.js",
6
6
  "bin": {
@@ -1,17 +0,0 @@
1
- declare module './types.ts' {
2
- interface TaskRegistry {
3
- 'deploy:lock': true;
4
- 'deploy:release': true;
5
- 'deploy:update_code': true;
6
- 'deploy:shared': true;
7
- 'deploy:publish': true;
8
- 'deploy:log_revision': true;
9
- 'deploy:healthcheck': true;
10
- 'deploy:unlock': true;
11
- 'deploy:cleanup': true;
12
- 'deploy:install': true;
13
- 'deploy:build': true;
14
- 'deploy:test': true;
15
- }
16
- }
17
- export {};
@@ -1,152 +0,0 @@
1
- import { $ } from 'execa';
2
- import { q, ssh, sleep } from "./utils.js";
3
- import { task, desc, cd, run, isVerbose } from "./task.js";
4
- import { pm, pmInstall } from "./package_manager.js";
5
- import { initPipeline as setPipeline } from "./pipeline.js";
6
- import { Verbose } from "./enums.js";
7
- import { linkSharedPaths } from "./actions.js";
8
- desc('Creates a deploy lock to prevent concurrent deployments');
9
- task('deploy:lock', async ({ host, release, paths }) => {
10
- try {
11
- await ssh(host, `
12
- set -e
13
- if [ -f ${q(paths.lock)} ]; then
14
- echo "Deploy lock already present: ${paths.lock}" >&2
15
- exit 1
16
- fi
17
- echo ${q(release)} > ${q(paths.lock)}
18
- `, { quiet: true });
19
- }
20
- catch (error) {
21
- throw new Error(error.stderr?.trim() || error.message);
22
- }
23
- });
24
- desc('Removes the deploy lock');
25
- task('deploy:unlock', async ({ host, paths }) => {
26
- await ssh(host, `
27
- set +e
28
- rm -f ${q(paths.lock)}
29
- true
30
- `, { quiet: true });
31
- });
32
- desc('Creates the release directory on the server');
33
- task('deploy:release', () => {
34
- run('mkdir -p {{release_path}}');
35
- });
36
- desc('Method for updating code');
37
- task('deploy:update_code', () => {
38
- throw new Error('Please implement this task');
39
- });
40
- desc('Symlinks shared directories and files into the release');
41
- task('deploy:shared', () => {
42
- linkSharedPaths('{{release_path}}');
43
- });
44
- desc('Switches current symlink to the new release');
45
- task('deploy:publish', () => {
46
- run('ln -sfn {{release_path}} {{current_path}}');
47
- });
48
- desc('Appends branch, commit and user info to revisions.log');
49
- task('deploy:log_revision', async ({ host, paths, release, logger }) => {
50
- let branch = typeof host.branch === 'object' ? host.branch.name : (host.branch ?? 'unknown');
51
- if (branch === 'unknown') {
52
- try {
53
- if (isVerbose(Verbose.TRACE))
54
- logger.cmd('git rev-parse --abbrev-ref HEAD');
55
- const branchResult = await $ `git rev-parse --abbrev-ref HEAD`;
56
- branch = branchResult.stdout.trim();
57
- }
58
- catch { }
59
- }
60
- let commit = 'unknown';
61
- let user = 'unknown';
62
- try {
63
- if (isVerbose(Verbose.TRACE))
64
- logger.cmd('git rev-parse HEAD');
65
- const commitResult = await $ `git rev-parse HEAD`;
66
- commit = commitResult.stdout.trim();
67
- if (isVerbose(Verbose.TRACE))
68
- logger.cmd('git config user.name');
69
- const userResult = await $ `git config user.name`;
70
- user = userResult.stdout.trim();
71
- }
72
- catch { }
73
- const line = JSON.stringify({
74
- release,
75
- branch,
76
- commit,
77
- user,
78
- date: new Date().toISOString(),
79
- });
80
- const logFile = `${paths.cataConfig}/revisions.log`;
81
- await ssh(host, `echo ${q(line)} >> ${q(logFile)}`);
82
- });
83
- desc('Checks that the application is responding after deployment');
84
- task('deploy:healthcheck', async ({ host, config, logger }) => {
85
- const { url, retries, delayMs = 3_000 } = host.healthcheck ?? {};
86
- const verbose = config.verbose ?? 0;
87
- if (verbose >= Verbose.NORMAL)
88
- logger.step(host.name, `healthcheck ${url}`);
89
- if (retries) {
90
- for (let i = 1; i <= retries; i += 1) {
91
- try {
92
- await ssh(host, `
93
- set -e
94
- curl --fail --silent --show-error --max-time 5 ${q(url)} >/dev/null
95
- `);
96
- if (verbose >= Verbose.NORMAL)
97
- logger.step(host.name, `healthcheck OK (${i}/${retries})`);
98
- return;
99
- }
100
- catch {
101
- if (verbose >= Verbose.NORMAL)
102
- logger.step(host.name, `healthcheck failed (${i}/${retries})`);
103
- if (i < retries) {
104
- await sleep(delayMs);
105
- }
106
- }
107
- }
108
- }
109
- throw new Error(`[${host.name}] healthcheck failed: ${url}`);
110
- });
111
- desc('Removes old releases, keeping the last N defined by keepReleases');
112
- task('deploy:cleanup', async ({ config, host, paths }) => {
113
- await ssh(host, `
114
- set -e
115
- [ -d ${q(paths.releases)} ] || exit 0
116
- cd ${q(paths.releases)}
117
-
118
- count=$(find . -mindepth 1 -maxdepth 1 -type d -printf '%P\n' | wc -l | tr -d ' ')
119
- if [ "$count" -le ${config.keepReleases} ]; then
120
- exit 0
121
- fi
122
-
123
- find . -mindepth 1 -maxdepth 1 -type d -printf '%P\n' | sort -r | tail -n +$(( ${config.keepReleases} + 1 )) | xargs -r rm -rf
124
- `);
125
- });
126
- desc('Installs dependencies in the release');
127
- task('deploy:install', () => {
128
- cd('{{release_path}}');
129
- run(pmInstall());
130
- });
131
- desc('Builds the application in the release');
132
- task('deploy:build', () => {
133
- cd('{{release_path}}');
134
- run(`${pm()} run build`);
135
- });
136
- desc('Tests the application in the release');
137
- task('deploy:test', () => {
138
- cd('{{release_path}}');
139
- run(`${pm()} run test`);
140
- });
141
- setPipeline([
142
- 'deploy:lock',
143
- 'deploy:release',
144
- 'deploy:update_code',
145
- 'deploy:shared',
146
- 'deploy:publish',
147
- 'deploy:log_revision',
148
- 'deploy:healthcheck',
149
- 'deploy:unlock',
150
- 'deploy:cleanup',
151
- ]);
152
- //# sourceMappingURL=defaults.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/defaults.ts"],"names":[],"mappings":"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"}