如何使用 Github Actions 进行 SFTP?

Mel*_*Dog 5 sftp github github-actions

当我推送到 Github 时,我想使用 Github 操作通过 SFTP 将文件传输到远程服务器(此服务器的唯一选项)。

我正在使用此操作https://github.com/marketplace/actions/ftp-deploy

我在我的存储库中创建了一个文件,.github/workflows/main.yml并添加了:

on: push
name: Publish Website
jobs:
  FTP-Deploy-Action:
    name: FTP-Deploy-Action
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2.1.0
      with:
        fetch-depth: 2
    - name: FTP-Deploy-Action
      uses: SamKirkland/FTP-Deploy-Action@3.1.1
      with:
        ftp-server: ${{ secrets.FTP_SERVER }}
        ftp-username: ${{ secrets.FTP_USERNAME }}
        ftp-password: ${{ secrets.FTP_PASSWORD }}
Run Code Online (Sandbox Code Playgroud)

我为此存储库创建了一个 Secret,其中包含以下内容:

FTP_SERVER: sftp.server.com, FTP_USERNAME: user, FTP_PASSWORD: password
Run Code Online (Sandbox Code Playgroud)

我可以看到 Github 中正在运行的操作,但FTP-Deploy-Action任务出错了。

##[错误]需要输入但未提供:ftp-server

这是秘密的,并且可以与 Filezilla 配合使用。

有人知道我是否设置错误吗?

Edw*_*ero 6

我能够让它在我自己的仓库上运行。我认为问题可能在于你的秘密是如何设置的。该错误通常会在未提供 github 操作所需的参数时显示,所以很好奇密钥是否不同或者它们是否保存为空。FTP_SERVER为了确定,我会删除秘密并再次创建它。

工作流程成功运行

工作流程代码

  - name: FTP-Deploy-Action
    uses: SamKirkland/FTP-Deploy-Action@3.1.1
    with:
      ftp-server: ${{ secrets.FTP_SERVER }}
      ftp-username: ${{ secrets.FTP_USERNAME }}
      ftp-password: ${{ secrets.FTP_PASSWORD }}
      local-dir: toupload
Run Code Online (Sandbox Code Playgroud)

更新:为下面留下的评论添加了示例,

秘密创建示例供参考。基本上为每个条目创建一个秘密,而不是用逗号分隔的分组秘密

在此输入图像描述

来源:https://docs.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets