[GItHub Actions] Deployに失敗 ssh: handshake failed: EOF
数日前の1月8日頃から、GitHub ActionsでVPSへのデプロイが出来なくなってました。
エラーメッセージを見ると「ssh: handshake failed: EOF」と書いてあり、デプロイに失敗しているようです。
Run appleboy/ssh-action@master
======CMD======
cd ***
(略)
======END======
2023/01/10 03:32:35 ssh: handshake failed: EOF
uses: appleboy/ssh-action@master の所が原因な感じでしたが解決方法がなかなか分からず。。。
解決してしまえば簡単でした
簡単に言ってしまえば、「appleboy/ssh-action@master」のmasterの箇所をv0.1.6へ変更して、バージョンを固定することで解決できました。
ここに至るまでの・・・
上手く行ってしまえば極簡単なことでしたが、なかなか分からずに時間を浪費してしまいました。
VPSの更新は最悪、サーバにログインしてgit pullすれば何とかなったので、面倒くささを除けば大事ない感じで、そのうち解決していけばいいかなって思ってましたが、やっぱり面倒くさいのでとりあえず解決して良かったです。
GitHub Actionsのworkflowはこんな感じでした
name: Docker Image CI
on:
push:
branches: [ "main" ]
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: VPSに自動デプロイ
uses: appleboy/ssh-action@master
with:
key: ${{ secrets.SECRET_KEY }}
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USERNAME }}
port: ${{ secrets.SSH_PORT }}
script: |
cd ${{ secrets.DEPLOY_PATH }}
git pull origin main
echo deploy Umabashira plus AI.
確認したこと
- checkout@v2に変更したり
- secret keyを確認したり(変更はしませんでした。原因が分からなかったので)
- 公開鍵・秘密鍵を確認したり
これらをやっても全く分からず。。。
ようやく
下記リンク先を見つけたことが大きかったです。
確認したら、デプロイが出来なくなったのと同じくらいの時期にv0.1.7にアップグレードされて、これがmasterとなったようです。
このバージョンの違いがデプロイの失敗の原因かは分かりませんでしたが、モノは試し、バージョンを指定してデプロイしてみたのですが、
これが良かったです。デプロイ出来るように復活しました。
新年早々、ちょっと焦りましたが、とりあえず良かったです。
以上になります