@zincapp/znvault-plugin-payara 1.4.3 → 1.6.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.
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +309 -223
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +113 -23
- package/dist/index.js.map +1 -1
- package/dist/payara-manager.d.ts +45 -0
- package/dist/payara-manager.d.ts.map +1 -1
- package/dist/payara-manager.js +162 -2
- package/dist/payara-manager.js.map +1 -1
- package/dist/routes.d.ts +3 -0
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +102 -33
- package/dist/routes.js.map +1 -1
- package/dist/types.d.ts +89 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/war-deployer.d.ts +57 -8
- package/dist/war-deployer.d.ts.map +1 -1
- package/dist/war-deployer.js +214 -17
- package/dist/war-deployer.js.map +1 -1
- package/package.json +1 -1
package/dist/types.d.ts
CHANGED
|
@@ -44,6 +44,42 @@ export interface PayaraPluginConfig {
|
|
|
44
44
|
contextRoot?: string;
|
|
45
45
|
/** Enable verbose logging */
|
|
46
46
|
verbose?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Validate asadmin binary exists on startup.
|
|
49
|
+
* Default: true (validates unless NODE_ENV=test)
|
|
50
|
+
* Set to false to skip validation (useful for testing or deferred setup)
|
|
51
|
+
*/
|
|
52
|
+
validateAsadmin?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Enable aggressive mode for stable deployments.
|
|
55
|
+
*
|
|
56
|
+
* When true, the plugin will:
|
|
57
|
+
* 1. Kill ALL Java processes before starting Payara (ensures clean slate)
|
|
58
|
+
* 2. Use full restart sequence for deployments: undeploy → stop → kill → start → deploy
|
|
59
|
+
* 3. Verify no Java processes running before each start
|
|
60
|
+
*
|
|
61
|
+
* This prevents:
|
|
62
|
+
* - Port conflicts from orphan Java processes
|
|
63
|
+
* - Memory issues from accumulated JVMs
|
|
64
|
+
* - Deployment failures from stale state
|
|
65
|
+
*
|
|
66
|
+
* Recommended: true for production
|
|
67
|
+
* Default: false (backwards compatibility)
|
|
68
|
+
*/
|
|
69
|
+
aggressiveMode?: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Whether the plugin should manage Payara lifecycle (start/stop/restart).
|
|
72
|
+
*
|
|
73
|
+
* When true (default): Plugin handles starting/stopping Payara
|
|
74
|
+
* When false: Plugin only handles WAR deployment, health checks, and secrets
|
|
75
|
+
*
|
|
76
|
+
* Set to false when using agent exec mode to start Payara, e.g.:
|
|
77
|
+
* zn-vault-agent start --exec "asadmin start-domain domain1"
|
|
78
|
+
*
|
|
79
|
+
* In this case, the agent's exec mode manages Payara lifecycle,
|
|
80
|
+
* and the plugin should not interfere.
|
|
81
|
+
*/
|
|
82
|
+
manageLifecycle?: boolean;
|
|
47
83
|
/**
|
|
48
84
|
* Secrets to inject as environment variables when starting Payara.
|
|
49
85
|
* Keys are env var names, values are vault references:
|
|
@@ -84,6 +120,15 @@ export interface WarDeployerOptions {
|
|
|
84
120
|
contextRoot?: string;
|
|
85
121
|
payara: PayaraManager;
|
|
86
122
|
logger: Logger;
|
|
123
|
+
/**
|
|
124
|
+
* Enable aggressive mode for deployments.
|
|
125
|
+
* When true, deployments will use the full restart sequence:
|
|
126
|
+
* undeploy → stop → kill all Java → start → deploy
|
|
127
|
+
*
|
|
128
|
+
* This ensures only ONE Java process runs at a time.
|
|
129
|
+
* Recommended for production stability.
|
|
130
|
+
*/
|
|
131
|
+
aggressiveMode?: boolean;
|
|
87
132
|
}
|
|
88
133
|
/**
|
|
89
134
|
* File hash map for WAR diff deployment
|
|
@@ -117,6 +162,47 @@ export interface DeployResponse {
|
|
|
117
162
|
filesDeleted: number;
|
|
118
163
|
message?: string;
|
|
119
164
|
}
|
|
165
|
+
/**
|
|
166
|
+
* Deploy result with full details
|
|
167
|
+
*/
|
|
168
|
+
export interface DeployResult {
|
|
169
|
+
/** Whether deployment succeeded */
|
|
170
|
+
success: boolean;
|
|
171
|
+
/** Number of files changed */
|
|
172
|
+
filesChanged: number;
|
|
173
|
+
/** Number of files deleted */
|
|
174
|
+
filesDeleted: number;
|
|
175
|
+
/** Result message */
|
|
176
|
+
message: string;
|
|
177
|
+
/** Deployment time in milliseconds */
|
|
178
|
+
deploymentTime: number;
|
|
179
|
+
/** Application name */
|
|
180
|
+
appName: string;
|
|
181
|
+
/** Whether app is now deployed */
|
|
182
|
+
deployed?: boolean;
|
|
183
|
+
/** List of all deployed applications */
|
|
184
|
+
applications?: string[];
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Full deployment result with timing breakdown (aggressive mode)
|
|
188
|
+
*/
|
|
189
|
+
export interface FullDeployResult extends DeployResult {
|
|
190
|
+
/** Whether aggressive mode was used */
|
|
191
|
+
aggressiveMode: true;
|
|
192
|
+
/** Timing breakdown for each phase */
|
|
193
|
+
timings: {
|
|
194
|
+
/** Time to update WAR file (ms) */
|
|
195
|
+
warUpdate?: number;
|
|
196
|
+
/** Time to undeploy app (ms) */
|
|
197
|
+
undeploy?: number;
|
|
198
|
+
/** Time to stop Payara + kill Java (ms) */
|
|
199
|
+
stop?: number;
|
|
200
|
+
/** Time to start Payara (ms) */
|
|
201
|
+
start?: number;
|
|
202
|
+
/** Time to deploy WAR (ms) */
|
|
203
|
+
deploy?: number;
|
|
204
|
+
};
|
|
205
|
+
}
|
|
120
206
|
/**
|
|
121
207
|
* Chunked deploy session - tracks state across multiple chunk uploads
|
|
122
208
|
*/
|
|
@@ -164,11 +250,7 @@ export interface ChunkedDeployResponse {
|
|
|
164
250
|
/** Whether deployment was committed */
|
|
165
251
|
committed: boolean;
|
|
166
252
|
/** Deployment result (only if committed) */
|
|
167
|
-
result?:
|
|
168
|
-
filesChanged: number;
|
|
169
|
-
filesDeleted: number;
|
|
170
|
-
message: string;
|
|
171
|
-
};
|
|
253
|
+
result?: DeployResult;
|
|
172
254
|
}
|
|
173
255
|
/**
|
|
174
256
|
* WAR upload request (multipart form data parsed)
|
|
@@ -186,6 +268,8 @@ export interface PayaraStatus {
|
|
|
186
268
|
domain: string;
|
|
187
269
|
pid?: number;
|
|
188
270
|
uptime?: number;
|
|
271
|
+
appDeployed?: boolean;
|
|
272
|
+
appName?: string;
|
|
189
273
|
}
|
|
190
274
|
import type { PayaraManager } from './payara-manager.js';
|
|
191
275
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,UAAU,EAAE,MAAM,CAAC;IAEnB,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IAEf,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IAEb,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAEhB,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAEhB,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,8CAA8C;IAC9C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B,qEAAqE;IACrE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,gEAAgE;IAChE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/war-deployer.d.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import type { WarDeployerOptions, WarFileHashes, FileChange } from './types.js';
|
|
1
|
+
import type { WarDeployerOptions, WarFileHashes, FileChange, DeployResult, FullDeployResult } from './types.js';
|
|
2
2
|
/**
|
|
3
3
|
* WAR file deployer with diff-based updates
|
|
4
4
|
*
|
|
5
|
+
* IMPORTANT: This deployer uses asadmin deploy commands ONLY.
|
|
6
|
+
* It does NOT use the autodeploy directory.
|
|
7
|
+
*
|
|
5
8
|
* Supports:
|
|
6
|
-
* - Full WAR deployment
|
|
9
|
+
* - Full WAR deployment via asadmin deploy --force
|
|
7
10
|
* - Diff-based updates (only changed files)
|
|
8
11
|
* - Hash calculation for change detection
|
|
12
|
+
* - Proper deployment status reporting
|
|
9
13
|
*/
|
|
10
14
|
export declare class WarDeployer {
|
|
11
15
|
private readonly warPath;
|
|
@@ -13,6 +17,7 @@ export declare class WarDeployer {
|
|
|
13
17
|
private readonly contextRoot?;
|
|
14
18
|
private readonly payara;
|
|
15
19
|
private readonly logger;
|
|
20
|
+
private readonly aggressiveMode;
|
|
16
21
|
private deployLock;
|
|
17
22
|
constructor(options: WarDeployerOptions);
|
|
18
23
|
/**
|
|
@@ -24,25 +29,32 @@ export declare class WarDeployer {
|
|
|
24
29
|
*/
|
|
25
30
|
getCurrentHashes(): Promise<WarFileHashes>;
|
|
26
31
|
/**
|
|
27
|
-
* Apply file changes to WAR and deploy
|
|
32
|
+
* Apply file changes to WAR and deploy using asadmin
|
|
28
33
|
*
|
|
29
34
|
* This method:
|
|
30
35
|
* 1. Extracts the current WAR to a temp directory
|
|
31
36
|
* 2. Applies file changes and deletions
|
|
32
37
|
* 3. Repackages the WAR
|
|
33
|
-
* 4. Deploys to Payara
|
|
38
|
+
* 4. Deploys to Payara using asadmin deploy --force
|
|
39
|
+
*
|
|
40
|
+
* @returns Deploy result with status and details
|
|
34
41
|
*/
|
|
35
|
-
applyChanges(changedFiles: FileChange[], deletedFiles: string[]): Promise<
|
|
42
|
+
applyChanges(changedFiles: FileChange[], deletedFiles: string[]): Promise<DeployResult>;
|
|
36
43
|
/**
|
|
37
44
|
* Apply file changes to WAR without deploying to Payara
|
|
38
45
|
* (Useful for testing or when deployment is handled separately)
|
|
39
46
|
*/
|
|
40
47
|
applyChangesWithoutDeploy(changedFiles: FileChange[], deletedFiles: string[]): Promise<void>;
|
|
41
48
|
/**
|
|
42
|
-
* Deploy WAR to Payara
|
|
43
|
-
* Uses
|
|
49
|
+
* Deploy WAR to Payara using asadmin deploy command
|
|
50
|
+
* Uses --force flag for hot deployment/redeploy
|
|
51
|
+
*
|
|
52
|
+
* IMPORTANT: This does NOT use autodeploy. It uses explicit asadmin commands.
|
|
44
53
|
*/
|
|
45
|
-
deploy(): Promise<
|
|
54
|
+
deploy(): Promise<{
|
|
55
|
+
deployed: boolean;
|
|
56
|
+
applications: string[];
|
|
57
|
+
}>;
|
|
46
58
|
/**
|
|
47
59
|
* Deploy if WAR exists (for startup)
|
|
48
60
|
*/
|
|
@@ -55,10 +67,47 @@ export declare class WarDeployer {
|
|
|
55
67
|
* Get the WAR file path
|
|
56
68
|
*/
|
|
57
69
|
getWarPath(): string;
|
|
70
|
+
/**
|
|
71
|
+
* Get application name
|
|
72
|
+
*/
|
|
73
|
+
getAppName(): string;
|
|
58
74
|
/**
|
|
59
75
|
* Get a specific file from the WAR
|
|
60
76
|
*/
|
|
61
77
|
getFile(path: string): Promise<Buffer | null>;
|
|
78
|
+
/**
|
|
79
|
+
* Check if application is currently deployed
|
|
80
|
+
*/
|
|
81
|
+
isAppDeployed(): Promise<boolean>;
|
|
82
|
+
/**
|
|
83
|
+
* Undeploy the application
|
|
84
|
+
*/
|
|
85
|
+
undeploy(): Promise<void>;
|
|
86
|
+
/**
|
|
87
|
+
* Full deployment with complete Payara restart (aggressive mode).
|
|
88
|
+
*
|
|
89
|
+
* This method follows the exact sequence requested:
|
|
90
|
+
* 1. Apply changes to WAR file (while Payara still running)
|
|
91
|
+
* 2. Undeploy current application
|
|
92
|
+
* 3. Stop Payara domain gracefully
|
|
93
|
+
* 4. Kill ALL Java processes (aggressive cleanup)
|
|
94
|
+
* 5. Start Payara fresh
|
|
95
|
+
* 6. Deploy WAR file
|
|
96
|
+
*
|
|
97
|
+
* This ensures:
|
|
98
|
+
* - Only ONE Java process runs at a time
|
|
99
|
+
* - Clean deployment without conflicts
|
|
100
|
+
* - No orphan processes
|
|
101
|
+
*
|
|
102
|
+
* @param changedFiles - Files to add/update in WAR
|
|
103
|
+
* @param deletedFiles - Files to remove from WAR
|
|
104
|
+
* @returns Full deployment result with timing details
|
|
105
|
+
*/
|
|
106
|
+
deployWithFullRestart(changedFiles: FileChange[], deletedFiles: string[]): Promise<FullDeployResult>;
|
|
107
|
+
/**
|
|
108
|
+
* Apply changes and deploy - uses aggressive mode if configured
|
|
109
|
+
*/
|
|
110
|
+
applyChangesAuto(changedFiles: FileChange[], deletedFiles: string[]): Promise<DeployResult | FullDeployResult>;
|
|
62
111
|
/**
|
|
63
112
|
* Recursively add directory contents to ZIP
|
|
64
113
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"war-deployer.d.ts","sourceRoot":"","sources":["../src/war-deployer.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"war-deployer.d.ts","sourceRoot":"","sources":["../src/war-deployer.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEhH;;;;;;;;;;;GAWG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IAGzC,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,EAAE,kBAAkB;IASvC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IASnC;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC;IAyBhD;;;;;;;;;;OAUG;IACG,YAAY,CAChB,YAAY,EAAE,UAAU,EAAE,EAC1B,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,YAAY,CAAC;IAqGxB;;;OAGG;IACG,yBAAyB,CAC7B,YAAY,EAAE,UAAU,EAAE,EAC1B,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,IAAI,CAAC;IAoDhB;;;;;OAKG;IACG,MAAM,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAgCtE;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAQxC;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoBnD;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAKvC;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAS/B;;;;;;;;;;;;;;;;;;;OAmBG;IACG,qBAAqB,CACzB,YAAY,EAAE,UAAU,EAAE,EAC1B,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,gBAAgB,CAAC;IAmH5B;;OAEG;IACG,gBAAgB,CACpB,YAAY,EAAE,UAAU,EAAE,EAC1B,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,YAAY,GAAG,gBAAgB,CAAC;IAO3C;;OAEG;YACW,iBAAiB;CAmBhC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,WAAW,EAAE,aAAa,EAC1B,YAAY,EAAE,aAAa,GAC1B;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAmB1C;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAahF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CASjE"}
|
package/dist/war-deployer.js
CHANGED
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
// Path: src/war-deployer.ts
|
|
2
|
-
// WAR file deployer with diff-based updates
|
|
3
|
-
import { createHash } from 'node:crypto';
|
|
2
|
+
// WAR file deployer with diff-based updates - uses asadmin deploy commands only
|
|
3
|
+
import { createHash, randomBytes } from 'node:crypto';
|
|
4
4
|
import { readFile, writeFile, mkdir, rm, stat, readdir } from 'node:fs/promises';
|
|
5
5
|
import { join, dirname } from 'node:path';
|
|
6
6
|
import AdmZip from 'adm-zip';
|
|
7
7
|
/**
|
|
8
8
|
* WAR file deployer with diff-based updates
|
|
9
9
|
*
|
|
10
|
+
* IMPORTANT: This deployer uses asadmin deploy commands ONLY.
|
|
11
|
+
* It does NOT use the autodeploy directory.
|
|
12
|
+
*
|
|
10
13
|
* Supports:
|
|
11
|
-
* - Full WAR deployment
|
|
14
|
+
* - Full WAR deployment via asadmin deploy --force
|
|
12
15
|
* - Diff-based updates (only changed files)
|
|
13
16
|
* - Hash calculation for change detection
|
|
17
|
+
* - Proper deployment status reporting
|
|
14
18
|
*/
|
|
15
19
|
export class WarDeployer {
|
|
16
20
|
warPath;
|
|
@@ -18,6 +22,7 @@ export class WarDeployer {
|
|
|
18
22
|
contextRoot;
|
|
19
23
|
payara;
|
|
20
24
|
logger;
|
|
25
|
+
aggressiveMode;
|
|
21
26
|
// Lock to prevent concurrent deployments
|
|
22
27
|
deployLock = false;
|
|
23
28
|
constructor(options) {
|
|
@@ -26,6 +31,7 @@ export class WarDeployer {
|
|
|
26
31
|
this.contextRoot = options.contextRoot;
|
|
27
32
|
this.payara = options.payara;
|
|
28
33
|
this.logger = options.logger;
|
|
34
|
+
this.aggressiveMode = options.aggressiveMode ?? false;
|
|
29
35
|
}
|
|
30
36
|
/**
|
|
31
37
|
* Check if WAR file exists
|
|
@@ -64,20 +70,23 @@ export class WarDeployer {
|
|
|
64
70
|
return hashes;
|
|
65
71
|
}
|
|
66
72
|
/**
|
|
67
|
-
* Apply file changes to WAR and deploy
|
|
73
|
+
* Apply file changes to WAR and deploy using asadmin
|
|
68
74
|
*
|
|
69
75
|
* This method:
|
|
70
76
|
* 1. Extracts the current WAR to a temp directory
|
|
71
77
|
* 2. Applies file changes and deletions
|
|
72
78
|
* 3. Repackages the WAR
|
|
73
|
-
* 4. Deploys to Payara
|
|
79
|
+
* 4. Deploys to Payara using asadmin deploy --force
|
|
80
|
+
*
|
|
81
|
+
* @returns Deploy result with status and details
|
|
74
82
|
*/
|
|
75
83
|
async applyChanges(changedFiles, deletedFiles) {
|
|
76
84
|
if (this.deployLock) {
|
|
77
85
|
throw new Error('Deployment already in progress');
|
|
78
86
|
}
|
|
79
87
|
this.deployLock = true;
|
|
80
|
-
const tempDir = `/tmp/war-deploy-${Date.now()}`;
|
|
88
|
+
const tempDir = `/tmp/war-deploy-${Date.now()}-${randomBytes(4).toString('hex')}`;
|
|
89
|
+
const startTime = Date.now();
|
|
81
90
|
try {
|
|
82
91
|
this.logger.info({
|
|
83
92
|
changed: changedFiles.length,
|
|
@@ -120,8 +129,30 @@ export class WarDeployer {
|
|
|
120
129
|
// Write WAR file
|
|
121
130
|
newZip.writeZip(this.warPath);
|
|
122
131
|
this.logger.info({ warPath: this.warPath }, 'WAR file updated');
|
|
123
|
-
// Deploy to Payara
|
|
124
|
-
await this.deploy();
|
|
132
|
+
// Deploy to Payara using asadmin deploy
|
|
133
|
+
const deployResult = await this.deploy();
|
|
134
|
+
const duration = Date.now() - startTime;
|
|
135
|
+
return {
|
|
136
|
+
success: true,
|
|
137
|
+
filesChanged: changedFiles.length,
|
|
138
|
+
filesDeleted: deletedFiles.length,
|
|
139
|
+
message: 'Deployment successful',
|
|
140
|
+
deploymentTime: duration,
|
|
141
|
+
appName: this.appName,
|
|
142
|
+
...deployResult,
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
catch (err) {
|
|
146
|
+
const duration = Date.now() - startTime;
|
|
147
|
+
this.logger.error({ err, duration }, 'Deployment failed');
|
|
148
|
+
return {
|
|
149
|
+
success: false,
|
|
150
|
+
filesChanged: changedFiles.length,
|
|
151
|
+
filesDeleted: deletedFiles.length,
|
|
152
|
+
message: err instanceof Error ? err.message : String(err),
|
|
153
|
+
deploymentTime: duration,
|
|
154
|
+
appName: this.appName,
|
|
155
|
+
};
|
|
125
156
|
}
|
|
126
157
|
finally {
|
|
127
158
|
// Cleanup temp directory
|
|
@@ -139,7 +170,7 @@ export class WarDeployer {
|
|
|
139
170
|
* (Useful for testing or when deployment is handled separately)
|
|
140
171
|
*/
|
|
141
172
|
async applyChangesWithoutDeploy(changedFiles, deletedFiles) {
|
|
142
|
-
const tempDir = `/tmp/war-update-${Date.now()}`;
|
|
173
|
+
const tempDir = `/tmp/war-update-${Date.now()}-${randomBytes(4).toString('hex')}`;
|
|
143
174
|
try {
|
|
144
175
|
this.logger.debug({
|
|
145
176
|
changed: changedFiles.length,
|
|
@@ -184,16 +215,18 @@ export class WarDeployer {
|
|
|
184
215
|
}
|
|
185
216
|
}
|
|
186
217
|
/**
|
|
187
|
-
* Deploy WAR to Payara
|
|
188
|
-
* Uses
|
|
218
|
+
* Deploy WAR to Payara using asadmin deploy command
|
|
219
|
+
* Uses --force flag for hot deployment/redeploy
|
|
220
|
+
*
|
|
221
|
+
* IMPORTANT: This does NOT use autodeploy. It uses explicit asadmin commands.
|
|
189
222
|
*/
|
|
190
223
|
async deploy() {
|
|
191
224
|
if (!(await this.warExists())) {
|
|
192
225
|
this.logger.info({ warPath: this.warPath }, 'No WAR file to deploy');
|
|
193
|
-
return;
|
|
226
|
+
return { deployed: false, applications: [] };
|
|
194
227
|
}
|
|
195
|
-
this.logger.info({ warPath: this.warPath, appName: this.appName }, 'Deploying WAR');
|
|
196
|
-
// Ensure Payara is running
|
|
228
|
+
this.logger.info({ warPath: this.warPath, appName: this.appName }, 'Deploying WAR via asadmin');
|
|
229
|
+
// Ensure Payara is running
|
|
197
230
|
const isRunning = await this.payara.isRunning();
|
|
198
231
|
if (!isRunning) {
|
|
199
232
|
this.logger.info('Starting Payara for deployment');
|
|
@@ -201,15 +234,24 @@ export class WarDeployer {
|
|
|
201
234
|
}
|
|
202
235
|
// Deploy WAR with --force flag (hot deployment/redeploy)
|
|
203
236
|
await this.payara.deploy(this.warPath, this.appName, this.contextRoot);
|
|
204
|
-
|
|
237
|
+
// Verify deployment
|
|
238
|
+
const applications = await this.payara.listApplications();
|
|
239
|
+
const isDeployed = applications.includes(this.appName);
|
|
240
|
+
if (isDeployed) {
|
|
241
|
+
this.logger.info({ appName: this.appName, applications }, 'WAR deployed successfully');
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
this.logger.warn({ appName: this.appName, applications }, 'WAR deployment may have failed - app not in list');
|
|
245
|
+
}
|
|
246
|
+
return { deployed: isDeployed, applications };
|
|
205
247
|
}
|
|
206
248
|
/**
|
|
207
249
|
* Deploy if WAR exists (for startup)
|
|
208
250
|
*/
|
|
209
251
|
async deployIfExists() {
|
|
210
252
|
if (await this.warExists()) {
|
|
211
|
-
await this.deploy();
|
|
212
|
-
return
|
|
253
|
+
const result = await this.deploy();
|
|
254
|
+
return result.deployed;
|
|
213
255
|
}
|
|
214
256
|
return false;
|
|
215
257
|
}
|
|
@@ -225,6 +267,12 @@ export class WarDeployer {
|
|
|
225
267
|
getWarPath() {
|
|
226
268
|
return this.warPath;
|
|
227
269
|
}
|
|
270
|
+
/**
|
|
271
|
+
* Get application name
|
|
272
|
+
*/
|
|
273
|
+
getAppName() {
|
|
274
|
+
return this.appName;
|
|
275
|
+
}
|
|
228
276
|
/**
|
|
229
277
|
* Get a specific file from the WAR
|
|
230
278
|
*/
|
|
@@ -245,6 +293,155 @@ export class WarDeployer {
|
|
|
245
293
|
return null;
|
|
246
294
|
}
|
|
247
295
|
}
|
|
296
|
+
/**
|
|
297
|
+
* Check if application is currently deployed
|
|
298
|
+
*/
|
|
299
|
+
async isAppDeployed() {
|
|
300
|
+
const applications = await this.payara.listApplications();
|
|
301
|
+
return applications.includes(this.appName);
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Undeploy the application
|
|
305
|
+
*/
|
|
306
|
+
async undeploy() {
|
|
307
|
+
await this.payara.undeploy(this.appName);
|
|
308
|
+
}
|
|
309
|
+
// ============================================================================
|
|
310
|
+
// FULL DEPLOYMENT WITH RESTART (Aggressive Mode)
|
|
311
|
+
// User-requested flow: undeploy → stop → kill → start → deploy
|
|
312
|
+
// ============================================================================
|
|
313
|
+
/**
|
|
314
|
+
* Full deployment with complete Payara restart (aggressive mode).
|
|
315
|
+
*
|
|
316
|
+
* This method follows the exact sequence requested:
|
|
317
|
+
* 1. Apply changes to WAR file (while Payara still running)
|
|
318
|
+
* 2. Undeploy current application
|
|
319
|
+
* 3. Stop Payara domain gracefully
|
|
320
|
+
* 4. Kill ALL Java processes (aggressive cleanup)
|
|
321
|
+
* 5. Start Payara fresh
|
|
322
|
+
* 6. Deploy WAR file
|
|
323
|
+
*
|
|
324
|
+
* This ensures:
|
|
325
|
+
* - Only ONE Java process runs at a time
|
|
326
|
+
* - Clean deployment without conflicts
|
|
327
|
+
* - No orphan processes
|
|
328
|
+
*
|
|
329
|
+
* @param changedFiles - Files to add/update in WAR
|
|
330
|
+
* @param deletedFiles - Files to remove from WAR
|
|
331
|
+
* @returns Full deployment result with timing details
|
|
332
|
+
*/
|
|
333
|
+
async deployWithFullRestart(changedFiles, deletedFiles) {
|
|
334
|
+
if (this.deployLock) {
|
|
335
|
+
throw new Error('Deployment already in progress');
|
|
336
|
+
}
|
|
337
|
+
this.deployLock = true;
|
|
338
|
+
const startTime = Date.now();
|
|
339
|
+
const timings = {};
|
|
340
|
+
try {
|
|
341
|
+
this.logger.info({
|
|
342
|
+
changed: changedFiles.length,
|
|
343
|
+
deleted: deletedFiles.length,
|
|
344
|
+
aggressiveMode: true,
|
|
345
|
+
}, 'Starting full deployment with restart');
|
|
346
|
+
// ======================================================================
|
|
347
|
+
// STEP 1: Apply changes to WAR file (while Payara still running)
|
|
348
|
+
// ======================================================================
|
|
349
|
+
const warUpdateStart = Date.now();
|
|
350
|
+
await this.applyChangesWithoutDeploy(changedFiles, deletedFiles);
|
|
351
|
+
timings.warUpdate = Date.now() - warUpdateStart;
|
|
352
|
+
this.logger.info({ duration: timings.warUpdate }, 'WAR file updated');
|
|
353
|
+
// ======================================================================
|
|
354
|
+
// STEP 2: Undeploy current application (if deployed)
|
|
355
|
+
// ======================================================================
|
|
356
|
+
const undeployStart = Date.now();
|
|
357
|
+
try {
|
|
358
|
+
const isDeployed = await this.isAppDeployed();
|
|
359
|
+
if (isDeployed) {
|
|
360
|
+
await this.payara.undeploy(this.appName);
|
|
361
|
+
this.logger.info({ appName: this.appName }, 'Application undeployed');
|
|
362
|
+
}
|
|
363
|
+
else {
|
|
364
|
+
this.logger.debug({ appName: this.appName }, 'Application not deployed, skipping undeploy');
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
catch (err) {
|
|
368
|
+
this.logger.warn({ err }, 'Undeploy failed (continuing with restart)');
|
|
369
|
+
}
|
|
370
|
+
timings.undeploy = Date.now() - undeployStart;
|
|
371
|
+
// ======================================================================
|
|
372
|
+
// STEP 3 & 4: Stop Payara + Kill ALL Java (aggressive cleanup)
|
|
373
|
+
// ======================================================================
|
|
374
|
+
const stopStart = Date.now();
|
|
375
|
+
await this.payara.aggressiveStop();
|
|
376
|
+
timings.stop = Date.now() - stopStart;
|
|
377
|
+
this.logger.info({ duration: timings.stop }, 'Payara stopped and all Java processes killed');
|
|
378
|
+
// ======================================================================
|
|
379
|
+
// STEP 5: Start Payara fresh (verifies no Java running first)
|
|
380
|
+
// ======================================================================
|
|
381
|
+
const startPayaraStart = Date.now();
|
|
382
|
+
await this.payara.safeStart();
|
|
383
|
+
timings.start = Date.now() - startPayaraStart;
|
|
384
|
+
this.logger.info({ duration: timings.start }, 'Payara started fresh');
|
|
385
|
+
// ======================================================================
|
|
386
|
+
// STEP 6: Deploy WAR file
|
|
387
|
+
// ======================================================================
|
|
388
|
+
const deployStart = Date.now();
|
|
389
|
+
await this.payara.deploy(this.warPath, this.appName, this.contextRoot);
|
|
390
|
+
timings.deploy = Date.now() - deployStart;
|
|
391
|
+
// Verify deployment
|
|
392
|
+
const applications = await this.payara.listApplications();
|
|
393
|
+
const isDeployed = applications.includes(this.appName);
|
|
394
|
+
if (!isDeployed) {
|
|
395
|
+
throw new Error(`Deployment verification failed: ${this.appName} not in application list`);
|
|
396
|
+
}
|
|
397
|
+
const totalDuration = Date.now() - startTime;
|
|
398
|
+
this.logger.info({
|
|
399
|
+
appName: this.appName,
|
|
400
|
+
deployed: true,
|
|
401
|
+
duration: totalDuration,
|
|
402
|
+
timings,
|
|
403
|
+
}, 'Full deployment with restart completed successfully');
|
|
404
|
+
return {
|
|
405
|
+
success: true,
|
|
406
|
+
filesChanged: changedFiles.length,
|
|
407
|
+
filesDeleted: deletedFiles.length,
|
|
408
|
+
message: 'Deployment with full restart completed successfully',
|
|
409
|
+
deploymentTime: totalDuration,
|
|
410
|
+
appName: this.appName,
|
|
411
|
+
deployed: true,
|
|
412
|
+
applications,
|
|
413
|
+
timings,
|
|
414
|
+
aggressiveMode: true,
|
|
415
|
+
};
|
|
416
|
+
}
|
|
417
|
+
catch (err) {
|
|
418
|
+
const totalDuration = Date.now() - startTime;
|
|
419
|
+
this.logger.error({ err, duration: totalDuration, timings }, 'Full deployment failed');
|
|
420
|
+
return {
|
|
421
|
+
success: false,
|
|
422
|
+
filesChanged: changedFiles.length,
|
|
423
|
+
filesDeleted: deletedFiles.length,
|
|
424
|
+
message: err instanceof Error ? err.message : String(err),
|
|
425
|
+
deploymentTime: totalDuration,
|
|
426
|
+
appName: this.appName,
|
|
427
|
+
deployed: false,
|
|
428
|
+
timings,
|
|
429
|
+
aggressiveMode: true,
|
|
430
|
+
};
|
|
431
|
+
}
|
|
432
|
+
finally {
|
|
433
|
+
this.deployLock = false;
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
/**
|
|
437
|
+
* Apply changes and deploy - uses aggressive mode if configured
|
|
438
|
+
*/
|
|
439
|
+
async applyChangesAuto(changedFiles, deletedFiles) {
|
|
440
|
+
if (this.aggressiveMode) {
|
|
441
|
+
return this.deployWithFullRestart(changedFiles, deletedFiles);
|
|
442
|
+
}
|
|
443
|
+
return this.applyChanges(changedFiles, deletedFiles);
|
|
444
|
+
}
|
|
248
445
|
/**
|
|
249
446
|
* Recursively add directory contents to ZIP
|
|
250
447
|
*/
|
package/dist/war-deployer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"war-deployer.js","sourceRoot":"","sources":["../src/war-deployer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"war-deployer.js","sourceRoot":"","sources":["../src/war-deployer.ts"],"names":[],"mappings":"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"}
|