rampway 0.2.5 → 0.2.6
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/build/src/commands/deploy.d.ts.map +1 -1
- package/build/src/commands/deploy.js +31 -7
- package/build/src/commands/deploy.js.map +1 -1
- package/build/src/core/deploy-log.d.ts +66 -0
- package/build/src/core/deploy-log.d.ts.map +1 -0
- package/build/src/core/deploy-log.js +112 -0
- package/build/src/core/deploy-log.js.map +1 -0
- package/build/src/core/reporter.d.ts +37 -6
- package/build/src/core/reporter.d.ts.map +1 -1
- package/build/src/core/reporter.js +46 -6
- package/build/src/core/reporter.js.map +1 -1
- package/build/src/transports/local-transport.js +3 -3
- package/build/src/transports/local-transport.js.map +1 -1
- package/build/src/transports/ssh-transport.js +6 -6
- package/build/src/transports/ssh-transport.js.map +1 -1
- package/docs/config-reference.md +15 -0
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy.js"],"names":[],"mappings":"AAMA;;;GAGG;AACH,sEAHW,OAAO,QAAQ,EAAE,WAAW,GAC1B,OAAO,CAAC,IAAI,CAAC,CAgCzB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// @ts-check
|
|
2
2
|
import { commandContext as defaultCommandContext } from "./context.js";
|
|
3
3
|
import { deploy } from "../core/deploy-runner.js";
|
|
4
|
+
import { openDeployLog } from "../core/deploy-log.js";
|
|
4
5
|
import { humanReporter, jsonReporter } from "../core/reporter.js";
|
|
5
6
|
/**
|
|
6
7
|
* @param {import('#types').CommandArgs} args
|
|
@@ -8,22 +9,43 @@ import { humanReporter, jsonReporter } from "../core/reporter.js";
|
|
|
8
9
|
*/
|
|
9
10
|
export async function deployCommand({ stageName, options, commandContext = defaultCommandContext }) {
|
|
10
11
|
const reporter = options.json ? jsonReporter() : humanReporter();
|
|
11
|
-
const { stage, transport } = await commandContext(options, stageName, { reporter });
|
|
12
|
+
const { config, stage, transport } = await commandContext(options, stageName, { reporter });
|
|
12
13
|
const resolvedStage = options.branch && !options.revision ? { ...stage, revision: undefined } : stage;
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
const sourcePath = options.source ?? process.cwd();
|
|
15
|
+
// A dry run only prints a plan, so there is no deploy transcript worth keeping.
|
|
16
|
+
const deployLog = options.dryRun ? null : openDeployLog({ config, sourcePath, stageName });
|
|
17
|
+
if (deployLog) {
|
|
18
|
+
reporter.attachLogStream(deployLog.stream);
|
|
19
|
+
// Emitted through the reporter so it records its own path as the log's first
|
|
20
|
+
// line and stays off stdout in `--json` mode.
|
|
21
|
+
reporter.line(`Logging deploy output to ${deployLog.path}`);
|
|
22
|
+
}
|
|
23
|
+
try {
|
|
24
|
+
const report = await deploy({ transport, stage: resolvedStage, sourcePath, revision: options.revision, branch: options.branch ?? stage.branch, dryRun: options.dryRun, force: options.force, reporter });
|
|
25
|
+
if (options.json || "plan" in report) {
|
|
26
|
+
console.log(JSON.stringify(report, null, 2));
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
printSummary(/** @type {import('#types').DeployReport} */ (report), deployLog?.path);
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
if (deployLog)
|
|
33
|
+
deployLog.stream.write(`\nDeploy failed: ${ /** @type {Error} */(error).message}\n`);
|
|
34
|
+
throw error;
|
|
35
|
+
}
|
|
36
|
+
finally {
|
|
37
|
+
if (deployLog)
|
|
38
|
+
await deployLog.close();
|
|
17
39
|
}
|
|
18
|
-
printSummary(/** @type {import('#types').DeployReport} */ (report));
|
|
19
40
|
}
|
|
20
41
|
/**
|
|
21
42
|
* Prints a concise Capistrano-style final summary of a successful deploy.
|
|
22
43
|
*
|
|
23
44
|
* @param {import('#types').DeployReport} report
|
|
45
|
+
* @param {string} [logPath] Path of the persistent per-deploy log, when written.
|
|
24
46
|
* @returns {void}
|
|
25
47
|
*/
|
|
26
|
-
function printSummary(report) {
|
|
48
|
+
function printSummary(report, logPath) {
|
|
27
49
|
const seconds = report.durationMs === undefined ? undefined : (report.durationMs / 1000).toFixed(1);
|
|
28
50
|
console.log(`✔ Deployed ${report.application}/${report.stage} revision ${report.revision} as release ${report.releaseId}${seconds === undefined ? "" : ` in ${seconds}s`}`);
|
|
29
51
|
if (report.previousRelease)
|
|
@@ -31,5 +53,7 @@ function printSummary(report) {
|
|
|
31
53
|
console.log(` Health checks: ${report.healthChecks ?? "n/a"}`);
|
|
32
54
|
const removed = report.cleanupRemoved ?? [];
|
|
33
55
|
console.log(` Cleaned up: ${removed.length} old release${removed.length === 1 ? "" : "s"}`);
|
|
56
|
+
if (logPath)
|
|
57
|
+
console.log(` Deploy log: ${logPath}`);
|
|
34
58
|
}
|
|
35
59
|
//# sourceMappingURL=deploy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/commands/deploy.js"],"names":[],"mappings":"AAAA,YAAY;AACZ,OAAO,EAAC,cAAc,IAAI,qBAAqB,EAAC,MAAM,cAAc,CAAA;AACpE,OAAO,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAA;AAC/C,OAAO,EAAC,aAAa,EAAE,YAAY,EAAC,MAAM,qBAAqB,CAAA;AAE/D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,qBAAqB,EAAC;IAC9F,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;IAChE,MAAM,EAAC,KAAK,EAAE,SAAS,EAAC,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,EAAC,QAAQ,EAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/commands/deploy.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name DeployLogSettings
|
|
3
|
+
* @typedef {object} DeployLogSettings
|
|
4
|
+
* @property {boolean} enabled Whether a per-deploy log file is written.
|
|
5
|
+
* @property {string} dir Log directory; relative paths resolve against the deploy source.
|
|
6
|
+
* @property {number} keep Number of most-recent deploy logs to retain.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Resolves the per-deploy log settings from the loaded Rampway config, applying
|
|
10
|
+
* defaults. `deployLog: false` (or `{enabled: false}`) disables logging.
|
|
11
|
+
*
|
|
12
|
+
* @param {unknown} rawConfig Full loaded Rampway config object.
|
|
13
|
+
* @returns {DeployLogSettings}
|
|
14
|
+
*/
|
|
15
|
+
export function resolveDeployLogConfig(rawConfig: unknown): DeployLogSettings;
|
|
16
|
+
/**
|
|
17
|
+
* @name DeployLog
|
|
18
|
+
* @typedef {object} DeployLog
|
|
19
|
+
* @property {string} path Absolute path of the log file being written.
|
|
20
|
+
* @property {import('node:fs').WriteStream} stream Append stream to tee reporter output into.
|
|
21
|
+
* @property {() => Promise<void>} close Flushes and closes the log stream.
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Opens the per-deploy log for a run: resolves the directory relative to the
|
|
25
|
+
* deploy source, creates a timestamped file, prunes old logs to the configured
|
|
26
|
+
* keep count, and returns an append stream. Returns `null` when logging is
|
|
27
|
+
* disabled.
|
|
28
|
+
*
|
|
29
|
+
* @param {{config: unknown, sourcePath: string, stageName: string, now?: Date}} args
|
|
30
|
+
* @returns {DeployLog | null}
|
|
31
|
+
*/
|
|
32
|
+
export function openDeployLog({ config, sourcePath, stageName, now }: {
|
|
33
|
+
config: unknown;
|
|
34
|
+
sourcePath: string;
|
|
35
|
+
stageName: string;
|
|
36
|
+
now?: Date;
|
|
37
|
+
}): DeployLog | null;
|
|
38
|
+
export type DeployLogSettings = {
|
|
39
|
+
/**
|
|
40
|
+
* Whether a per-deploy log file is written.
|
|
41
|
+
*/
|
|
42
|
+
enabled: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Log directory; relative paths resolve against the deploy source.
|
|
45
|
+
*/
|
|
46
|
+
dir: string;
|
|
47
|
+
/**
|
|
48
|
+
* Number of most-recent deploy logs to retain.
|
|
49
|
+
*/
|
|
50
|
+
keep: number;
|
|
51
|
+
};
|
|
52
|
+
export type DeployLog = {
|
|
53
|
+
/**
|
|
54
|
+
* Absolute path of the log file being written.
|
|
55
|
+
*/
|
|
56
|
+
path: string;
|
|
57
|
+
/**
|
|
58
|
+
* Append stream to tee reporter output into.
|
|
59
|
+
*/
|
|
60
|
+
stream: import("node:fs").WriteStream;
|
|
61
|
+
/**
|
|
62
|
+
* Flushes and closes the log stream.
|
|
63
|
+
*/
|
|
64
|
+
close: () => Promise<void>;
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=deploy-log.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-log.d.ts","sourceRoot":"","sources":["../../../src/core/deploy-log.js"],"names":[],"mappings":"AAqBA;;;;;;GAMG;AAEH;;;;;;GAMG;AACH,kDAHW,OAAO,GACL,iBAAiB,CAiB7B;AAED;;;;;;GAMG;AAEH;;;;;;;;GAQG;AACH,sEAHW;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAC,GAClE,SAAS,GAAG,IAAI,CAmB5B;;;;;aA/Da,OAAO;;;;SACP,MAAM;;;;UACN,MAAM;;;;;;UA8BN,MAAM;;;;YACN,OAAO,SAAS,EAAE,WAAW;;;;WAC7B,MAAM,OAAO,CAAC,IAAI,CAAC"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
/**
|
|
3
|
+
* @file Persistent per-deploy log.
|
|
4
|
+
*
|
|
5
|
+
* A deploy streams every lifecycle step and command chunk through the
|
|
6
|
+
* {@link import('./reporter.js').Reporter}. This module tees that transcript to
|
|
7
|
+
* a timestamped file on the machine running the deploy (relative to the deploy
|
|
8
|
+
* source, or a configurable directory), keeping only the most recent N logs, so
|
|
9
|
+
* a full record of each deploy survives for later inspection — the kind of
|
|
10
|
+
* per-deploy log Capistrano keeps built in.
|
|
11
|
+
*/
|
|
12
|
+
import fs from "node:fs";
|
|
13
|
+
import path from "node:path";
|
|
14
|
+
import { optionalBoolean, optionalNonBlankString, optionalPositiveInteger } from "typanic";
|
|
15
|
+
import { releaseIdFromDate } from "./release-id.js";
|
|
16
|
+
const DEFAULT_DIR = "log/deploys";
|
|
17
|
+
const DEFAULT_KEEP = 20;
|
|
18
|
+
/**
|
|
19
|
+
* @name DeployLogSettings
|
|
20
|
+
* @typedef {object} DeployLogSettings
|
|
21
|
+
* @property {boolean} enabled Whether a per-deploy log file is written.
|
|
22
|
+
* @property {string} dir Log directory; relative paths resolve against the deploy source.
|
|
23
|
+
* @property {number} keep Number of most-recent deploy logs to retain.
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* Resolves the per-deploy log settings from the loaded Rampway config, applying
|
|
27
|
+
* defaults. `deployLog: false` (or `{enabled: false}`) disables logging.
|
|
28
|
+
*
|
|
29
|
+
* @param {unknown} rawConfig Full loaded Rampway config object.
|
|
30
|
+
* @returns {DeployLogSettings}
|
|
31
|
+
*/
|
|
32
|
+
export function resolveDeployLogConfig(rawConfig) {
|
|
33
|
+
const config = rawConfig && typeof rawConfig === "object" ? /** @type {Record<string, unknown>} */ (rawConfig) : {};
|
|
34
|
+
const raw = config.deployLog;
|
|
35
|
+
if (raw === undefined || raw === null)
|
|
36
|
+
return { enabled: true, dir: DEFAULT_DIR, keep: DEFAULT_KEEP };
|
|
37
|
+
if (typeof raw === "boolean")
|
|
38
|
+
return { enabled: raw, dir: DEFAULT_DIR, keep: DEFAULT_KEEP };
|
|
39
|
+
if (typeof raw !== "object" || Array.isArray(raw))
|
|
40
|
+
throw new Error(`deployLog must be a boolean or an object, got ${JSON.stringify(raw)}`);
|
|
41
|
+
// Typanic throws loudly on a malformed field (e.g. `enabled: "false"`) rather
|
|
42
|
+
// than silently coercing it; each accessor returns null when the field is absent.
|
|
43
|
+
const settings = /** @type {Record<string, unknown>} */ (raw);
|
|
44
|
+
return {
|
|
45
|
+
enabled: optionalBoolean(settings.enabled, "deployLog.enabled") ?? true,
|
|
46
|
+
dir: optionalNonBlankString(settings.dir, "deployLog.dir") ?? DEFAULT_DIR,
|
|
47
|
+
keep: optionalPositiveInteger(settings.keep, "deployLog.keep") ?? DEFAULT_KEEP
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* @name DeployLog
|
|
52
|
+
* @typedef {object} DeployLog
|
|
53
|
+
* @property {string} path Absolute path of the log file being written.
|
|
54
|
+
* @property {import('node:fs').WriteStream} stream Append stream to tee reporter output into.
|
|
55
|
+
* @property {() => Promise<void>} close Flushes and closes the log stream.
|
|
56
|
+
*/
|
|
57
|
+
/**
|
|
58
|
+
* Opens the per-deploy log for a run: resolves the directory relative to the
|
|
59
|
+
* deploy source, creates a timestamped file, prunes old logs to the configured
|
|
60
|
+
* keep count, and returns an append stream. Returns `null` when logging is
|
|
61
|
+
* disabled.
|
|
62
|
+
*
|
|
63
|
+
* @param {{config: unknown, sourcePath: string, stageName: string, now?: Date}} args
|
|
64
|
+
* @returns {DeployLog | null}
|
|
65
|
+
*/
|
|
66
|
+
export function openDeployLog({ config, sourcePath, stageName, now = new Date() }) {
|
|
67
|
+
const { enabled, dir, keep } = resolveDeployLogConfig(config);
|
|
68
|
+
if (!enabled)
|
|
69
|
+
return null;
|
|
70
|
+
const logDir = path.isAbsolute(dir) ? dir : path.join(sourcePath, dir);
|
|
71
|
+
fs.mkdirSync(logDir, { recursive: true });
|
|
72
|
+
const logPath = path.join(logDir, `${releaseIdFromDate(now)}-${sanitizeStageForFilename(stageName)}.log`);
|
|
73
|
+
// Prune existing logs before opening this run's file, reserving one slot so the
|
|
74
|
+
// total (old logs + this deploy) settles at `keep`. `createWriteStream` creates
|
|
75
|
+
// the file lazily, so pruning here also avoids racing its on-disk appearance.
|
|
76
|
+
pruneOldDeployLogs(logDir, Math.max(0, keep - 1));
|
|
77
|
+
const stream = fs.createWriteStream(logPath, { flags: "a" });
|
|
78
|
+
return { path: logPath, stream, close: () => closeStream(stream) };
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* @param {string} stageName
|
|
82
|
+
* @returns {string}
|
|
83
|
+
*/
|
|
84
|
+
function sanitizeStageForFilename(stageName) {
|
|
85
|
+
return stageName.replace(/[^a-zA-Z0-9._-]/g, "_");
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Removes all but the newest `keep` Rampway deploy logs. Only files matching the
|
|
89
|
+
* `<timestamp>-<stage>.log` naming are considered, so unrelated files in the
|
|
90
|
+
* directory are never touched.
|
|
91
|
+
*
|
|
92
|
+
* @param {string} logDir
|
|
93
|
+
* @param {number} keep
|
|
94
|
+
* @returns {void}
|
|
95
|
+
*/
|
|
96
|
+
function pruneOldDeployLogs(logDir, keep) {
|
|
97
|
+
const entries = fs.readdirSync(logDir).filter(name => /^\d{14}-.*\.log$/.test(name)).sort();
|
|
98
|
+
const removable = entries.slice(0, Math.max(0, entries.length - keep));
|
|
99
|
+
for (const name of removable)
|
|
100
|
+
fs.rmSync(path.join(logDir, name), { force: true });
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* @param {import('node:fs').WriteStream} stream
|
|
104
|
+
* @returns {Promise<void>}
|
|
105
|
+
*/
|
|
106
|
+
function closeStream(stream) {
|
|
107
|
+
return new Promise((resolve, reject) => {
|
|
108
|
+
stream.on("error", reject);
|
|
109
|
+
stream.end(() => resolve());
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=deploy-log.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-log.js","sourceRoot":"","sources":["../../../src/core/deploy-log.js"],"names":[],"mappings":"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"}
|
|
@@ -26,13 +26,14 @@ export function jsonReporter(): Reporter;
|
|
|
26
26
|
*/
|
|
27
27
|
export class Reporter {
|
|
28
28
|
/**
|
|
29
|
-
* @param {{lifecycle?: boolean, streamCommands?: boolean, out?: import('node:stream').Writable, err?: import('node:stream').Writable}} [opts]
|
|
29
|
+
* @param {{lifecycle?: boolean, streamCommands?: boolean, out?: import('node:stream').Writable, err?: import('node:stream').Writable, logStream?: import('node:stream').Writable|null}} [opts]
|
|
30
30
|
*/
|
|
31
|
-
constructor({ lifecycle, streamCommands, out, err }?: {
|
|
31
|
+
constructor({ lifecycle, streamCommands, out, err, logStream }?: {
|
|
32
32
|
lifecycle?: boolean;
|
|
33
33
|
streamCommands?: boolean;
|
|
34
34
|
out?: import("node:stream").Writable;
|
|
35
35
|
err?: import("node:stream").Writable;
|
|
36
|
+
logStream?: import("node:stream").Writable | null;
|
|
36
37
|
});
|
|
37
38
|
/** @type {boolean} */
|
|
38
39
|
lifecycleEnabled: boolean;
|
|
@@ -42,26 +43,56 @@ export class Reporter {
|
|
|
42
43
|
out: import("node:stream").Writable;
|
|
43
44
|
/** @type {import('node:stream').Writable} */
|
|
44
45
|
err: import("node:stream").Writable;
|
|
46
|
+
/**
|
|
47
|
+
* Optional persistent per-deploy log. When attached, every lifecycle line
|
|
48
|
+
* and streamed command chunk is tee'd here in addition to the live
|
|
49
|
+
* stdout/stderr contract, so a full deploy transcript survives on disk.
|
|
50
|
+
*
|
|
51
|
+
* @type {import('node:stream').Writable|null}
|
|
52
|
+
*/
|
|
53
|
+
logStream: import("node:stream").Writable | null;
|
|
45
54
|
/**
|
|
46
55
|
* Whether live command stdout/stderr should be streamed as it arrives.
|
|
47
56
|
*
|
|
48
57
|
* @returns {boolean}
|
|
49
58
|
*/
|
|
50
59
|
get streamsCommands(): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Whether the transport should feed redacted command output to the reporter at
|
|
62
|
+
* all — either to live-stream it or to persist it to the deploy log. This is
|
|
63
|
+
* decoupled from {@link streamsCommands} so a `--json` deploy still records a
|
|
64
|
+
* full command transcript in its log even though nothing is streamed live.
|
|
65
|
+
*
|
|
66
|
+
* @returns {boolean}
|
|
67
|
+
*/
|
|
68
|
+
get capturesCommands(): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Attaches a persistent per-deploy log stream after construction. The deploy
|
|
71
|
+
* command builds the reporter before the config (and therefore the log path)
|
|
72
|
+
* is known, so the log is tee'd in once resolved.
|
|
73
|
+
*
|
|
74
|
+
* @param {import('node:stream').Writable|null} stream
|
|
75
|
+
* @returns {void}
|
|
76
|
+
*/
|
|
77
|
+
attachLogStream(stream: import("node:stream").Writable | null): void;
|
|
51
78
|
/**
|
|
52
79
|
* Prints a Capistrano-style lifecycle line in human mode; no-op otherwise.
|
|
80
|
+
* The line is always tee'd to the persistent log (when attached) so the log
|
|
81
|
+
* stays readable even for a `--json` automation deploy.
|
|
53
82
|
*
|
|
54
83
|
* @param {string} message
|
|
55
84
|
* @returns {void}
|
|
56
85
|
*/
|
|
57
86
|
line(message: string): void;
|
|
58
87
|
/**
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
88
|
+
* Records already-redacted command output. It is always tee'd to the deploy
|
|
89
|
+
* log when one is attached, so the log is a full transcript regardless of
|
|
90
|
+
* output mode. It is streamed live to the error stream only when
|
|
91
|
+
* {@link streamsCommands} is set (human mode) — the error stream keeps human
|
|
92
|
+
* stdout reserved for lifecycle progress and JSON stdout clean.
|
|
62
93
|
*
|
|
63
94
|
* @param {string} text
|
|
64
|
-
* @returns {boolean}
|
|
95
|
+
* @returns {boolean} Backpressure signal: `false` asks the caller to pause. Only the live stream can request a pause; log-only writes never do.
|
|
65
96
|
*/
|
|
66
97
|
writeCommandOutput(text: string): boolean;
|
|
67
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../../../src/core/reporter.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../../../src/core/reporter.js"],"names":[],"mappings":"AAsGA;;;;GAIG;AACH,iCAFa,QAAQ,CAIpB;AAED;;;;;GAKG;AACH,gCAFa,QAAQ,CAIpB;AArHD;;;;;;;;GAQG;AAEH;;;GAGG;AACH;IACE;;OAEG;IACH,iEAFW;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,aAAa,EAAE,QAAQ,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,aAAa,EAAE,QAAQ,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,aAAa,EAAE,QAAQ,GAAC,IAAI,CAAA;KAAC,EAmBtL;IAhBC,sBAAsB;IACtB,kBADW,OAAO,CACe;IACjC,sBAAsB;IACtB,gBADW,OAAO,CACkB;IACpC,6CAA6C;IAC7C,KADW,OAAO,aAAa,EAAE,QAAQ,CAC3B;IACd,6CAA6C;IAC7C,KADW,OAAO,aAAa,EAAE,QAAQ,CAC3B;IACd;;;;;;OAMG;IACH,WAFU,OAAO,aAAa,EAAE,QAAQ,GAAC,IAAI,CAEnB;IAG5B;;;;OAIG;IACH,uBAFa,OAAO,CAInB;IAED;;;;;;;OAOG;IACH,wBAFa,OAAO,CAInB;IAED;;;;;;;OAOG;IACH,wBAHW,OAAO,aAAa,EAAE,QAAQ,GAAC,IAAI,GACjC,IAAI,CAIhB;IAED;;;;;;;OAOG;IACH,cAHW,MAAM,GACJ,IAAI,CAKhB;IAED;;;;;;;;;OASG;IACH,yBAHW,MAAM,GACJ,OAAO,CAMnB;CACF"}
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
*/
|
|
15
15
|
export class Reporter {
|
|
16
16
|
/**
|
|
17
|
-
* @param {{lifecycle?: boolean, streamCommands?: boolean, out?: import('node:stream').Writable, err?: import('node:stream').Writable}} [opts]
|
|
17
|
+
* @param {{lifecycle?: boolean, streamCommands?: boolean, out?: import('node:stream').Writable, err?: import('node:stream').Writable, logStream?: import('node:stream').Writable|null}} [opts]
|
|
18
18
|
*/
|
|
19
|
-
constructor({ lifecycle = true, streamCommands = true, out = process.stdout, err = process.stderr } = {}) {
|
|
19
|
+
constructor({ lifecycle = true, streamCommands = true, out = process.stdout, err = process.stderr, logStream = null } = {}) {
|
|
20
20
|
/** @type {boolean} */
|
|
21
21
|
this.lifecycleEnabled = lifecycle;
|
|
22
22
|
/** @type {boolean} */
|
|
@@ -25,6 +25,14 @@ export class Reporter {
|
|
|
25
25
|
this.out = out;
|
|
26
26
|
/** @type {import('node:stream').Writable} */
|
|
27
27
|
this.err = err;
|
|
28
|
+
/**
|
|
29
|
+
* Optional persistent per-deploy log. When attached, every lifecycle line
|
|
30
|
+
* and streamed command chunk is tee'd here in addition to the live
|
|
31
|
+
* stdout/stderr contract, so a full deploy transcript survives on disk.
|
|
32
|
+
*
|
|
33
|
+
* @type {import('node:stream').Writable|null}
|
|
34
|
+
*/
|
|
35
|
+
this.logStream = logStream;
|
|
28
36
|
}
|
|
29
37
|
/**
|
|
30
38
|
* Whether live command stdout/stderr should be streamed as it arrives.
|
|
@@ -34,8 +42,32 @@ export class Reporter {
|
|
|
34
42
|
get streamsCommands() {
|
|
35
43
|
return this.streamCommands;
|
|
36
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Whether the transport should feed redacted command output to the reporter at
|
|
47
|
+
* all — either to live-stream it or to persist it to the deploy log. This is
|
|
48
|
+
* decoupled from {@link streamsCommands} so a `--json` deploy still records a
|
|
49
|
+
* full command transcript in its log even though nothing is streamed live.
|
|
50
|
+
*
|
|
51
|
+
* @returns {boolean}
|
|
52
|
+
*/
|
|
53
|
+
get capturesCommands() {
|
|
54
|
+
return this.streamCommands || this.logStream !== null;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Attaches a persistent per-deploy log stream after construction. The deploy
|
|
58
|
+
* command builds the reporter before the config (and therefore the log path)
|
|
59
|
+
* is known, so the log is tee'd in once resolved.
|
|
60
|
+
*
|
|
61
|
+
* @param {import('node:stream').Writable|null} stream
|
|
62
|
+
* @returns {void}
|
|
63
|
+
*/
|
|
64
|
+
attachLogStream(stream) {
|
|
65
|
+
this.logStream = stream;
|
|
66
|
+
}
|
|
37
67
|
/**
|
|
38
68
|
* Prints a Capistrano-style lifecycle line in human mode; no-op otherwise.
|
|
69
|
+
* The line is always tee'd to the persistent log (when attached) so the log
|
|
70
|
+
* stays readable even for a `--json` automation deploy.
|
|
39
71
|
*
|
|
40
72
|
* @param {string} message
|
|
41
73
|
* @returns {void}
|
|
@@ -43,16 +75,24 @@ export class Reporter {
|
|
|
43
75
|
line(message) {
|
|
44
76
|
if (this.lifecycleEnabled)
|
|
45
77
|
this.out.write(`${message}\n`);
|
|
78
|
+
if (this.logStream)
|
|
79
|
+
this.logStream.write(`${message}\n`);
|
|
46
80
|
}
|
|
47
81
|
/**
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
82
|
+
* Records already-redacted command output. It is always tee'd to the deploy
|
|
83
|
+
* log when one is attached, so the log is a full transcript regardless of
|
|
84
|
+
* output mode. It is streamed live to the error stream only when
|
|
85
|
+
* {@link streamsCommands} is set (human mode) — the error stream keeps human
|
|
86
|
+
* stdout reserved for lifecycle progress and JSON stdout clean.
|
|
51
87
|
*
|
|
52
88
|
* @param {string} text
|
|
53
|
-
* @returns {boolean}
|
|
89
|
+
* @returns {boolean} Backpressure signal: `false` asks the caller to pause. Only the live stream can request a pause; log-only writes never do.
|
|
54
90
|
*/
|
|
55
91
|
writeCommandOutput(text) {
|
|
92
|
+
if (this.logStream)
|
|
93
|
+
this.logStream.write(text);
|
|
94
|
+
if (!this.streamCommands)
|
|
95
|
+
return true;
|
|
56
96
|
return this.err.write(text);
|
|
57
97
|
}
|
|
58
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../../src/core/reporter.js"],"names":[],"mappings":"AAAA,YAAY;AAEZ;;;;;;;;GAQG;AAEH;;;GAGG;AACH,MAAM,OAAO,QAAQ;IACnB;;OAEG;IACH,YAAY,EAAC,SAAS,GAAG,IAAI,EAAE,cAAc,GAAG,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAC,GAAG,EAAE;
|
|
1
|
+
{"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../../src/core/reporter.js"],"names":[],"mappings":"AAAA,YAAY;AAEZ;;;;;;;;GAQG;AAEH;;;GAGG;AACH,MAAM,OAAO,QAAQ;IACnB;;OAEG;IACH,YAAY,EAAC,SAAS,GAAG,IAAI,EAAE,cAAc,GAAG,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,EAAC,GAAG,EAAE;QACtH,sBAAsB;QACtB,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAA;QACjC,sBAAsB;QACtB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,6CAA6C;QAC7C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,6CAA6C;QAC7C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd;;;;;;WAMG;QACH,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED;;;;OAIG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,cAAc,CAAA;IAC5B,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAA;IACvD,CAAC;IAED;;;;;;;OAOG;IACH,eAAe,CAAC,MAAM;QACpB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAA;IACzB,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,CAAC,OAAO;QACV,IAAI,IAAI,CAAC,gBAAgB;YAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAA;QACzD,IAAI,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAA;IAC1D,CAAC;IAED;;;;;;;;;OASG;IACH,kBAAkB,CAAC,IAAI;QACrB,IAAI,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAA;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,QAAQ,CAAC,EAAC,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAC,CAAC,CAAA;AAC9D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,QAAQ,CAAC,EAAC,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAC,CAAC,CAAA;AAChE,CAAC"}
|
|
@@ -111,7 +111,7 @@ export class LocalTransport {
|
|
|
111
111
|
* @returns {Promise<import('#types').SpawnResult>}
|
|
112
112
|
*/
|
|
113
113
|
async run(command, { cwd, env = {} } = {}) {
|
|
114
|
-
const
|
|
114
|
+
const shouldCapture = this.reporter.capturesCommands;
|
|
115
115
|
return await new Promise((resolve, reject) => {
|
|
116
116
|
const child = spawn(command, { cwd, env: { ...process.env, ...env }, shell: true });
|
|
117
117
|
let output = "";
|
|
@@ -119,7 +119,7 @@ export class LocalTransport {
|
|
|
119
119
|
const emit = /** @param {Buffer|string} chunk */ /** @param {Buffer|string} chunk */ chunk => {
|
|
120
120
|
const text = chunk.toString();
|
|
121
121
|
output += text;
|
|
122
|
-
if (!
|
|
122
|
+
if (!shouldCapture)
|
|
123
123
|
return;
|
|
124
124
|
const safe = redactor.push(text);
|
|
125
125
|
if (safe && !this.reporter.writeCommandOutput(safe)) {
|
|
@@ -132,7 +132,7 @@ export class LocalTransport {
|
|
|
132
132
|
}
|
|
133
133
|
};
|
|
134
134
|
const flush = () => {
|
|
135
|
-
if (!
|
|
135
|
+
if (!shouldCapture)
|
|
136
136
|
return;
|
|
137
137
|
const rest = redactor.flush();
|
|
138
138
|
if (rest)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-transport.js","sourceRoot":"","sources":["../../../src/transports/local-transport.js"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"local-transport.js","sourceRoot":"","sources":["../../../src/transports/local-transport.js"],"names":[],"mappings":"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"}
|
|
@@ -223,7 +223,7 @@ export class SshTransport {
|
|
|
223
223
|
async runCommandPlan(plan, { input, stream = true } = {}) {
|
|
224
224
|
if (plan.pipeTo)
|
|
225
225
|
return await this.runPipedCommandPlan(plan, { stream });
|
|
226
|
-
const
|
|
226
|
+
const shouldCapture = stream && this.reporter.capturesCommands;
|
|
227
227
|
return await new Promise((resolve, reject) => {
|
|
228
228
|
const child = spawn(plan.command, plan.args);
|
|
229
229
|
let output = "";
|
|
@@ -233,7 +233,7 @@ export class SshTransport {
|
|
|
233
233
|
const emit = /** @param {Buffer|string} chunk */ /** @param {Buffer|string} chunk */ chunk => {
|
|
234
234
|
const text = chunk.toString();
|
|
235
235
|
output += text;
|
|
236
|
-
if (!
|
|
236
|
+
if (!shouldCapture)
|
|
237
237
|
return;
|
|
238
238
|
const safe = redactor.push(text);
|
|
239
239
|
if (safe && !this.reporter.writeCommandOutput(safe)) {
|
|
@@ -246,7 +246,7 @@ export class SshTransport {
|
|
|
246
246
|
}
|
|
247
247
|
};
|
|
248
248
|
const flush = () => {
|
|
249
|
-
if (!
|
|
249
|
+
if (!shouldCapture)
|
|
250
250
|
return;
|
|
251
251
|
const rest = redactor.flush();
|
|
252
252
|
if (rest)
|
|
@@ -279,14 +279,14 @@ export class SshTransport {
|
|
|
279
279
|
*/
|
|
280
280
|
async runPipedCommandPlan(plan, { stream = true } = {}) {
|
|
281
281
|
const pipeTo = /** @type {import('#types').CommandPlan} */ (plan.pipeTo);
|
|
282
|
-
const
|
|
282
|
+
const shouldCapture = stream && this.reporter.capturesCommands;
|
|
283
283
|
return await new Promise((resolve, reject) => {
|
|
284
284
|
const source = spawn(plan.command, plan.args);
|
|
285
285
|
const target = spawn(pipeTo.command, pipeTo.args);
|
|
286
286
|
let output = "";
|
|
287
287
|
const redactor = new StreamingRedactor();
|
|
288
288
|
const flushOutput = () => {
|
|
289
|
-
if (!
|
|
289
|
+
if (!shouldCapture)
|
|
290
290
|
return;
|
|
291
291
|
const rest = redactor.flush();
|
|
292
292
|
if (rest)
|
|
@@ -303,7 +303,7 @@ export class SshTransport {
|
|
|
303
303
|
const append = /** @param {Buffer|string} chunk */ /** @param {Buffer|string} chunk */ chunk => {
|
|
304
304
|
const text = chunk.toString();
|
|
305
305
|
output += text;
|
|
306
|
-
if (!
|
|
306
|
+
if (!shouldCapture)
|
|
307
307
|
return;
|
|
308
308
|
const safe = redactor.push(text);
|
|
309
309
|
if (safe && !this.reporter.writeCommandOutput(safe)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssh-transport.js","sourceRoot":"","sources":["../../../src/transports/ssh-transport.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ssh-transport.js","sourceRoot":"","sources":["../../../src/transports/ssh-transport.js"],"names":[],"mappings":"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"}
|
package/docs/config-reference.md
CHANGED
|
@@ -8,6 +8,21 @@
|
|
|
8
8
|
|-------|------|----------|-------------|
|
|
9
9
|
| `application` | string | yes | Name of the application. Used in deploy metadata and reports. |
|
|
10
10
|
| `stages` | object | yes | Map of stage names to stage configs. |
|
|
11
|
+
| `deployLog` | object \| boolean | no | Per-deploy log settings, or a boolean to enable/disable with defaults. See Deploy log below. |
|
|
12
|
+
|
|
13
|
+
### Deploy log
|
|
14
|
+
|
|
15
|
+
Every `rampway <stage> deploy` writes a full transcript of its lifecycle steps and streamed command output (already redacted) to a timestamped file on the machine running the deploy — the kind of per-deploy log Capistrano keeps built in. The path is printed at the start of the run and in the final summary. Dry runs are not logged.
|
|
16
|
+
|
|
17
|
+
| Field | Type | Required | Default | Description |
|
|
18
|
+
|-------|------|----------|---------|-------------|
|
|
19
|
+
| `enabled` | boolean | no | `true` | Set to `false` (or set `deployLog: false`) to disable per-deploy logging. |
|
|
20
|
+
| `dir` | string | no | `"log/deploys"` | Log directory. Relative paths resolve against the deploy source; absolute paths are used as-is. |
|
|
21
|
+
| `keep` | number | no | `20` | Number of most-recent deploy logs to retain; older ones are pruned. |
|
|
22
|
+
|
|
23
|
+
Log files are named `<UTC-timestamp>-<stage>.log` (e.g. `20260722162000-production.log`). Only files matching that pattern are pruned, so unrelated files in the directory are never removed.
|
|
24
|
+
|
|
25
|
+
Malformed `deployLog` config fails loudly: `enabled` must be a boolean, `dir` a non-empty string, and `keep` a positive integer.
|
|
11
26
|
|
|
12
27
|
## Stage fields
|
|
13
28
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rampway",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.6",
|
|
4
4
|
"description": "JS-native Capistrano-style release-directory deployments with Rollbridge integration.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"private": false,
|
|
@@ -78,7 +78,8 @@
|
|
|
78
78
|
"release:major": "npm version major && git push --follow-tags"
|
|
79
79
|
},
|
|
80
80
|
"dependencies": {
|
|
81
|
-
"@types/node": "^26.1.1"
|
|
81
|
+
"@types/node": "^26.1.1",
|
|
82
|
+
"typanic": "^1.0.9"
|
|
82
83
|
},
|
|
83
84
|
"devDependencies": {
|
|
84
85
|
"eslint": "^9.39.2",
|