🚀 Add functionality to transfer backend server files and directories during deployment

This commit is contained in:
2026-01-29 06:37:13 +00:00
parent fd826807d8
commit fcbcd2ec96

View File

@@ -361,11 +361,60 @@ async function deploy() {
}
console.log(` ✅ Transferred ${transferred} files from dist/`);
// Transfer backend server files
console.log(' 📦 Transferring backend server files...');
const serverDir = path.join(SOURCE_DIR, 'server');
await ssh.execCommand(`mkdir -p ${REMOTE_PATH}/server`);
// Transfer server package files
const serverFiles = [
'package.json',
'oauth-proxy.js',
'gamemaster-api.js',
'.env.example'
];
for (const file of serverFiles) {
const localPath = path.join(serverDir, file);
const remotePath = `${REMOTE_PATH}/server/${file}`;
if (fs.existsSync(localPath)) {
await ssh.putFile(localPath, remotePath);
console.log(` ✅ server/${file}`);
}
}
// Transfer server subdirectories
const serverDirs = ['middleware', 'routes', 'utils', 'data'];
for (const dir of serverDirs) {
const localDir = path.join(serverDir, dir);
if (fs.existsSync(localDir)) {
await ssh.execCommand(`mkdir -p ${REMOTE_PATH}/server/${dir}`);
const files = fs.readdirSync(localDir, { withFileTypes: true });
for (const file of files) {
if (file.isFile()) {
const localFile = path.join(localDir, file.name);
const remoteFile = `${REMOTE_PATH}/server/${dir}/${file.name}`;
await ssh.putFile(localFile, remoteFile);
}
}
console.log(` ✅ server/${dir}/ (${files.length} files)`);
}
}
console.log(` ✅ Backend files transferred`);
// Now transfer config files
const filesToTransfer = [
{
local: path.join(SOURCE_DIR, 'Dockerfile'),
remote: `${REMOTE_PATH}/Dockerfile`
local: path.join(SOURCE_DIR, 'Dockerfile.frontend'),
remote: `${REMOTE_PATH}/Dockerfile.frontend`
},
{
local: path.join(SOURCE_DIR, 'server', 'Dockerfile'),
remote: `${REMOTE_PATH}/server/Dockerfile`
},
{
local: path.join(SOURCE_DIR, 'nginx.conf'),
remote: `${REMOTE_PATH}/nginx.conf`
},
{
local: tempDockerComposePath,