Làm cách nào để SFTP với Github Actions?
Tôi muốn sử dụng các hành động trên Github để chuyển tệp đến máy chủ từ xa qua SFTP (tùy chọn duy nhất cho máy chủ này) khi tôi đẩy lên Github.
Tôi đang sử dụng Hành động này https://github.com/marketplace/actions/ftp-deploy
Tôi đã tạo một tệp trong kho lưu trữ của mình .github/workflows/main.ymlvà tôi đã thêm:
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 }}
Tôi đã tạo một Bí mật cho repo này chứa những điều sau:
FTP_SERVER: sftp.server.com, FTP_USERNAME: user, FTP_PASSWORD: password
Tôi có thể thấy hành động đang chạy trong Github nhưng nó xảy ra lỗi trong FTP-Deploy-Actiontác vụ.
## [error] Yêu cầu đầu vào và không được cung cấp: ftp-server
Điều này là bí mật và không hoạt động với Filezilla.
Có ai biết nếu tôi thiết lập điều này sai?
Trả lời
Tôi đã có thể làm cho nó hoạt động trên repo của riêng tôi. Tôi nghĩ vấn đề có thể nằm ở cách thiết lập bí mật của bạn. Lỗi đó thường hiển thị khi các thông số bắt buộc của một hành động trên github không được cung cấp, vì vậy bạn rất tò mò nếu các khóa có khác nhau hoặc liệu chúng có được lưu dưới dạng trống hay không. Tôi sẽ xóa FTP_SERVERbí mật và tạo lại nó để chắc chắn.
Dòng công việc chạy thành công
Mã quy trình làm việc
- 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
CẬP NHẬT: Đã thêm ví dụ cho mỗi nhận xét còn lại bên dưới,
Ví dụ tạo bí mật để tham khảo. Về cơ bản, hãy tạo bí mật cho mỗi mục nhập thay vì tạo bí mật được nhóm được phân tách bằng dấu phẩy
Nguồn: https://docs.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets