正如标题所述,从Github Action部署到FTP服务器对我来说不起作用。我尝试使用一些操作来完成此操作(FTP-Deploy和ftp-action),但是FTP-Deploy只是偶尔运行而已
卷曲:(7)无法连接到ftpservername.com端口21:连接超时
消息和ftp-action一直运行,没有任何输出。注意:服务器可用,我使用Filezilla连接并传输了一些文件,没有任何问题。
之后,我尝试使用lftp,这是我在本地Ubuntu计算机上使用的命令
lftp -c "open -u username,password ftpservername.com; mirror -R locfolder remote/remotefolder"
并且文件传输有效,但是在Github Action中使用时,它会产生以下输出:
----连接到ftpservername.com(123.456.789.123)端口21
mkdir`remote / remotefolder'[正在连接...]
****套接字错误(连接超时)-重新连接
----关闭控制插座
----连接到ftpservername.com(123.456.789.123)端口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.
感谢您的帮助,谢谢!
答案 0 :(得分:0)
发现了问题,托管服务正在阻止IP地址(因为它是国外的IP地址)。设置自托管的运行程序并将运行程序的IP列入白名单后,一切正常。