const { Client } = require('ssh2'); const fs = require('fs'); const path = require('path'); const config = { host: 'hs.yifenbao.cn', port: 22, username: 'root', password: 'Torch1112' }; const conn = new Client(); conn.on('ready', () => { console.log('SSH连接成功'); conn.sftp((err, sftp) => { if (err) { console.error('SFTP连接失败:', err.message); conn.end(); return; } const files = [ { local: './dist/build/h5/assets/pages-index-index.Dfg3o6TQ.js', remote: '/www/huishou/dist/build/h5/assets/pages-index-index.Dfg3o6TQ.js' }, { local: './dist/build/h5/assets/index.D9Orwm5e.css', remote: '/www/huishou/dist/build/h5/assets/index.D9Orwm5e.css' } ]; let uploaded = 0; files.forEach((file, index) => { console.log(`上传: ${file.local}`); sftp.fastPut(file.local, file.remote, (err) => { if (err) { console.error(`上传失败 ${file.local}:`, err.message); } else { console.log(`上传成功: ${file.local}`); } uploaded++; if (uploaded === files.length) { console.log('\n所有文件上传完成'); conn.exec('docker restart huishou', (err, stream) => { stream.on('close', () => { console.log('容器已重启'); conn.end(); }); }); } }); }); }); }); conn.on('error', (err) => { console.error('SSH连接错误:', err.message); }); conn.connect(config);