🌟
GitHub ActionsとSCPを使って、さくらのレンタルサーバにビルド結果をコピーする
概要
GitHub ActionsとSCPを使って、さくらのレンタルサーバにビルド結果をコピーする機会がありましたので、その備忘録です。
以下のGitHub Actionsを使用しました。
つまづいた点
以下の記法で試みたところ、ローカル環境でact
を使った際にはうまく動作しましたが、GitHub Actionsで実行した際にはうまくいきませんでした。
name: scp files
on: [push]
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: copy file via ssh password
uses: appleboy/scp-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
port: ${{ secrets.PORT }}
source: "tests/a.txt,tests/b.txt"
target: your_server_target_folder_path
具体的には、以下のエラーが発生しました。
GitHub actions workflow error: ssh: handshake failed: ssh: unable to authenticate, attempted methods [none password], no supported methods remain
こちらについて以下が参考になりました。
具体的には、以下のように、key
とpassphase
を用いることで、上記のエラーを回避することができました。
name: scp files
on: [push]
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: copy file via ssh password
uses: appleboy/scp-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.PRIVATE_KEY }}
passphase: ${{ secrets.PASSPHRASE }}
port: ${{ secrets.PORT }}
source: "tests/a.txt,tests/b.txt"
target: your_server_target_folder_path
まとめ
同様のことでお困りの方の参考になりましたら幸いです。
Discussion