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/
디렉터리가 미리 생성되어 있지 않아 오류가 발생한 것으로 보인다.
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