git-push-deploy-cli 0.3.1 → 0.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/README.md +466 -108
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +58 -18
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/daemon.d.ts +10 -0
- package/dist/commands/daemon.d.ts.map +1 -0
- package/dist/commands/daemon.js +67 -0
- package/dist/commands/daemon.js.map +1 -0
- package/dist/commands/deploy.d.ts +1 -1
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +5 -2
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +36 -19
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +98 -3
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/logs.d.ts +1 -0
- package/dist/commands/logs.d.ts.map +1 -1
- package/dist/commands/logs.js +4 -1
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/release.d.ts +1 -1
- package/dist/commands/release.d.ts.map +1 -1
- package/dist/commands/release.js +162 -8
- package/dist/commands/release.js.map +1 -1
- package/dist/commands/stage.d.ts.map +1 -1
- package/dist/commands/stage.js +4 -3
- package/dist/commands/stage.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +15 -2
- package/dist/commands/status.js.map +1 -1
- package/dist/config/types.d.ts +112 -14
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +20 -0
- package/dist/config/types.js.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/git.d.ts +8 -0
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +22 -0
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/notifications.d.ts +6 -0
- package/dist/utils/notifications.d.ts.map +1 -0
- package/dist/utils/notifications.js +188 -0
- package/dist/utils/notifications.js.map +1 -0
- package/dist/utils/shell.d.ts +4 -0
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js +18 -0
- package/dist/utils/shell.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAqOA,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8E9E"}
|
package/dist/commands/config.js
CHANGED
|
@@ -2,7 +2,18 @@ import chalk from 'chalk';
|
|
|
2
2
|
import * as readline from 'readline';
|
|
3
3
|
import { existsSync, writeFileSync, readFileSync } from 'fs';
|
|
4
4
|
import { join } from 'path';
|
|
5
|
+
import { getServers } from '../config/types.js';
|
|
5
6
|
const CONFIG_FILENAME = '.git-deploy.json';
|
|
7
|
+
/**
|
|
8
|
+
* Get the primary server from config (handles both server and servers)
|
|
9
|
+
*/
|
|
10
|
+
function getExistingServer(config) {
|
|
11
|
+
if (!config)
|
|
12
|
+
return undefined;
|
|
13
|
+
if (config.servers && config.servers.length > 0)
|
|
14
|
+
return config.servers[0];
|
|
15
|
+
return config.server;
|
|
16
|
+
}
|
|
6
17
|
/**
|
|
7
18
|
* Create readline interface
|
|
8
19
|
*/
|
|
@@ -103,7 +114,7 @@ async function createServiceConfig(rl, existingConfig) {
|
|
|
103
114
|
const artifacts = artifactsStr.split(',').map(a => a.trim()).filter(a => a);
|
|
104
115
|
// Process manager
|
|
105
116
|
console.log('');
|
|
106
|
-
const processManager = await promptSelect(rl, 'Process manager:', ['pm2', 'systemd'], 0);
|
|
117
|
+
const processManager = await promptSelect(rl, 'Process manager:', ['pm2', 'gpdd', 'systemd'], 0);
|
|
107
118
|
const processName = await prompt(rl, 'Process name', existingConfig?.processName || 'my-service');
|
|
108
119
|
// PM2 specific
|
|
109
120
|
let pm2Home;
|
|
@@ -115,6 +126,19 @@ async function createServiceConfig(rl, existingConfig) {
|
|
|
115
126
|
pm2Home = await prompt(rl, 'PM2_HOME directory', existingConfig?.pm2Home || `/opt/${processName}/.pm2`);
|
|
116
127
|
}
|
|
117
128
|
}
|
|
129
|
+
// GPDD specific
|
|
130
|
+
let gpddWorkers;
|
|
131
|
+
let gpddEntryPoint;
|
|
132
|
+
if (processManager === 'gpdd') {
|
|
133
|
+
const workersStr = await prompt(rl, 'Number of workers (0 = CPU count)', String(existingConfig?.gpddWorkers || 0));
|
|
134
|
+
gpddWorkers = parseInt(workersStr, 10) || undefined;
|
|
135
|
+
gpddEntryPoint = await prompt(rl, 'Entry point', existingConfig?.gpddEntryPoint || 'dist/index.js');
|
|
136
|
+
// gpdd also supports running as different user
|
|
137
|
+
const useGpddUser = await promptYesNo(rl, 'Run GPDD as different user (sudo -u)?', !!existingConfig?.pm2User);
|
|
138
|
+
if (useGpddUser) {
|
|
139
|
+
pm2User = await prompt(rl, 'User', existingConfig?.pm2User || 'deploy');
|
|
140
|
+
}
|
|
141
|
+
}
|
|
118
142
|
// Environment
|
|
119
143
|
console.log('');
|
|
120
144
|
const environment = await promptSelect(rl, 'Environment:', ['production', 'staging', 'development'], 0);
|
|
@@ -122,12 +146,12 @@ async function createServiceConfig(rl, existingConfig) {
|
|
|
122
146
|
console.log('');
|
|
123
147
|
console.log(chalk.blue('Server Configuration'));
|
|
124
148
|
console.log(chalk.gray('─'.repeat(40)));
|
|
125
|
-
const host = await prompt(rl, 'SSH host (user@hostname)', existingConfig?.
|
|
126
|
-
const sshOptions = await prompt(rl, 'SSH options (e.g., -p 22)', existingConfig?.
|
|
127
|
-
const targetDir = await prompt(rl, 'Target directory on server', existingConfig?.
|
|
128
|
-
const bareRepo = await prompt(rl, 'Bare repo path on server', existingConfig?.
|
|
129
|
-
const useGroup = await promptYesNo(rl, 'Use shared Unix group?', !!existingConfig?.
|
|
130
|
-
const group = useGroup ? await prompt(rl, 'Group name', existingConfig?.
|
|
149
|
+
const host = await prompt(rl, 'SSH host (user@hostname)', getExistingServer(existingConfig)?.host || 'deploy@localhost');
|
|
150
|
+
const sshOptions = await prompt(rl, 'SSH options (e.g., -p 22)', getExistingServer(existingConfig)?.sshOptions || '');
|
|
151
|
+
const targetDir = await prompt(rl, 'Target directory on server', getExistingServer(existingConfig)?.targetDir || `/opt/${processName}`);
|
|
152
|
+
const bareRepo = await prompt(rl, 'Bare repo path on server', getExistingServer(existingConfig)?.bareRepo || `/git/deploy-${processName}`);
|
|
153
|
+
const useGroup = await promptYesNo(rl, 'Use shared Unix group?', !!getExistingServer(existingConfig)?.group);
|
|
154
|
+
const group = useGroup ? await prompt(rl, 'Group name', getExistingServer(existingConfig)?.group || 'deploy') : undefined;
|
|
131
155
|
// Environment variables
|
|
132
156
|
console.log('');
|
|
133
157
|
const addEnvVars = await promptYesNo(rl, 'Add environment variables?', !!existingConfig?.env);
|
|
@@ -158,6 +182,16 @@ async function createServiceConfig(rl, existingConfig) {
|
|
|
158
182
|
}
|
|
159
183
|
}
|
|
160
184
|
}
|
|
185
|
+
// Build server config
|
|
186
|
+
const serverConfig = {
|
|
187
|
+
host,
|
|
188
|
+
targetDir,
|
|
189
|
+
bareRepo,
|
|
190
|
+
};
|
|
191
|
+
if (sshOptions)
|
|
192
|
+
serverConfig.sshOptions = sshOptions;
|
|
193
|
+
if (group)
|
|
194
|
+
serverConfig.group = group;
|
|
161
195
|
const config = {
|
|
162
196
|
sourceDir,
|
|
163
197
|
deployRepo,
|
|
@@ -165,20 +199,16 @@ async function createServiceConfig(rl, existingConfig) {
|
|
|
165
199
|
processManager,
|
|
166
200
|
processName,
|
|
167
201
|
environment,
|
|
168
|
-
server:
|
|
169
|
-
host,
|
|
170
|
-
targetDir,
|
|
171
|
-
bareRepo,
|
|
172
|
-
}
|
|
202
|
+
server: serverConfig
|
|
173
203
|
};
|
|
174
|
-
if (sshOptions)
|
|
175
|
-
config.server.sshOptions = sshOptions;
|
|
176
|
-
if (group)
|
|
177
|
-
config.server.group = group;
|
|
178
204
|
if (pm2Home)
|
|
179
205
|
config.pm2Home = pm2Home;
|
|
180
206
|
if (pm2User)
|
|
181
207
|
config.pm2User = pm2User;
|
|
208
|
+
if (gpddWorkers)
|
|
209
|
+
config.gpddWorkers = gpddWorkers;
|
|
210
|
+
if (gpddEntryPoint && gpddEntryPoint !== 'dist/index.js')
|
|
211
|
+
config.gpddEntryPoint = gpddEntryPoint;
|
|
182
212
|
if (env && Object.keys(env).length > 0)
|
|
183
213
|
config.env = env;
|
|
184
214
|
return config;
|
|
@@ -197,9 +227,19 @@ export async function configCommand(options = {}) {
|
|
|
197
227
|
else {
|
|
198
228
|
console.log(chalk.blue('Configured services:'));
|
|
199
229
|
for (const [name, svc] of Object.entries(config.services)) {
|
|
230
|
+
const servers = getServers(svc);
|
|
200
231
|
console.log(` ${chalk.white(name)}`);
|
|
201
|
-
|
|
202
|
-
|
|
232
|
+
if (servers.length === 1) {
|
|
233
|
+
console.log(chalk.gray(` Host: ${servers[0].host}`));
|
|
234
|
+
console.log(chalk.gray(` Target: ${servers[0].targetDir}`));
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
console.log(chalk.gray(` Servers: ${servers.length}`));
|
|
238
|
+
for (const server of servers) {
|
|
239
|
+
const label = server.name || server.host;
|
|
240
|
+
console.log(chalk.gray(` - ${label}: ${server.targetDir}`));
|
|
241
|
+
}
|
|
242
|
+
}
|
|
203
243
|
}
|
|
204
244
|
}
|
|
205
245
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Daemon command - control gpdd on remote server via SSH
|
|
3
|
+
*
|
|
4
|
+
* gpd daemon <service> status Show gpdd status
|
|
5
|
+
* gpd daemon <service> reload Zero-downtime reload
|
|
6
|
+
* gpd daemon <service> stop Stop the daemon
|
|
7
|
+
* gpd daemon <service> start Start the daemon
|
|
8
|
+
*/
|
|
9
|
+
export declare function daemonCommand(serviceName: string, action: string): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=daemon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/commands/daemon.ts"],"names":[],"mappings":"AASA;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2DtF"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { getServiceConfig } from '../config/loader.js';
|
|
3
|
+
import { getServers } from '../config/types.js';
|
|
4
|
+
import { runSshCommand } from '../utils/shell.js';
|
|
5
|
+
/**
|
|
6
|
+
* Daemon command - control gpdd on remote server via SSH
|
|
7
|
+
*
|
|
8
|
+
* gpd daemon <service> status Show gpdd status
|
|
9
|
+
* gpd daemon <service> reload Zero-downtime reload
|
|
10
|
+
* gpd daemon <service> stop Stop the daemon
|
|
11
|
+
* gpd daemon <service> start Start the daemon
|
|
12
|
+
*/
|
|
13
|
+
export async function daemonCommand(serviceName, action) {
|
|
14
|
+
const config = getServiceConfig(serviceName);
|
|
15
|
+
const servers = getServers(config);
|
|
16
|
+
if (config.processManager !== 'gpdd') {
|
|
17
|
+
console.log(chalk.yellow(`Service ${serviceName} uses ${config.processManager || 'pm2'}, not gpdd`));
|
|
18
|
+
console.log(chalk.gray(`Use 'gpd logs ${serviceName}' for PM2 services`));
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
// Run on all servers
|
|
22
|
+
for (const server of servers) {
|
|
23
|
+
const { host, sshOptions, targetDir } = server;
|
|
24
|
+
const serverLabel = server.name || host;
|
|
25
|
+
console.log(chalk.blue(`GPDD ${action} on ${serverLabel}...`));
|
|
26
|
+
console.log(chalk.gray(` Host: ${host}`));
|
|
27
|
+
console.log(chalk.gray(` Target: ${targetDir}`));
|
|
28
|
+
console.log('');
|
|
29
|
+
const runUser = config.pm2User;
|
|
30
|
+
let cmd;
|
|
31
|
+
switch (action) {
|
|
32
|
+
case 'status':
|
|
33
|
+
cmd = `cd "${targetDir}" && gpdd status`;
|
|
34
|
+
break;
|
|
35
|
+
case 'reload':
|
|
36
|
+
cmd = `cd "${targetDir}" && gpdd reload`;
|
|
37
|
+
break;
|
|
38
|
+
case 'stop':
|
|
39
|
+
cmd = `cd "${targetDir}" && gpdd stop`;
|
|
40
|
+
break;
|
|
41
|
+
case 'start':
|
|
42
|
+
const entryPoint = config.gpddEntryPoint || 'dist/index.js';
|
|
43
|
+
const workers = config.gpddWorkers ? `-w ${config.gpddWorkers}` : '';
|
|
44
|
+
cmd = `cd "${targetDir}" && gpdd start ${entryPoint} ${workers}`;
|
|
45
|
+
break;
|
|
46
|
+
default:
|
|
47
|
+
console.error(chalk.red(`Unknown action: ${action}`));
|
|
48
|
+
console.log('Available actions: status, reload, stop, start');
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
// If running as different user, wrap in sudo
|
|
52
|
+
if (runUser) {
|
|
53
|
+
cmd = `sudo -u ${runUser} bash -c '${cmd.replace(/'/g, "'\\''")}'`;
|
|
54
|
+
}
|
|
55
|
+
try {
|
|
56
|
+
const output = await runSshCommand(host, cmd, sshOptions);
|
|
57
|
+
console.log(output);
|
|
58
|
+
console.log(chalk.green(`✓ ${action} completed on ${serverLabel}`));
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
console.error(chalk.red(`Failed on ${serverLabel}: ${error.message}`));
|
|
62
|
+
}
|
|
63
|
+
if (servers.length > 1)
|
|
64
|
+
console.log('');
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=daemon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/commands/daemon.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ interface DeployOptions {
|
|
|
8
8
|
*
|
|
9
9
|
* New architecture:
|
|
10
10
|
* 1. Stage: Copy build artifacts to deploy repo (with lazy init)
|
|
11
|
-
* 2. Release: Commit and push to bare repo on server
|
|
11
|
+
* 2. Release: Commit and push to bare repo on server(s)
|
|
12
12
|
* 3. Server hook handles: git checkout, npm install, pm2 restart
|
|
13
13
|
*
|
|
14
14
|
* No more SSH install from client - the post-receive hook does everything!
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAMA,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCnG"}
|
package/dist/commands/deploy.js
CHANGED
|
@@ -2,18 +2,21 @@ import chalk from 'chalk';
|
|
|
2
2
|
import { stageCommand, stageCommandDryRun } from './stage.js';
|
|
3
3
|
import { releaseCommand, releaseCommandDryRun } from './release.js';
|
|
4
4
|
import { getServiceConfig } from '../config/loader.js';
|
|
5
|
+
import { getServers } from '../config/types.js';
|
|
5
6
|
/**
|
|
6
7
|
* Deploy command - stage artifacts and push to server
|
|
7
8
|
*
|
|
8
9
|
* New architecture:
|
|
9
10
|
* 1. Stage: Copy build artifacts to deploy repo (with lazy init)
|
|
10
|
-
* 2. Release: Commit and push to bare repo on server
|
|
11
|
+
* 2. Release: Commit and push to bare repo on server(s)
|
|
11
12
|
* 3. Server hook handles: git checkout, npm install, pm2 restart
|
|
12
13
|
*
|
|
13
14
|
* No more SSH install from client - the post-receive hook does everything!
|
|
14
15
|
*/
|
|
15
16
|
export async function deployCommand(serviceName, options = {}) {
|
|
16
17
|
const config = getServiceConfig(serviceName);
|
|
18
|
+
const servers = getServers(config);
|
|
19
|
+
const serverList = servers.map(s => s.name || s.host).join(', ');
|
|
17
20
|
if (options.dryRun) {
|
|
18
21
|
console.log(chalk.blue.bold(`[DRY RUN] Deploy preview for ${serviceName}`));
|
|
19
22
|
}
|
|
@@ -21,7 +24,7 @@ export async function deployCommand(serviceName, options = {}) {
|
|
|
21
24
|
console.log(chalk.blue.bold(`Deploying ${serviceName}...`));
|
|
22
25
|
}
|
|
23
26
|
console.log(chalk.gray(` Environment: ${config.environment || 'production'}`));
|
|
24
|
-
console.log(chalk.gray(` Server: ${
|
|
27
|
+
console.log(chalk.gray(` Server${servers.length > 1 ? 's' : ''}: ${serverList}`));
|
|
25
28
|
console.log('');
|
|
26
29
|
if (options.dryRun) {
|
|
27
30
|
// Dry run - just show what would happen
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAQhD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,WAAmB,EAAE,UAAyB,EAAE;IAClF,MAAM,MAAM,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEjE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,WAAW,KAAK,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,WAAW,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,wCAAwC;QACxC,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC,CAAC;QACrE,OAAO;IACT,CAAC;IAED,oCAAoC;IACpC,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,iDAAiD;IACjD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,WAAW,EAAE,CAAC,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC,CAAC;QACjG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,WAAW,EAAE,CAAC,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,WAAW,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAMA,UAAU,WAAW;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA8ID;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBhG"}
|
package/dist/commands/init.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import { getServiceConfig } from '../config/loader.js';
|
|
3
|
+
import { getServers } from '../config/types.js';
|
|
3
4
|
import { sshExec, checkSshConnection, findSshPublicKey, copySshKey } from '../utils/shell.js';
|
|
4
5
|
import * as readline from 'readline';
|
|
5
6
|
/**
|
|
@@ -137,33 +138,52 @@ log "=== Deployment completed ==="
|
|
|
137
138
|
export async function initCommand(serviceName, _options = {}) {
|
|
138
139
|
console.log(chalk.blue(`Initializing ${serviceName}...`));
|
|
139
140
|
const config = getServiceConfig(serviceName);
|
|
140
|
-
const
|
|
141
|
+
const servers = getServers(config);
|
|
141
142
|
const { pm2User, pm2Home } = config;
|
|
142
|
-
console.log(chalk.gray(`
|
|
143
|
-
console.log(chalk.gray(` Bare repo: ${bareRepo}`));
|
|
144
|
-
console.log(chalk.gray(` Target dir: ${targetDir}`));
|
|
145
|
-
if (group)
|
|
146
|
-
console.log(chalk.gray(` Group: ${group}`));
|
|
143
|
+
console.log(chalk.gray(` Servers: ${servers.length}`));
|
|
147
144
|
if (pm2User)
|
|
148
145
|
console.log(chalk.gray(` PM2 user: ${pm2User}`));
|
|
149
146
|
console.log('');
|
|
147
|
+
// Initialize each server
|
|
148
|
+
for (const server of servers) {
|
|
149
|
+
await initServer(serviceName, server, config, _options);
|
|
150
|
+
if (servers.length > 1)
|
|
151
|
+
console.log('');
|
|
152
|
+
}
|
|
153
|
+
console.log(chalk.green(`✓ Initialized ${serviceName} on ${servers.length} server(s)`));
|
|
154
|
+
console.log('');
|
|
155
|
+
console.log(chalk.gray('Server setup complete. Now you can deploy:'));
|
|
156
|
+
console.log(chalk.white(` gpd deploy ${serviceName}`));
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Initialize a single server
|
|
160
|
+
*/
|
|
161
|
+
async function initServer(serviceName, server, config, options) {
|
|
162
|
+
const { host, bareRepo, targetDir, sshOptions, group } = server;
|
|
163
|
+
const { pm2User, pm2Home } = config;
|
|
164
|
+
const serverLabel = server.name || host;
|
|
165
|
+
console.log(chalk.blue(` Setting up ${serverLabel}...`));
|
|
166
|
+
console.log(chalk.gray(` Host: ${host}`));
|
|
167
|
+
console.log(chalk.gray(` Bare repo: ${bareRepo}`));
|
|
168
|
+
console.log(chalk.gray(` Target dir: ${targetDir}`));
|
|
169
|
+
if (group)
|
|
170
|
+
console.log(chalk.gray(` Group: ${group}`));
|
|
150
171
|
// 0. Check SSH connection first
|
|
151
|
-
if (!
|
|
172
|
+
if (!options.skipSshCheck) {
|
|
152
173
|
const sshReady = await ensureSshConnection(host, sshOptions);
|
|
153
174
|
if (!sshReady) {
|
|
154
|
-
console.log(chalk.red(
|
|
155
|
-
|
|
175
|
+
console.log(chalk.red(` Skipping ${serverLabel} - SSH connection failed`));
|
|
176
|
+
return;
|
|
156
177
|
}
|
|
157
|
-
console.log('');
|
|
158
178
|
}
|
|
159
179
|
// 1. Create group if specified
|
|
160
180
|
if (group) {
|
|
161
|
-
console.log(chalk.gray(`
|
|
181
|
+
console.log(chalk.gray(` Creating group ${group}...`));
|
|
162
182
|
const createGroupCmd = `sudo groupadd -f ${group} && sudo usermod -aG ${group} $(whoami)`;
|
|
163
183
|
sshExec(host, createGroupCmd, { sshOptions });
|
|
164
184
|
}
|
|
165
185
|
// 2. Create bare repo with shared group access
|
|
166
|
-
console.log(chalk.gray(`
|
|
186
|
+
console.log(chalk.gray(` Creating bare repo...`));
|
|
167
187
|
const bareRepoParent = bareRepo.split('/').slice(0, -1).join('/');
|
|
168
188
|
let createBareCmd = `sudo mkdir -p ${bareRepoParent}`;
|
|
169
189
|
if (group) {
|
|
@@ -175,7 +195,7 @@ export async function initCommand(serviceName, _options = {}) {
|
|
|
175
195
|
}
|
|
176
196
|
sshExec(host, createBareCmd, { sshOptions });
|
|
177
197
|
// 3. Create target directory
|
|
178
|
-
console.log(chalk.gray(`
|
|
198
|
+
console.log(chalk.gray(` Creating target directory...`));
|
|
179
199
|
const targetParent = targetDir.split('/').slice(0, -1).join('/');
|
|
180
200
|
let createTargetCmd = `sudo mkdir -p ${targetDir}`;
|
|
181
201
|
if (pm2User) {
|
|
@@ -186,7 +206,7 @@ export async function initCommand(serviceName, _options = {}) {
|
|
|
186
206
|
}
|
|
187
207
|
sshExec(host, createTargetCmd, { sshOptions });
|
|
188
208
|
// 4. Create post-receive hook
|
|
189
|
-
console.log(chalk.gray(`
|
|
209
|
+
console.log(chalk.gray(` Creating post-receive hook...`));
|
|
190
210
|
const hookContent = generatePostReceiveHook(serviceName, {
|
|
191
211
|
targetDir,
|
|
192
212
|
bareRepo,
|
|
@@ -204,16 +224,13 @@ export async function initCommand(serviceName, _options = {}) {
|
|
|
204
224
|
sshExec(host, createHookCmd, { sshOptions });
|
|
205
225
|
}
|
|
206
226
|
// 5. Create log file
|
|
207
|
-
console.log(chalk.gray(`
|
|
227
|
+
console.log(chalk.gray(` Creating log file...`));
|
|
208
228
|
const logFile = `/var/log/gpd-${serviceName}.log`;
|
|
209
229
|
let createLogCmd = `sudo touch ${logFile} && sudo chmod 666 ${logFile}`;
|
|
210
230
|
if (group) {
|
|
211
231
|
createLogCmd += ` && sudo chgrp ${group} ${logFile}`;
|
|
212
232
|
}
|
|
213
233
|
sshExec(host, createLogCmd, { sshOptions });
|
|
214
|
-
console.log(chalk.green(
|
|
215
|
-
console.log('');
|
|
216
|
-
console.log(chalk.gray('Server setup complete. Now you can deploy:'));
|
|
217
|
-
console.log(chalk.white(` gpd deploy ${serviceName}`));
|
|
234
|
+
console.log(chalk.green(` ✓ Initialized on ${serverLabel}`));
|
|
218
235
|
}
|
|
219
236
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAOA,UAAU,cAAc;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAoDD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2GrG"}
|
package/dist/commands/install.js
CHANGED
|
@@ -133,7 +133,43 @@ export async function installCommand(serviceName, options = {}) {
|
|
|
133
133
|
else {
|
|
134
134
|
exec(npmCmd, { cwd: targetDir });
|
|
135
135
|
}
|
|
136
|
-
// 5.
|
|
136
|
+
// 5. Run post-deploy hooks (server-side, after npm install)
|
|
137
|
+
if (config.hooks?.postDeploy && config.hooks.postDeploy.length > 0) {
|
|
138
|
+
console.log(chalk.blue('Running post-deploy hooks...'));
|
|
139
|
+
for (const hookCmd of config.hooks.postDeploy) {
|
|
140
|
+
console.log(chalk.gray(` $ ${hookCmd}`));
|
|
141
|
+
try {
|
|
142
|
+
if (pm2User) {
|
|
143
|
+
execAsUser(hookCmd, pm2User, { cwd: targetDir, env: cmdEnv });
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
exec(hookCmd, { cwd: targetDir });
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
console.log(chalk.red(` ✗ Hook failed: ${hookCmd}`));
|
|
151
|
+
// Continue with other hooks, but warn
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
// 6. Restart process manager
|
|
156
|
+
const processManager = config.processManager || 'pm2';
|
|
157
|
+
if (processManager === 'gpdd') {
|
|
158
|
+
await restartWithGpdd(config, targetDir, runUser, cmdEnv);
|
|
159
|
+
}
|
|
160
|
+
else if (processManager === 'pm2') {
|
|
161
|
+
await restartWithPm2(config, targetDir, runUser, cmdEnv);
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
console.log(chalk.yellow(`Unsupported process manager: ${processManager}`));
|
|
165
|
+
}
|
|
166
|
+
console.log(chalk.green(`✓ Installed ${serviceName}`));
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Restart service using PM2
|
|
170
|
+
*/
|
|
171
|
+
async function restartWithPm2(config, targetDir, runUser, cmdEnv) {
|
|
172
|
+
const { processName, pm2Home, pm2User } = config;
|
|
137
173
|
console.log(chalk.blue('Restarting PM2 process...'));
|
|
138
174
|
// Check if process exists and restart, otherwise start
|
|
139
175
|
const pm2RestartCmd = `pm2 describe ${processName} > /dev/null 2>&1 && pm2 restart ${processName} --update-env || pm2 start ecosystem.config.cjs --env ${config.environment || 'production'}`;
|
|
@@ -146,7 +182,7 @@ export async function installCommand(serviceName, options = {}) {
|
|
|
146
182
|
fullPm2Cmd = `PM2_HOME=${pm2Home} ${fullPm2Cmd}`;
|
|
147
183
|
exec(fullPm2Cmd, { cwd: targetDir });
|
|
148
184
|
}
|
|
149
|
-
//
|
|
185
|
+
// PM2 save
|
|
150
186
|
console.log(chalk.blue('Saving PM2 state...'));
|
|
151
187
|
const pm2SaveCmd = 'pm2 save';
|
|
152
188
|
if (pm2User) {
|
|
@@ -158,7 +194,6 @@ export async function installCommand(serviceName, options = {}) {
|
|
|
158
194
|
fullSaveCmd = `PM2_HOME=${pm2Home} ${fullSaveCmd}`;
|
|
159
195
|
exec(fullSaveCmd);
|
|
160
196
|
}
|
|
161
|
-
console.log(chalk.green(`✓ Installed ${serviceName}`));
|
|
162
197
|
// Show status
|
|
163
198
|
const pm2StatusCmd = 'pm2 status';
|
|
164
199
|
if (pm2User) {
|
|
@@ -171,4 +206,64 @@ export async function installCommand(serviceName, options = {}) {
|
|
|
171
206
|
exec(fullStatusCmd);
|
|
172
207
|
}
|
|
173
208
|
}
|
|
209
|
+
/**
|
|
210
|
+
* Restart service using GPDD (git-push-deploy-daemon)
|
|
211
|
+
* Zero-downtime cluster restart
|
|
212
|
+
*/
|
|
213
|
+
async function restartWithGpdd(config, targetDir, runUser, cmdEnv) {
|
|
214
|
+
const entryPoint = config.gpddEntryPoint || 'dist/index.js';
|
|
215
|
+
const workers = config.gpddWorkers || 0; // 0 = CPU count
|
|
216
|
+
const pm2User = config.pm2User; // Reuse pm2User for gpdd as well
|
|
217
|
+
console.log(chalk.blue('Managing GPDD process...'));
|
|
218
|
+
// Check if gpdd is installed
|
|
219
|
+
try {
|
|
220
|
+
execSync('which gpdd', { stdio: 'pipe' });
|
|
221
|
+
}
|
|
222
|
+
catch {
|
|
223
|
+
console.log(chalk.yellow('gpdd not found, installing...'));
|
|
224
|
+
exec('npm install -g git-push-deploy-daemon');
|
|
225
|
+
}
|
|
226
|
+
// Check if already running
|
|
227
|
+
const pidFile = join(targetDir, '.gpdd.pid');
|
|
228
|
+
if (existsSync(pidFile)) {
|
|
229
|
+
// Running - send reload signal for zero-downtime restart
|
|
230
|
+
console.log(chalk.blue('Sending reload signal...'));
|
|
231
|
+
const reloadCmd = `cd "${targetDir}" && gpdd reload`;
|
|
232
|
+
if (pm2User) {
|
|
233
|
+
execAsUser(reloadCmd, pm2User, { env: cmdEnv });
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
exec(reloadCmd);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
// Not running - start fresh
|
|
241
|
+
console.log(chalk.blue(`Starting ${entryPoint} with ${workers || 'auto'} workers...`));
|
|
242
|
+
const workerArg = workers > 0 ? `-w ${workers}` : '';
|
|
243
|
+
const startCmd = `cd "${targetDir}" && gpdd start ${entryPoint} ${workerArg}`;
|
|
244
|
+
if (pm2User) {
|
|
245
|
+
// Start in background with nohup
|
|
246
|
+
execAsUser(`nohup ${startCmd} > logs/gpdd.log 2>&1 &`, pm2User, { env: cmdEnv });
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
exec(`nohup ${startCmd} > logs/gpdd.log 2>&1 &`);
|
|
250
|
+
}
|
|
251
|
+
// Wait a moment for startup
|
|
252
|
+
await new Promise(r => setTimeout(r, 2000));
|
|
253
|
+
}
|
|
254
|
+
// Show status
|
|
255
|
+
console.log(chalk.blue('GPDD status:'));
|
|
256
|
+
const statusCmd = `cd "${targetDir}" && gpdd status`;
|
|
257
|
+
try {
|
|
258
|
+
if (pm2User) {
|
|
259
|
+
execAsUser(statusCmd, pm2User, { env: cmdEnv });
|
|
260
|
+
}
|
|
261
|
+
else {
|
|
262
|
+
exec(statusCmd);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
catch {
|
|
266
|
+
console.log(chalk.yellow('Could not get gpdd status (process may still be starting)'));
|
|
267
|
+
}
|
|
268
|
+
}
|
|
174
269
|
//# sourceMappingURL=install.js.map
|