在 Github 操作中部署到 FTP 服务器不起作用
Deploying to FTP server in Github Actions does not work
正如标题所说,通过 Github 操作部署到 FTP 服务器对我来说不起作用。我已经尝试使用一些操作来完成此操作 (FTP-Deploy and ftp-action),但 FTP-Deploy 只是保持 运行 零星的
curl: (7) Failed to connect to ftpservername.com port 21: Connection timed out
消息和 ftp-action 保留了 运行 任何输出。注意:服务器可用,我使用 Filezilla 连接并传输了一些文件,没有任何问题。
之后我尝试使用 lftp,这是我在本地 Ubuntu 机器上使用的命令
lftp -c "open -u username,password ftpservername.com; mirror -R locfolder remote/remotefolder"
文件传输成功,但在 Github 操作中使用时会产生以下输出:
---- Connecting to ftpservername.com (123.456.789.123) port 21
mkdir `remote/remotefolder' [Connecting...]
**** Socket error (Connection timed out) - reconnecting
---- Closing control socket
---- Connecting to ftpservername.com (123.456.789.123) port 21
我尝试将 ftp:ssl-allow
和 ssl:verify-certificate
都设置为 false,但这没有产生任何结果。另外,我没有访问服务器的权限,所以无法查看服务器日志。
这是工作流程文件:
name: Test
on:
push:
branches: [master]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v2
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Install pip
run: python -m pip install --upgrade pip
- name: Install packages
run: |
sudo apt install lftp
sudo apt install expect
.
.
.
- name: FTP Deploy
run: |
echo Starting...
unbuffer lftp -c "debug; set ftp:ssl-allow false; set ssl:verify-certificate false; open -u username,${{ secrets.PASSWORD }} ftpservername.com; mirror -R -v locfolder remote/remotefolder"
echo Done transferring files.
感谢任何帮助,谢谢!
发现问题,托管服务阻止了 IP 地址(因为它是国外的 IP 地址)。在设置 self-hosted 运行器并将运行器的 IP 列入白名单后,一切正常。
正如标题所说,通过 Github 操作部署到 FTP 服务器对我来说不起作用。我已经尝试使用一些操作来完成此操作 (FTP-Deploy and ftp-action),但 FTP-Deploy 只是保持 运行 零星的
curl: (7) Failed to connect to ftpservername.com port 21: Connection timed out
消息和 ftp-action 保留了 运行 任何输出。注意:服务器可用,我使用 Filezilla 连接并传输了一些文件,没有任何问题。
之后我尝试使用 lftp,这是我在本地 Ubuntu 机器上使用的命令
lftp -c "open -u username,password ftpservername.com; mirror -R locfolder remote/remotefolder"
文件传输成功,但在 Github 操作中使用时会产生以下输出:
---- Connecting to ftpservername.com (123.456.789.123) port 21
mkdir `remote/remotefolder' [Connecting...]
**** Socket error (Connection timed out) - reconnecting
---- Closing control socket
---- Connecting to ftpservername.com (123.456.789.123) port 21
我尝试将 ftp:ssl-allow
和 ssl:verify-certificate
都设置为 false,但这没有产生任何结果。另外,我没有访问服务器的权限,所以无法查看服务器日志。
这是工作流程文件:
name: Test
on:
push:
branches: [master]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v2
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Install pip
run: python -m pip install --upgrade pip
- name: Install packages
run: |
sudo apt install lftp
sudo apt install expect
.
.
.
- name: FTP Deploy
run: |
echo Starting...
unbuffer lftp -c "debug; set ftp:ssl-allow false; set ssl:verify-certificate false; open -u username,${{ secrets.PASSWORD }} ftpservername.com; mirror -R -v locfolder remote/remotefolder"
echo Done transferring files.
感谢任何帮助,谢谢!
发现问题,托管服务阻止了 IP 地址(因为它是国外的 IP 地址)。在设置 self-hosted 运行器并将运行器的 IP 列入白名单后,一切正常。