¿Cómo SFTP con acciones de Github?

Sep 02 2020

Quiero usar acciones de Github para transferir archivos a un servidor remoto a través de SFTP (la única opción para este servidor) cuando hago push a Github.

Estoy usando esta acción https://github.com/marketplace/actions/ftp-deploy

He creado un archivo en mi repositorio .github/workflows/main.ymly he agregado:

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

He creado un secreto para este repositorio que contiene lo siguiente:

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

Puedo ver la acción ejecutándose en Github pero falla en la FTP-Deploy-Actiontarea.

## [error] Entrada requerida y no suministrada: servidor ftp

Esto es secreto y funciona con Filezilla.

¿Alguien sabría si configuré esto incorrectamente?

Respuestas

2 EdwardRomero Sep 02 2020 at 12:10

Pude hacerlo funcionar en mi propio repositorio. Creo que el problema puede estar posiblemente en cómo se configuraron sus secretos. Ese error generalmente se muestra cuando los parámetros requeridos de una acción de github no se proporcionaron de manera tan curiosa si las claves son diferentes o si se guardaron como vacías. Eliminaría el FTP_SERVERsecreto y lo volvería a crear para estar seguro.

Ejecución exitosa del flujo de trabajo

Código de flujo de trabajo

  - 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

ACTUALIZACIÓN: Se agregó un ejemplo por comentario a continuación,

Ejemplo de creación secreta para referencia. Básicamente, cree un secreto por entrada en lugar de un secreto agrupado separado por comas

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