Bagaimana cara SFTP dengan Github Actions?

Sep 02 2020

Saya ingin menggunakan tindakan Github untuk mentransfer file ke server jarak jauh melalui SFTP (satu-satunya pilihan untuk server ini) ketika saya melakukan push up ke Github.

Saya menggunakan Action ini https://github.com/marketplace/actions/ftp-deploy

Saya telah membuat file di repo saya di .github/workflows/main.ymldan saya telah menambahkan:

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

Saya telah membuat Rahasia untuk repo ini yang berisi berikut ini:

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

Saya dapat melihat tindakan yang berjalan di Github tetapi ada kesalahan pada FTP-Deploy-Actiontugas.

## [error] Input diperlukan dan tidak disediakan: ftp-server

Ini rahasia dan berfungsi dengan Filezilla.

Adakah yang tahu jika saya salah mengatur ini?

Jawaban

2 EdwardRomero Sep 02 2020 at 12:10

Saya bisa membuatnya berfungsi di repo saya sendiri. Saya pikir masalahnya mungkin pada bagaimana rahasia Anda diatur. Kesalahan itu biasanya muncul ketika parameter yang diperlukan dari tindakan github tidak disediakan sehingga penasaran apakah kuncinya berbeda atau apakah disimpan sebagai kosong. Saya akan menghapus FTP_SERVERrahasia dan membuatnya lagi untuk memastikan.

Alur Kerja Berhasil Berjalan

Kode Alur Kerja

  - 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: Menambahkan contoh per komentar di kiri bawah,

Contoh pembuatan rahasia untuk referensi. Pada dasarnya buat rahasia per entri, bukan rahasia grup yang dipisahkan koma

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