@@ -24,20 +24,63 @@ jobs:
24
24
npm ci
25
25
npm run build
26
26
27
- - name : Deploy via FTPS (explicit, strict)
27
+ - name : Deploy via FTPS (implicit, strict)
28
+ uses :
SamKirkland/[email protected]
29
+ with :
30
+ server : ${{ secrets.FTP_HOST }} # HOSTNAME, not IP
31
+ username : ${{ secrets.FTP_USER }}
32
+ password : ${{ secrets.FTP_PASS }}
33
+ protocol : ftps-legacy # implicit FTPS
34
+ port : 990
35
+ security : strictname: Build and Deploy Docusaurus (Strict FTPS)
36
+
37
+ on :
38
+ push :
39
+ branches : [ main ]
40
+
41
+ concurrency :
42
+ group : docusaurus-deploy
43
+ cancel-in-progress : true
44
+
45
+ jobs :
46
+ build-and-deploy :
47
+ runs-on : ubuntu-latest
48
+
49
+ steps :
50
+ - name : Checkout code
51
+ uses : actions/checkout@v4
52
+
53
+ - name : Set up Node.js
54
+ uses : actions/setup-node@v4
55
+ with :
56
+ node-version : 20
57
+ cache : npm
58
+
59
+ - name : Install & Build
60
+ run : |
61
+ npm ci
62
+ npm run build
63
+
64
+ - name : Deploy via FTPS (implicit, strict)
28
65
uses :
SamKirkland/[email protected]
29
66
with :
30
- # IMPORTANT: Use a HOSTNAME here (FQDN), not an IP address
31
- server : ${{ secrets.FTP_HOST }} # e.g. dd26812.kasserver.com
67
+ server : ${{ secrets.FTP_HOST }} # 👈 hostname, not IP
32
68
username : ${{ secrets.FTP_USER }}
33
69
password : ${{ secrets.FTP_PASS }}
34
70
35
- protocol : ftps # explicit FTPS
36
- port : 21
37
- security : strict # keep strict
71
+ protocol : ftps-legacy # 👈 implicit FTPS
72
+ port : 990
73
+ security : strict # 👈 keep strict TLS validation
38
74
39
- local-dir : ./build/ # must end with /
40
- server-dir : ${{ secrets.FTP_SERVER_DIR }} # ensure secret ends with /
75
+ local-dir : ./build/ # must end with /
76
+ server-dir : ${{ secrets.FTP_SERVER_DIR }} # 👈 secret, must end with /
41
77
42
78
log-level : verbose
43
79
timeout : 120000
80
+
81
+
82
+ local-dir : ./build/
83
+ server-dir : ${{ secrets.FTP_SERVER_DIR }}
84
+
85
+ log-level : verbose
86
+ timeout : 120000
0 commit comments