GitHub Actions 워크플로우 오류 해결

song yuheon·2023년 9월 26일
0

Trouble Shooting

목록 보기
21/57
post-thumbnail
post-custom-banner

트러블 슈팅: GitHub Actions 워크플로우 오류 해결


문제



GitHub Actions 워크플로우 실행 중 EC2 서버로의 resources 디렉터리 복사 과정에서 오류 발생하였다.

  • 오류 메시지
Run echo "***
Warning: Permanently added '***' (ED25519) to the list of known hosts.
scp: /home/***/resources/: No such file or directory
Error: Process completed with exit code 1.

원인


scp 명령을 사용하여 파일 또는 디렉터리를 원격 서버로 복사할 때 해당 경로의 디렉터리가 미리 존재하지 않으면 오류가 발생한다.
여기서도 원격 EC2 서버에 /home/***/resources/ 디렉터리가 미리 생성되어 있지 않아 오류가 발생한 것으로 보인다.


해결 방법


  1. EC2 서버에 원격으로 접속하여 필요한 디렉터리를 미리 생성한다.
  2. 이후에 scp 명령을 사용하여 필요한 파일 및 디렉터리를 복사한다.

워크플로우 수정 내용


- name: Deploy to EC2
  run: |
    echo "${{ secrets.EC2_SSH_KEY }}" > private_key.pem
    chmod 600 private_key.pem
    scp -i private_key.pem -o StrictHostKeyChecking=no build/libs/trelloServer-0.0.1-SNAPSHOT.jar ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }}:/home/${{ secrets.EC2_USERNAME }}/trelloServer.jar
    # EC2에서 resources 디렉터리 생성
    ssh -i private_key.pem -o StrictHostKeyChecking=no ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }} "mkdir -p /home/${{ secrets.EC2_USERNAME }}/resources/"
    # 리소스 파일 EC2로 복사
    scp -i private_key.pem -o StrictHostKeyChecking=no -r build/resources/static ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }}:/home/${{ secrets.EC2_USERNAME }}/resources/
    scp -i private_key.pem -o StrictHostKeyChecking=no -r build/resources/templates ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }}:/home/${{ secrets.EC2_USERNAME }}/resources/
    ssh -i private_key.pem -o StrictHostKeyChecking=no ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }} "pgrep java | xargs kill -9; nohup java -jar /home/${{ secrets.EC2_USERNAME }}/trelloServer.jar > app.log 2>&1 &"
    rm -f private_key.pem

해결



profile
backend_Devloper
post-custom-banner

0개의 댓글