Wie SFTP mit Github-Aktionen?

Sep 02 2020

Ich möchte Github-Aktionen verwenden, um Dateien über SFTP (einzige Option für diesen Server) auf einen Remote-Server zu übertragen, wenn ich auf Github hochschiebe.

Ich benutze diese Aktion https://github.com/marketplace/actions/ftp-deploy

Ich habe eine Datei in meinem Repo erstellt .github/workflows/main.ymlund hinzugefügt:

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

Ich habe ein Geheimnis für dieses Repo erstellt, das Folgendes enthält:

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

Ich kann sehen, dass die Aktion in Github ausgeführt wird, aber bei der FTP-Deploy-ActionAufgabe tritt ein Fehler auf .

## [Fehler] Eingabe erforderlich und nicht angegeben: FTP-Server

Dies ist geheim und funktioniert mit Filezilla.

Würde jemand wissen, ob ich das falsch eingerichtet habe?

Antworten

2 EdwardRomero Sep 02 2020 at 12:10

Ich konnte es auf meinem eigenen Repo zum Laufen bringen. Ich denke, das Problem könnte möglicherweise darin liegen, wie Ihre Geheimnisse eingerichtet wurden. Dieser Fehler zeigt normalerweise an, wenn erforderliche Parameter einer Github-Aktion nicht so neugierig angegeben wurden, ob die Schlüssel unterschiedlich sind oder ob sie als leer gespeichert wurden. Ich würde das FTP_SERVERGeheimnis löschen und es erneut erstellen, um sicherzugehen.

Erfolgreicher Workflow-Lauf

Workflow-Code

  - 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

UPDATE: Beispiel pro Kommentar unten hinzugefügt,

Beispiel für eine geheime Erstellung als Referenz. Erstellen Sie grundsätzlich ein Geheimnis pro Eintrag und kein durch Kommas getrenntes gruppiertes Geheimnis

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