updates for testmode

This commit is contained in:
Emily
2025-01-29 17:14:10 +01:00
parent bfeee8673c
commit a2e4ed9ee0
22 changed files with 343 additions and 61 deletions

View File

@@ -2,22 +2,37 @@
import { Client, ScpClient } from 'node-scp';
import { NodeSSH } from 'node-ssh'
import fs from 'fs-extra';
import { REMOTE_HOST, IDENTITY_FILE } from '../.config'
import { REMOTE_HOST_PRODUCTION, REMOTE_HOST_TESTMODE, IDENTITY_FILE } from '../.config'
export class DeployHelper {
private static scpClient: ScpClient;
private static sshClient: NodeSSH;
static getMode() {
const argvMode = process.argv[2]
if (argvMode != '--production' && argvMode != '--testmode') {
console.error('use --production or --testmode');
process.exit(1);
}
const MODE = argvMode === '--production' ? 'production' : 'testmode';
return MODE;
}
static getArgAt(index: number) {
return process.argv[3 + index];
}
static async connect() {
this.scpClient = await Client({
host: REMOTE_HOST,
host: this.getMode() === 'production' ? REMOTE_HOST_PRODUCTION : REMOTE_HOST_TESTMODE,
username: 'root',
privateKey: fs.readFileSync(IDENTITY_FILE)
})
this.sshClient = new NodeSSH();
await this.sshClient.connect({
host: REMOTE_HOST,
host: this.getMode() === 'production' ? REMOTE_HOST_PRODUCTION : REMOTE_HOST_TESTMODE,
username: 'root',
privateKeyPath: IDENTITY_FILE
});