Как использовать SFTP с Github Actions?

Sep 02 2020

Я хочу использовать действия Github для передачи файлов на удаленный сервер через SFTP (единственный вариант для этого сервера), когда я нажимаю на Github.

Я использую это действие 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/[email protected]
      with:
        fetch-depth: 2
    - name: FTP-Deploy-Action
      uses: SamKirkland/[email protected]
      with:
        ftp-server: ${{ secrets.FTP_SERVER }} ftp-username: ${{ secrets.FTP_USERNAME }}
        ftp-password: ${{ secrets.FTP_PASSWORD }}

Я создал секрет для этого репо, который содержит следующее:

FTP_SERVER: sftp.server.com, FTP_USERNAME: user, FTP_PASSWORD: password

Я вижу, что действие выполняется в Github, но оно не выполняет FTP-Deploy-Actionзадачу.

## [ошибка] Требуется ввод, но не предоставляется: ftp-server

Это в секрете и работает с Filezilla.

Кто-нибудь знает, неправильно ли я это настроил?

Ответы

2 EdwardRomero Sep 02 2020 at 12:10

Я смог заставить его работать на моем собственном репо. Я думаю, что проблема может быть в том, как были настроены ваши секреты. Эта ошибка обычно появляется, когда необходимые параметры действия github не были предоставлены, поэтому любопытно, отличаются ли ключи или они были сохранены как пустые. Я бы удалил FTP_SERVERсекрет и создал его снова, чтобы быть уверенным.

Успешный запуск рабочего процесса

Код рабочего процесса

  - name: FTP-Deploy-Action
    uses: SamKirkland/[email protected]
    with:
      ftp-server: ${{ secrets.FTP_SERVER }} ftp-username: ${{ secrets.FTP_USERNAME }}
      ftp-password: ${{ secrets.FTP_PASSWORD }}
      local-dir: toupload

ОБНОВЛЕНИЕ: добавлен пример для каждого комментария, оставленного ниже,

Пример создания секрета для справки. В основном создавайте секрет для каждой записи, а не сгруппированный секрет через запятую

Источник: https://docs.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets