Come eseguire l'SFTP con le azioni Github?
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
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