Tôi thấy 2 tùy chọn ở đây, sử dụng đại lý ssh
:
tên: triển khai
bật: [đẩy]
công việc:
triển khai:
chạy trên: ubuntu-20.04
vi:
USER_HOST: ec2-user@ec2...
HOST_KEY: ec2... ecdsa-sha2-nistp256 AAAA...mXU=
các bước:
- tên: Kiểm tra mã
sử dụng: hành động/thanh toán@v2
- tên: Chạy ssh-agent
sử dụng: webfactory/[email protected]
với:
ssh-private-key: ${{ secret.SSH_PRIVATE_KEY }}
- tên: Thêm khóa máy chủ vào ~/.ssh/known_hosts
chạy: |
tiếng vang "$HOST_KEY" >> ~/.ssh/known_hosts
- tên: Triển khai
chạy: |
đặt -x
BRANCH=${GITHUB_REF#refs/heads/}
con mèo .github/deploy.sh | ssh -T "$USER_HOST" sh -s "$BRANCH"
Và không đại lý ssh
:
tên: triển khai
bật: [đẩy]
công việc:
triển khai:
chạy trên: ubuntu-20.04
vi:
USER_HOST: ec2-user@ec2...
HOST_KEY: ec2... ecdsa-sha2-nistp256 AAAA...mXU=
các bước:
- tên: Kiểm tra mã
sử dụng: hành động/thanh toán@v2
- tên: Thiết lập ssh
chạy: |
đặt -x
mkdir ~/.ssh
tiếng vang "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
chmod 0600 ~/.ssh/id_rsa
tiếng vang "$HOST_KEY" >> ~/.ssh/known_hosts
vi:
SSH_PRIVATE_KEY: ${{ secret.SSH_PRIVATE_KEY }}
- tên: Triển khai
chạy: |
đặt -x
BRANCH=${GITHUB_REF#refs/heads/}
con mèo .github/deploy.sh | ssh -Ti ~/.ssh/id_rsa "$USER_HOST" sh -s "$BRANCH"
Cả hai có an toàn không? Hoặc nên một trong số họ được ưa thích? webfactory/ssh-agent
không lưu trữ chìa khóa trên đĩa.