[Docker] Spring + MySQL + AWS EC2 + Github Actions + Docker 를 활용한 프로젝트 진행하면서 발생했던 각종 오류들
·
개발 ━━━━━/Troubleshoot
글을 시작하기 전... 결론적으로 이 글은 Spring 프로젝트를 Dockerfile 로 빌드한 후 Github Actions 로 Docker Hub 에 올리고 EC2 환경에서 각종 컨테이너들을 Docker-Compose 로 관리하는 것을 목표로 이것 저것 해보면서 발생했던 모든 문제들을 다루는 글이라 내용이 다소 난잡하고 중구난방일 수 있다. 프로젝트 환경 진행했던 프로젝트가 있는데 성공적으로 끝마치고 나니 프로젝트 때 맡은 부분을 구현하느라 미처 해보지 못했던 서버 구성을 해보고 싶었고 이것 저것 실험해보고 싶은게 생겨 개인 서버를 구축해 프로젝트를 그대로 실행시켜 보기로 했다. 구 프로젝트는 1. Github Actions 로 jar 파일을 직접 배포하여 실행 2. MySQL 은 RDS 를 구성하여..
[AWS EC2] nohup: failed to run command 'java': No such file or directory
·
개발 ━━━━━/Troubleshoot
새로운 EC2 서버에 Github Actions 로 프로젝트를 올리는 중에 deploy 자체는 성공적으로 뜨지만 뭔가 잘못됨을 감지하고 로그를 보는데 nohup: failed to run command 'java': No such file or directory 라는 에러 문구가 마지막에 떠있었다. ubuntu 에 Java 를 설치하지 않아서 발생한 문제 터미널에 sudo apt-get update sudo apt-get install openjdk-17-jdk 원하는 Java 버전으로 설치해주면 된다.
[SpringBoot] contextLoads() Failed
·
개발 ━━━━━/Troubleshoot
문제 상황 Github Actions 를 통해 프로젝트 빌드 중 > Task :test Team14projectApplicationTests > contextLoads() FAILED java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:143 Caused by: org.springframework.beans.factory.BeanCreationException at AbstractAutowireCapableBeanFactory.java:1770 Caused by: org.hibernate.service.spi.ServiceException at AbstractServiceRegistryImpl.java:277 Cau..
Github Actions 를 이용하여 AWS EC2 에 SpringBoot 애플리케이션 CI/CD 구축
·
개발 ━━━━━/Dev
(이전 글) Github Actions https://gukjan9.tistory.com/71 Github Actions Github Actions Github 에서 제공하는 CI / CD 툴로 코드 저장소 (Repository) 에 이벤트 (Event) 가 발생하였을 때 구성해둔 Workflow 가 실행되면서 프로젝트를 빌드 및 테스트 후 배포까지 진행되는 서비스이 gukjan9.tistory.com Github Secrets 구성 Github Actions 를 사용하여 EC2 에 프로젝트를 배포하기에 앞서 EC2 에 접속하기 위해 필요한 접속 ip 와 pem key 등이 있는데 이를 직접적으로 코드에 노출을 하면 보안상 위험이 있으므로 Repository 에 Settings > Secrets and ..
Github Actions
·
개발 ━━━━━/Dev
Github Actions Github 에서 제공하는 CI / CD 툴로 코드 저장소 (Repository) 에 이벤트 (Event) 가 발생하였을 때 구성해둔 Workflow 가 실행되면서 프로젝트를 빌드 및 테스트 후 배포까지 진행되는 서비스이다. CI / CD 란? CI (Continuous Integration) : 지속적인 통합이라는 뜻으로 Application 의 새로운 코드 변경 사항을 정기적으로 Build 및 Test 하여 공유 Repository 에 통합되는 것을 의미한다. CD (Continuous Delivery / Deploy) : 지속적인 배포라는 뜻으로 CI 를 넘어 Production 레벨까지 자동으로 배포하는 것을 의미한다. 구성 요소 워크플로우 (Workflow) 하나 이상..