Bagaimana cara SFTP dengan Github Actions?
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
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