Spaces:
Running
Running
Update ftp-upload.js
Browse files- ftp-upload.js +40 -11
ftp-upload.js
CHANGED
@@ -1,26 +1,55 @@
|
|
1 |
-
|
2 |
const ftp = require("basic-ftp");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
4 |
-
async function testFTPConnection() {
|
5 |
const client = new ftp.Client();
|
6 |
client.ftp.verbose = true;
|
7 |
-
client.ftp.timeout =
|
|
|
|
|
8 |
|
9 |
try {
|
10 |
-
console.log(
|
11 |
await client.access({
|
12 |
-
host
|
13 |
-
user
|
14 |
-
password
|
15 |
-
|
|
|
16 |
});
|
17 |
-
console.log("FTP
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
} catch (err) {
|
19 |
-
console.error("
|
20 |
console.error(err);
|
21 |
} finally {
|
22 |
client.close();
|
|
|
23 |
}
|
24 |
}
|
25 |
|
26 |
-
|
|
|
1 |
+
// upload.js
|
2 |
const ftp = require("basic-ftp");
|
3 |
+
const path = require("path");
|
4 |
+
|
5 |
+
async function upload() {
|
6 |
+
const host = process.env["FTP_HOST"] || "ftpupload.net";
|
7 |
+
const user = process.env["FTPname"];
|
8 |
+
const password = process.env["FTPpsw"];
|
9 |
+
const port = process.env["FTP_PORT"] || 21;
|
10 |
+
|
11 |
+
if (!user || !password) {
|
12 |
+
console.log("FTP環境変数が設定されていないため、アップロードをスキップします。");
|
13 |
+
console.log("必要な環境変数: FTPname(ユーザー名), FTPpsw(パスワード)");
|
14 |
+
return;
|
15 |
+
}
|
16 |
|
|
|
17 |
const client = new ftp.Client();
|
18 |
client.ftp.verbose = true;
|
19 |
+
client.ftp.timeout = 300000;
|
20 |
+
|
21 |
+
console.log("FTPアップロードを開始します...");
|
22 |
|
23 |
try {
|
24 |
+
console.log(`接続中: ${host}:${port} (ユーザー: ${user})`);
|
25 |
await client.access({
|
26 |
+
host,
|
27 |
+
user,
|
28 |
+
password,
|
29 |
+
port,
|
30 |
+
secure: false,
|
31 |
});
|
32 |
+
console.log("FTPサーバーへの接続に成功しました。");
|
33 |
+
|
34 |
+
const remoteDir = "s4s-editor.ct.ws/htdocs/";
|
35 |
+
console.log(`リモートディレクトリに移動または作成: ${remoteDir}`);
|
36 |
+
await client.ensureDir(remoteDir);
|
37 |
+
|
38 |
+
console.log("既存のリモートディレクトリの内容をクリア中...");
|
39 |
+
await client.clearWorkingDir();
|
40 |
+
|
41 |
+
const localDist = path.join(__dirname, "dist");
|
42 |
+
console.log(`ローカルディレクトリをアップロード中: ${localDist}`);
|
43 |
+
await client.uploadFromDir(localDist);
|
44 |
+
|
45 |
+
console.log("✅ アップロードが完了しました。");
|
46 |
} catch (err) {
|
47 |
+
console.error("❌ アップロード中にエラーが発生しました:");
|
48 |
console.error(err);
|
49 |
} finally {
|
50 |
client.close();
|
51 |
+
console.log("FTP接続を閉じました。");
|
52 |
}
|
53 |
}
|
54 |
|
55 |
+
upload();
|