Come eseguire l'SFTP con le azioni Github?

Sep 02 2020

Voglio usare le azioni Github per trasferire file su un server remoto tramite SFTP (unica opzione per questo server) quando eseguo il push su Github.

Sto usando questa azione https://github.com/marketplace/actions/ftp-deploy

Ho creato un file nel mio repository in .github/workflows/main.ymle ho aggiunto:

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

Ho creato un segreto per questo repository che contiene quanto segue:

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

Riesco a vedere l'azione in esecuzione in GitHub ma si verifica un errore nell'attività FTP-Deploy-Action.

## [errore] Input richiesto e non fornito: ftp-server

Questo è un segreto e funziona con Filezilla.

Qualcuno saprebbe se l'ho impostato in modo sbagliato?

Risposte

2 EdwardRomero Sep 02 2020 at 12:10

Sono stato in grado di farlo funzionare sul mio repository. Penso che il problema potrebbe dipendere da come sono stati impostati i tuoi segreti. Questo errore di solito si manifesta quando i parametri richiesti di un'azione GitHub non sono stati forniti così curioso se le chiavi sono diverse o se sono state salvate come vuote. Eliminerei il FTP_SERVERsegreto e lo creerei di nuovo per essere sicuro.

Esecuzione riuscita del flusso di lavoro

Codice flusso di lavoro

  - 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

AGGIORNAMENTO: Aggiunto esempio per commento a sinistra sotto,

Esempio di creazione di un segreto per riferimento. Fondamentalmente crea un segreto per voce piuttosto che un segreto raggruppato separato da virgole

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