Как использовать SFTP с Github Actions?
Я хочу использовать действия 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.
Кто-нибудь знает, неправильно ли я это настроил?
Ответы
Я смог заставить его работать на моем собственном репо. Я думаю, что проблема может быть в том, как были настроены ваши секреты. Эта ошибка обычно появляется, когда необходимые параметры действия 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