วิธีการใช้ SFTP ด้วย Github Actions

Sep 02 2020

ฉันต้องการใช้การดำเนินการ Github เพื่อถ่ายโอนไฟล์ไปยังเซิร์ฟเวอร์ระยะไกลผ่าน SFTP (ตัวเลือกสำหรับเซิร์ฟเวอร์นี้เท่านั้น) เมื่อฉันดันไปที่ Github

ฉันกำลังใช้การกระทำนี้ https://github.com/marketplace/actions/ftp-deploy

ฉันได้สร้างไฟล์ใน repo ของฉัน.github/workflows/main.ymlแล้วและฉันได้เพิ่ม:

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

ฉันได้สร้างความลับสำหรับ repo นี้ซึ่งมีสิ่งต่อไปนี้:

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

ฉันเห็นการดำเนินการที่ทำงานใน Github แต่เกิดข้อผิดพลาดกับFTP-Deploy-Actionงาน

## [error] อินพุตที่จำเป็นและไม่ได้ให้มา: ftp-server

นี่เป็นความลับและใช้ได้กับ Filezilla

จะมีใครรู้บ้างว่าฉันตั้งค่านี้ผิด?

คำตอบ

2 EdwardRomero Sep 02 2020 at 12:10

ฉันสามารถทำให้มันทำงานบน repo ของตัวเองได้ ฉันคิดว่าปัญหาอาจอยู่ที่วิธีตั้งค่าความลับของคุณ ข้อผิดพลาดนั้นมักจะแสดงเมื่อไม่ได้ระบุพารามิเตอร์ที่ต้องการของการกระทำ github ดังนั้นจึงอยากรู้ว่าคีย์ต่างกันหรือไม่หรือถูกบันทึกเป็นค่าว่างหรือไม่ ฉันจะลบFTP_SERVERความลับและสร้างอีกครั้งเพื่อความแน่ใจ

เวิร์กโฟลว์ทำงานสำเร็จ

รหัสเวิร์กโฟลว์

  - 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

อัปเดต:เพิ่มตัวอย่างต่อความคิดเห็นด้านล่าง

ตัวอย่างการสร้างข้อมูลลับสำหรับการอ้างอิง โดยทั่วไปจะสร้างความลับต่อรายการแทนที่จะเป็นความลับแบบกลุ่มที่คั่นด้วยจุลภาค

ที่มา: https://docs.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets