@nocobase/app-installer 0.1.0-beta.3 → 0.1.0-beta.5
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/README.md +96 -99
- package/dist/cli.js +8 -9
- package/dist/cli.js.map +1 -1
- package/dist/commands/install.js +41 -91
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/rollback.js +8 -11
- package/dist/commands/rollback.js.map +1 -1
- package/dist/commands/status.js +6 -27
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/upgrade.js +82 -213
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/lib/app-source.js +163 -0
- package/dist/lib/app-source.js.map +1 -0
- package/dist/lib/ecosystem.js +1 -5
- package/dist/lib/ecosystem.js.map +1 -1
- package/dist/lib/layout.js +0 -13
- package/dist/lib/layout.js.map +1 -1
- package/dist/lib/prechecks.js +1 -38
- package/dist/lib/prechecks.js.map +1 -1
- package/dist/lib/registry.js +0 -50
- package/dist/lib/registry.js.map +1 -1
- package/dist/lib/release.js +6 -161
- package/dist/lib/release.js.map +1 -1
- package/dist/lib/source.js +5 -51
- package/dist/lib/source.js.map +1 -1
- package/dist/lib/state.js +15 -1
- package/dist/lib/state.js.map +1 -1
- package/package.json +3 -3
package/dist/commands/upgrade.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { existsSync } from 'node:fs';
|
|
2
|
-
import { rm
|
|
2
|
+
import { rm } from 'node:fs/promises';
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { Flags } from '@oclif/core';
|
|
5
|
+
import { buildApp, resolveApp } from "../lib/app-source.js";
|
|
5
6
|
import { pendingTaskCount, runAppCli } from "../lib/app-cli.js";
|
|
6
7
|
import { backupForUpgrade, backupName, readDatabaseInventory, removeBackup, restoreDatabase, } from "../lib/backup.js";
|
|
7
8
|
import { confirm } from "../lib/confirm.js";
|
|
@@ -13,25 +14,26 @@ import { quoteForShell } from '@nocobase/cli-envelope';
|
|
|
13
14
|
import { installerCommand, installerCommandLine } from "../lib/invocation.js";
|
|
14
15
|
import { layoutOf, releaseDir, releaseLinkTarget, } from "../lib/layout.js";
|
|
15
16
|
import { acquireLock } from "../lib/lock.js";
|
|
16
|
-
import { checkPlatform, checkPm2,
|
|
17
|
-
import {
|
|
18
|
-
import { assertStorageOutsideRelease, buildFromTemplate, checkArchiveDriver, unpackRelease, verifyBuildTarget, } from "../lib/release.js";
|
|
17
|
+
import { checkPlatform, checkPm2, checkPortFree, currentNodeMajor, } from "../lib/prechecks.js";
|
|
18
|
+
import { assertStorageOutsideRelease, checkArchiveDriver, unpackRelease, } from "../lib/release.js";
|
|
19
19
|
import { runCommand } from "../lib/run-command.js";
|
|
20
|
-
import {
|
|
20
|
+
import { resolveArchivePath } from "../lib/source.js";
|
|
21
21
|
import { checkPm2Ownership, errorLogCommandLine, errorLogTail, startAdvice, startApp, stopApp, } from "../lib/service.js";
|
|
22
22
|
import { findRelease, fixedMountPathOf, readState, writeState, } from "../lib/state.js";
|
|
23
23
|
import { compareVersions } from "../lib/version.js";
|
|
24
|
-
/** A build needs room for the sources and development dependencies (about 900 MB) plus the release and a backup. */
|
|
25
|
-
const MINIMUM_FREE_BYTES = 2 * 1024 ** 3;
|
|
26
24
|
export const UPGRADE_FLAGS = {
|
|
27
25
|
dir: Flags.string({
|
|
28
26
|
description: 'Installation root managed by app-installer. Defaults to the current directory.',
|
|
29
27
|
}),
|
|
30
|
-
archive: Flags.string({
|
|
31
|
-
description: 'For an installation from a deployment archive: the new archive, built by `pnpm build --tar` for this machine.',
|
|
32
|
-
}),
|
|
33
28
|
to: Flags.string({
|
|
34
|
-
description: '
|
|
29
|
+
description: 'Version or dist-tag of an npm application to install; defaults to latest.',
|
|
30
|
+
}),
|
|
31
|
+
rebuild: Flags.boolean({
|
|
32
|
+
default: false,
|
|
33
|
+
description: 'Build the currently installed npm application version again for this machine.',
|
|
34
|
+
}),
|
|
35
|
+
archive: Flags.string({
|
|
36
|
+
description: 'The new deployment archive, built by `pnpm build --tar` for this machine.',
|
|
35
37
|
}),
|
|
36
38
|
'backup-done': Flags.boolean({
|
|
37
39
|
default: false,
|
|
@@ -47,14 +49,6 @@ export const UPGRADE_FLAGS = {
|
|
|
47
49
|
min: 2,
|
|
48
50
|
description: 'Releases to keep on disk, counting the new one; the one upgraded from is always kept so rollback stays possible.',
|
|
49
51
|
}),
|
|
50
|
-
'keep-source': Flags.boolean({
|
|
51
|
-
default: false,
|
|
52
|
-
description: 'For a template installation: keep the build directory with the sources and development dependencies.',
|
|
53
|
-
}),
|
|
54
|
-
rebuild: Flags.boolean({
|
|
55
|
-
default: false,
|
|
56
|
-
description: 'For a template installation: build the target again even when a build of it is on disk, the running version included: for a machine whose Node major changed and has no newer version to upgrade to.',
|
|
57
|
-
}),
|
|
58
52
|
yes: Flags.boolean({
|
|
59
53
|
default: false,
|
|
60
54
|
description: 'Proceed without asking for confirmation.',
|
|
@@ -64,31 +58,20 @@ export const UPGRADE_FLAGS = {
|
|
|
64
58
|
description: 'Print one JSON result on stdout; progress stays on stderr.',
|
|
65
59
|
}),
|
|
66
60
|
};
|
|
67
|
-
/**
|
|
68
|
-
|
|
69
|
-
* operation that may follow an interrupted rebuild is the rebuild again, with `resumeRebuild`: it builds a fresh release
|
|
70
|
-
* and switches to it, which `rollback` cannot do when the release it would return to was built for another Node.
|
|
71
|
-
*/
|
|
72
|
-
export function assertNoPending(state, root, resumeRebuild = false) {
|
|
61
|
+
/** The installation was interrupted by a previous operation that never finished; refuse to stack another on top. */
|
|
62
|
+
export function assertNoPending(state, root) {
|
|
73
63
|
if (!state.pending)
|
|
74
64
|
return;
|
|
75
|
-
if (state.pending.rebuild && resumeRebuild)
|
|
76
|
-
return;
|
|
77
65
|
const { action, from, to, startedAt } = state.pending;
|
|
78
|
-
throw new InstallerError('OPERATION_INTERRUPTED', `${
|
|
66
|
+
throw new InstallerError('OPERATION_INTERRUPTED', `${action === 'upgrade' ? 'An upgrade from' : 'A rollback from'} ${from} to ${to}, started ${startedAt}, did not finish; the application may be stopped or half-switched.`, {
|
|
79
67
|
exitCode: EXIT_INVALID,
|
|
80
68
|
suggestions: [
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
message: 'Recover first; an interrupted upgrade is undone and an interrupted rollback is finished:',
|
|
88
|
-
run: installerCommandLine(['rollback', '--dir', root], {
|
|
89
|
-
registry: state.registry,
|
|
90
|
-
}),
|
|
91
|
-
},
|
|
69
|
+
{
|
|
70
|
+
message: 'Recover first; an interrupted upgrade is undone and an interrupted rollback is finished:',
|
|
71
|
+
run: installerCommandLine(['rollback', '--dir', root], {
|
|
72
|
+
registry: state.registry,
|
|
73
|
+
}),
|
|
74
|
+
},
|
|
92
75
|
],
|
|
93
76
|
});
|
|
94
77
|
}
|
|
@@ -106,24 +89,6 @@ export function releasesToPrune(releases, protect, keep) {
|
|
|
106
89
|
}
|
|
107
90
|
return releases.filter((record) => !kept.has(record.id));
|
|
108
91
|
}
|
|
109
|
-
/** Whether a recorded release can run here: built for this platform, architecture and Node major. */
|
|
110
|
-
function fitsMachine(record) {
|
|
111
|
-
try {
|
|
112
|
-
verifyBuildTarget(record.buildTarget);
|
|
113
|
-
return true;
|
|
114
|
-
}
|
|
115
|
-
catch {
|
|
116
|
-
return false;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
/** The newest build of `version` on disk that can run here, which an upgrade to that version reuses. */
|
|
120
|
-
function reusableBuild(state, layout, version) {
|
|
121
|
-
return [...state.releases]
|
|
122
|
-
.filter((record) => record.version === version &&
|
|
123
|
-
existsSync(releaseDir(layout, record.id)) &&
|
|
124
|
-
fitsMachine(record))
|
|
125
|
-
.sort((a, b) => b.builtAt.localeCompare(a.builtAt))[0];
|
|
126
|
-
}
|
|
127
92
|
function recordOf(prepared) {
|
|
128
93
|
return {
|
|
129
94
|
id: prepared.id,
|
|
@@ -142,50 +107,20 @@ function replaceRecord(state, record) {
|
|
|
142
107
|
record,
|
|
143
108
|
];
|
|
144
109
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
throw new InstallerError('DISK_LOW', `${root} has ${Math.round(free / 1024 ** 2)} MB free; building a release needs about ${MINIMUM_FREE_BYTES / 1024 ** 3} GB.`, {
|
|
110
|
+
/** An upgrade moves to another deployment archive, which `--archive` names. */
|
|
111
|
+
function requireArchive(state, root, flags) {
|
|
112
|
+
if (flags.archive === undefined) {
|
|
113
|
+
throw new InstallerError('INVALID_USAGE', `${root} upgrades from a deployment archive; pass the new one with --archive.`, {
|
|
150
114
|
exitCode: EXIT_INVALID,
|
|
115
|
+
// No `run`: a suggestion's command runs as printed, and the archive's path is not known here.
|
|
151
116
|
suggestions: [
|
|
152
117
|
{
|
|
153
|
-
message:
|
|
118
|
+
message: `Build it for this machine in the application project, copy it to the server, then run: ${installerCommand(`upgrade --dir ${quoteForShell(root)} --archive <the copied archive>`, { registry: state.registry })}`,
|
|
154
119
|
},
|
|
155
120
|
],
|
|
156
121
|
});
|
|
157
122
|
}
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* An upgrade takes the kind of source the install did: a template installation moves between template versions, and
|
|
161
|
-
* one installed from an archive moves to another archive.
|
|
162
|
-
*/
|
|
163
|
-
function checkUpgradeSource(state, root, flags) {
|
|
164
|
-
const template = templateOf(state);
|
|
165
|
-
if (template && flags.archive !== undefined) {
|
|
166
|
-
throw new InstallerError('INVALID_USAGE', `${root} was installed from the ${template.name} template, which upgrades to a template version with --to, not to an archive.`, { exitCode: EXIT_INVALID });
|
|
167
|
-
}
|
|
168
|
-
if (!template) {
|
|
169
|
-
if (flags.archive === undefined) {
|
|
170
|
-
throw new InstallerError('INVALID_USAGE', `${root} was installed from a deployment archive; pass the new one with --archive.`, {
|
|
171
|
-
exitCode: EXIT_INVALID,
|
|
172
|
-
// No `run`: a suggestion's command runs as printed, and the archive's path is not known here.
|
|
173
|
-
suggestions: [
|
|
174
|
-
{
|
|
175
|
-
message: `Build it for this machine in the application project, copy it to the server, then run: ${installerCommand(`upgrade --dir ${quoteForShell(root)} --archive <the copied archive>`, { registry: state.registry })}`,
|
|
176
|
-
},
|
|
177
|
-
],
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
const templateOnly = [
|
|
181
|
-
flags.to !== undefined && '--to',
|
|
182
|
-
flags.rebuild && '--rebuild',
|
|
183
|
-
flags['keep-source'] && '--keep-source',
|
|
184
|
-
].filter(Boolean);
|
|
185
|
-
if (templateOnly.length > 0) {
|
|
186
|
-
throw new InstallerError('INVALID_USAGE', `${templateOnly.join(', ')} apply to a template installation; ${root} upgrades from the archive given with --archive.`, { exitCode: EXIT_INVALID });
|
|
187
|
-
}
|
|
188
|
-
}
|
|
123
|
+
return flags.archive;
|
|
189
124
|
}
|
|
190
125
|
/**
|
|
191
126
|
* The archive must be a later build of the same application: its package name owns the migration history in the
|
|
@@ -218,7 +153,6 @@ function checkArchiveMatches(state, prepared, env) {
|
|
|
218
153
|
*/
|
|
219
154
|
async function rollBackUpgrade(context) {
|
|
220
155
|
const { layout, state, service, from, to, backup } = context;
|
|
221
|
-
const subject = subjectOf(state);
|
|
222
156
|
const reason = context.cause instanceof Error
|
|
223
157
|
? context.cause.message
|
|
224
158
|
: String(context.cause);
|
|
@@ -261,12 +195,9 @@ async function rollBackUpgrade(context) {
|
|
|
261
195
|
migrations: context.pending,
|
|
262
196
|
backup: backup.relative,
|
|
263
197
|
databaseRestored,
|
|
264
|
-
...(context.rebuild ? { rebuild: true } : {}),
|
|
265
198
|
});
|
|
266
199
|
await writeState(layout, state);
|
|
267
|
-
const doing =
|
|
268
|
-
? `Rebuilding ${to.version}`
|
|
269
|
-
: `Upgrading to ${to.id}`;
|
|
200
|
+
const doing = `Upgrading to ${to.id}`;
|
|
270
201
|
const externalDatabaseNote = context.pending > 0 && !hasDatabase
|
|
271
202
|
? ` ${to.id} may already have migrated the external database; restore it from your own backup if ${from.id} misbehaves.`
|
|
272
203
|
: '';
|
|
@@ -282,7 +213,7 @@ async function rollBackUpgrade(context) {
|
|
|
282
213
|
],
|
|
283
214
|
});
|
|
284
215
|
}
|
|
285
|
-
throw new InstallerError('ROLLBACK_FAILED', `${doing} failed (${reason}), and ${from.id} did not come back either${rollbackError instanceof Error ? ` (${rollbackError.message})` : ''}.
|
|
216
|
+
throw new InstallerError('ROLLBACK_FAILED', `${doing} failed (${reason}), and ${from.id} did not come back either${rollbackError instanceof Error ? ` (${rollbackError.message})` : ''}. The application is down.`, {
|
|
286
217
|
exitCode: EXIT_ROLLBACK_FAILED,
|
|
287
218
|
details: { log, backup: backup.relative, databaseRestored },
|
|
288
219
|
suggestions: [
|
|
@@ -331,26 +262,21 @@ export async function upgrade(input, deps) {
|
|
|
331
262
|
try {
|
|
332
263
|
// Read under the lock: a run that waited on it must see what the previous one wrote.
|
|
333
264
|
const state = await readState(layout);
|
|
334
|
-
assertNoPending(state, root
|
|
335
|
-
const
|
|
336
|
-
|
|
337
|
-
|
|
265
|
+
assertNoPending(state, root);
|
|
266
|
+
const npmApp = state.source.kind === 'app' ? state.source : undefined;
|
|
267
|
+
if ((npmApp && flags.archive !== undefined) ||
|
|
268
|
+
(!npmApp && (flags.to !== undefined || flags.rebuild)) ||
|
|
269
|
+
(flags.to !== undefined && flags.rebuild)) {
|
|
270
|
+
throw new InstallerError('INVALID_USAGE', 'Use --archive for archive installations, or --to / --rebuild for npm applications; --to and --rebuild cannot be combined.', { exitCode: EXIT_INVALID });
|
|
271
|
+
}
|
|
272
|
+
const archive = npmApp
|
|
273
|
+
? undefined
|
|
274
|
+
: resolveArchivePath(deps.cwd ?? process.cwd(), requireArchive(state, root, flags));
|
|
338
275
|
const env = await readAppEnv(layout);
|
|
339
276
|
const from = findRelease(state, state.current);
|
|
340
277
|
if (!from) {
|
|
341
278
|
throw new InstallerError('RELEASE_MISSING', `installer.json names ${state.current} as the running release but holds no record of it.`, { exitCode: EXIT_INVALID });
|
|
342
279
|
}
|
|
343
|
-
if (state.pending?.rebuild) {
|
|
344
|
-
reporter.progress(`Starting the rebuild of ${from.version} again, after the one that started ${state.pending.startedAt} was interrupted`);
|
|
345
|
-
const orphan = state.pending.to;
|
|
346
|
-
if (!findRelease(state, orphan)) {
|
|
347
|
-
await rm(path.dirname(releaseDir(layout, orphan)), {
|
|
348
|
-
recursive: true,
|
|
349
|
-
force: true,
|
|
350
|
-
});
|
|
351
|
-
}
|
|
352
|
-
delete state.pending;
|
|
353
|
-
}
|
|
354
280
|
const machineMajor = currentNodeMajor();
|
|
355
281
|
const nodeChanged = from.buildTarget.nodeMajor !== machineMajor;
|
|
356
282
|
const noop = (warning) => {
|
|
@@ -366,7 +292,7 @@ export async function upgrade(input, deps) {
|
|
|
366
292
|
nodeMatches: !nodeChanged,
|
|
367
293
|
},
|
|
368
294
|
summary: [
|
|
369
|
-
|
|
295
|
+
`The application is already on ${from.version} (${from.id}).`,
|
|
370
296
|
...(warning ? [` ${warning}`] : []),
|
|
371
297
|
],
|
|
372
298
|
};
|
|
@@ -393,72 +319,48 @@ export async function upgrade(input, deps) {
|
|
|
393
319
|
checkPlatform();
|
|
394
320
|
await checkPm2(pm2);
|
|
395
321
|
await checkPm2Ownership(service);
|
|
396
|
-
// What to switch to
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
322
|
+
// What to switch to: an archive has to be unpacked first, because only its manifest says which release it is.
|
|
323
|
+
const app = npmApp
|
|
324
|
+
? await resolveApp({
|
|
325
|
+
package: npmApp.package,
|
|
326
|
+
selector: flags.rebuild ? from.version : (flags.to ?? 'latest'),
|
|
327
|
+
}, state.registry, run)
|
|
328
|
+
: undefined;
|
|
329
|
+
if (app) {
|
|
330
|
+
if ((compareVersions(app.selector, from.version) ?? 0) < 0)
|
|
331
|
+
refuseDowngrade(app.selector);
|
|
332
|
+
if (app.selector === from.version && !flags.rebuild && !nodeChanged)
|
|
333
|
+
return noop();
|
|
334
|
+
}
|
|
335
|
+
const unpacked = app
|
|
336
|
+
? await buildApp({ app, registry: state.registry, layout, run, reporter })
|
|
337
|
+
: await unpackRelease({ layout, archive: archive });
|
|
338
|
+
const discard = async () => {
|
|
339
|
+
if (!unpacked.reused) {
|
|
340
|
+
await rm(path.dirname(unpacked.dir), {
|
|
341
|
+
recursive: true,
|
|
342
|
+
force: true,
|
|
343
|
+
});
|
|
412
344
|
}
|
|
413
|
-
|
|
414
|
-
|
|
345
|
+
};
|
|
346
|
+
try {
|
|
347
|
+
checkArchiveMatches(state, unpacked, env);
|
|
348
|
+
checkArchiveDriver(unpacked.dir, state.dialect);
|
|
349
|
+
if (unpacked.id === from.id) {
|
|
350
|
+
return noop();
|
|
415
351
|
}
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
reuse = flags.rebuild
|
|
419
|
-
? undefined
|
|
420
|
-
: reusableBuild(state, layout, targetVersion);
|
|
421
|
-
if (!reuse) {
|
|
422
|
-
await checkPnpm(run);
|
|
423
|
-
await checkFreeSpace(root);
|
|
352
|
+
if ((compareVersions(unpacked.version, from.version) ?? 0) < 0) {
|
|
353
|
+
refuseDowngrade(unpacked.version);
|
|
424
354
|
}
|
|
425
355
|
}
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
const unpacked = await unpackRelease({
|
|
430
|
-
layout,
|
|
431
|
-
archive,
|
|
432
|
-
});
|
|
433
|
-
const discard = async () => {
|
|
434
|
-
if (!unpacked.reused) {
|
|
435
|
-
await rm(path.dirname(unpacked.dir), {
|
|
436
|
-
recursive: true,
|
|
437
|
-
force: true,
|
|
438
|
-
});
|
|
439
|
-
}
|
|
440
|
-
};
|
|
441
|
-
try {
|
|
442
|
-
checkArchiveMatches(state, unpacked, env);
|
|
443
|
-
checkArchiveDriver(unpacked.dir, state.dialect);
|
|
444
|
-
if (unpacked.id === from.id) {
|
|
445
|
-
return noop();
|
|
446
|
-
}
|
|
447
|
-
if ((compareVersions(unpacked.version, from.version) ?? 0) < 0) {
|
|
448
|
-
refuseDowngrade(unpacked.version);
|
|
449
|
-
}
|
|
450
|
-
}
|
|
451
|
-
catch (error) {
|
|
452
|
-
await discard();
|
|
453
|
-
throw error;
|
|
454
|
-
}
|
|
455
|
-
targetVersion = unpacked.version;
|
|
456
|
-
reuse = unpacked.reused ? findRelease(state, unpacked.id) : undefined;
|
|
457
|
-
prepared = reuse ? undefined : unpacked;
|
|
356
|
+
catch (error) {
|
|
357
|
+
await discard();
|
|
358
|
+
throw error;
|
|
458
359
|
}
|
|
360
|
+
const reuse = unpacked.reused ? findRelease(state, unpacked.id) : undefined;
|
|
361
|
+
const prepared = reuse ? undefined : unpacked;
|
|
459
362
|
const inventory = readDatabaseInventory(layout, env);
|
|
460
363
|
const unprotected = [...inventory.external, ...inventory.unresolved];
|
|
461
|
-
const hosts = hostsApplications(state);
|
|
462
364
|
const discardPrepared = async () => {
|
|
463
365
|
if (prepared) {
|
|
464
366
|
await rm(path.dirname(prepared.dir), { recursive: true, force: true });
|
|
@@ -469,12 +371,8 @@ export async function upgrade(input, deps) {
|
|
|
469
371
|
throw new InstallerError('BACKUP_REQUIRED', `app-installer cannot back up the database connection${unprotected.length === 1 ? '' : 's'} ${unprotected.join(', ')}. Back ${unprotected.length === 1 ? 'it' : 'them'} up, then pass --backup-done.`, { exitCode: EXIT_INVALID });
|
|
470
372
|
}
|
|
471
373
|
await confirm([
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
: `Upgrade ${subject} at ${root} from ${from.id} to ${prepared?.id ?? reuse?.id ?? targetVersion}.`,
|
|
475
|
-
hosts
|
|
476
|
-
? `${capitalize(subject)} and every application it hosts stop while the release switches; deployments in progress are marked failed.`
|
|
477
|
-
: `${capitalize(subject)} stops while the release switches.`,
|
|
374
|
+
`Upgrade the application at ${root} from ${from.id} to ${unpacked.id}.`,
|
|
375
|
+
'The application stops while the release switches.',
|
|
478
376
|
inventory.sqlite.length > 0
|
|
479
377
|
? 'The SQLite databases and the configuration are copied to backups/ before anything is migrated.'
|
|
480
378
|
: 'The configuration is copied to backups/ before anything is migrated.',
|
|
@@ -485,7 +383,7 @@ export async function upgrade(input, deps) {
|
|
|
485
383
|
: []),
|
|
486
384
|
...(nodeChanged
|
|
487
385
|
? [
|
|
488
|
-
`This machine runs Node ${machineMajor}, but ${from.id} was built for Node ${from.buildTarget.nodeMajor}: it cannot be rolled back to
|
|
386
|
+
`This machine runs Node ${machineMajor}, but ${from.id} was built for Node ${from.buildTarget.nodeMajor}: it cannot be rolled back to.`,
|
|
489
387
|
]
|
|
490
388
|
: []),
|
|
491
389
|
], { yes: flags.yes, json: flags.json });
|
|
@@ -502,21 +400,10 @@ export async function upgrade(input, deps) {
|
|
|
502
400
|
to = reuse;
|
|
503
401
|
}
|
|
504
402
|
else {
|
|
505
|
-
prepared ??= await buildFromTemplate({
|
|
506
|
-
layout,
|
|
507
|
-
template: template,
|
|
508
|
-
version: targetVersion,
|
|
509
|
-
registry: state.registry,
|
|
510
|
-
drivers: state.drivers,
|
|
511
|
-
keepSource: flags['keep-source'],
|
|
512
|
-
reporter,
|
|
513
|
-
run,
|
|
514
|
-
});
|
|
515
403
|
to = recordOf(prepared);
|
|
516
404
|
newRecord = to;
|
|
517
405
|
}
|
|
518
|
-
// A release built before relocatable builds
|
|
519
|
-
// the path it was built for.
|
|
406
|
+
// A release built before relocatable builds runs only at the path it was built for.
|
|
520
407
|
const fixedMountPath = fixedMountPathOf(to, state);
|
|
521
408
|
if (fixedMountPath !== undefined) {
|
|
522
409
|
try {
|
|
@@ -559,7 +446,6 @@ export async function upgrade(input, deps) {
|
|
|
559
446
|
from: from.id,
|
|
560
447
|
to: to.id,
|
|
561
448
|
startedAt: new Date().toISOString(),
|
|
562
|
-
...(rebuildCurrent ? { rebuild: true } : {}),
|
|
563
449
|
};
|
|
564
450
|
await writeState(layout, state);
|
|
565
451
|
// Downtime starts here.
|
|
@@ -624,7 +510,6 @@ export async function upgrade(input, deps) {
|
|
|
624
510
|
service,
|
|
625
511
|
from,
|
|
626
512
|
to,
|
|
627
|
-
rebuild: rebuildCurrent,
|
|
628
513
|
pending,
|
|
629
514
|
backup,
|
|
630
515
|
newRecord,
|
|
@@ -648,7 +533,6 @@ export async function upgrade(input, deps) {
|
|
|
648
533
|
outcome: 'completed',
|
|
649
534
|
migrations: pending,
|
|
650
535
|
backup: backup.relative,
|
|
651
|
-
...(rebuildCurrent ? { rebuild: true } : {}),
|
|
652
536
|
});
|
|
653
537
|
await writeState(layout, state);
|
|
654
538
|
const pruned = releasesToPrune(state.releases, [to.id, from.id], flags.keep);
|
|
@@ -662,16 +546,6 @@ export async function upgrade(input, deps) {
|
|
|
662
546
|
state.releases = state.releases.filter((record) => !pruned.some((gone) => gone.id === record.id));
|
|
663
547
|
await writeState(layout, state);
|
|
664
548
|
}
|
|
665
|
-
const notes = hosts
|
|
666
|
-
? [
|
|
667
|
-
'Deployments that were in progress are marked failed; start them again in the Hub.',
|
|
668
|
-
...(nodeChanged
|
|
669
|
-
? [
|
|
670
|
-
`Rebuild hosted applications with --node-version ${machineMajor} before deploying them again.`,
|
|
671
|
-
]
|
|
672
|
-
: []),
|
|
673
|
-
]
|
|
674
|
-
: [];
|
|
675
549
|
return {
|
|
676
550
|
status: 'success',
|
|
677
551
|
result: {
|
|
@@ -681,24 +555,19 @@ export async function upgrade(input, deps) {
|
|
|
681
555
|
fromVersion: from.version,
|
|
682
556
|
toVersion: to.version,
|
|
683
557
|
upgraded: true,
|
|
684
|
-
rebuilt: rebuildCurrent,
|
|
685
558
|
reused: reuse !== undefined,
|
|
686
559
|
migrations: pending,
|
|
687
560
|
backup: backup.relative,
|
|
688
561
|
pruned: pruned.map((record) => record.id),
|
|
689
|
-
notes,
|
|
690
562
|
},
|
|
691
563
|
summary: [
|
|
692
|
-
|
|
693
|
-
? `Rebuilt ${subject} ${to.version} for Node ${machineMajor}.`
|
|
694
|
-
: `Upgraded ${subject} from ${from.version} to ${to.version}.`,
|
|
564
|
+
`Upgraded the application from ${from.version} to ${to.version}.`,
|
|
695
565
|
` Release ${to.id}`,
|
|
696
566
|
` Migrations ${pending}`,
|
|
697
567
|
` Backup ${backup.relative}`,
|
|
698
568
|
...(pruned.length > 0
|
|
699
569
|
? [` Pruned ${pruned.map((record) => record.id).join(', ')}`]
|
|
700
570
|
: []),
|
|
701
|
-
...notes.map((note) => ` ${note}`),
|
|
702
571
|
],
|
|
703
572
|
};
|
|
704
573
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"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"}
|