Como fazer SFTP com ações do Github?

Sep 02 2020

Eu quero usar as ações do Github para transferir arquivos para um servidor remoto via SFTP (única opção para este servidor) quando eu for empurrar para o Github.

Estou usando esta ação https://github.com/marketplace/actions/ftp-deploy

Eu criei um arquivo em meu repo .github/workflows/main.ymle adicionei:

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 }}

Criei um segredo para este repo que contém o seguinte:

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

Eu posso ver a ação em execução no Github, mas há erros na FTP-Deploy-Actiontarefa.

## [erro] Entrada necessária e não fornecida: servidor ftp

Isso está em segredo e funciona com o Filezilla.

Alguém saberia se eu configurei isso incorretamente?

Respostas

2 EdwardRomero Sep 02 2020 at 12:10

Consegui colocá-lo em funcionamento no meu próprio repo. Acho que o problema pode estar possivelmente em como seus segredos foram configurados. Esse erro geralmente aparece quando os parâmetros obrigatórios de uma ação do github não foram fornecidos, tão curioso se as chaves são diferentes ou se foram salvas como vazias. Gostaria de deletar o FTP_SERVERsegredo e criá-lo novamente para ter certeza.

Execução de sucesso do fluxo de trabalho

Código de Fluxo de Trabalho

  - 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

ATUALIZAÇÃO: Adicionado exemplo por comentário deixado abaixo,

Exemplo de criação de segredo para referência. Basicamente, cria um segredo por entrada, em vez de um segredo agrupado separado por vírgulas

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