在Github Actions中部署到FTP服务器不起作用

时间:2020-10-19 10:16:10

标签: ftp github-actions lftp

正如标题所述,从Github Action部署到FTP服务器对我来说不起作用。我尝试使用一些操作来完成此操作(FTP-Deployftp-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-allowssl: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.

感谢您的帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

发现了问题,托管服务正在阻止IP地址(因为它是国外的IP地址)。设置自托管的运行程序并将运行程序的IP列入白名单后,一切正常。