이제 ec2에 배포를 할건데 배포할 때 사용하는 명령어이 많아서 일일이 작성하는 불편함을 줄이기 위해 쉘스크립트에 정리해서 실행해볼 것이다
실행 전에 배포가 무엇인지, 쉘 스크립트가 무엇인지 알아보자
배포: 작성한 코드를 실제 서버에 반영하는 것이다
쉘스크립트: .sh를 확장자로 가진 파일을 말한다
1. ~/app/step1 디렉토리에 deploy.sh 파일을 생성한다

여기서는 vim이라는 GUI가 아닌 환경에서 사용할 수 있는 편집 도구를 사용한다.
파일에 들어가서 'i'를 누르면 파일에 내용 추가가 가능하고, 작성을 완료 했다면 esc키를 누른다.
저장후 파일을 나가야하므로 :wq 를 입력하고 엔터를 치면 파일을 나온다
더 자세한 vim 사용 방법은 다음 링크를 참조하면 된다. http://bit.ly/2Q3BpvZ
2. deploy.sh 내용

3. 스크립트에 실행권한 추가하기


확인해보면 deploy.sh 파일이 생성된 것을 확인할 수 있다
4. 스크립트 실행하기

5. 이후 nohup.out 파일 열기
deploy.sh 실행 후 vim nohup.out 명령어를 입력하면 된다
nohup.out 파일에는 실행되는 애플리케이션에서 출력되는 모든 내용을 가지고 있다
처음 실행시 nohup.out 파일에 APPLICATION FAILED TO START가 나오는데 그 부분은 github에 application-oauth.properties가 없기 때문이다. 이 문제를 해결하기 위해서는 다음 단계를 수행하면 된다
6. app 디렉토리에 application-oauth.properties 파일 생성

파일 생성후 로컬 main/resources에 있는 application-oauth.properties의 내용을 복사해서 붙이면 된다
7. deploy.sh 하단 부분 수정

수정 후 deploy.sh를 수행하면 kill되는 문제가 발생한다.
이거를 해결하는 방법은 다음 링크에 있으므로 참고하면 된다
'개인프로젝트 > My Book' 카테고리의 다른 글
[개인프로젝트 #1] 7. 스프링부트 프로젝트로 RDS 접근하기 (0) | 2022.01.28 |
---|---|
[개인프로젝트 #1] 7. ec2에 프로젝트 Clone 받기 (0) | 2022.01.28 |
[개인프로젝트 #1] 6. 어노테이션 기반으로 개선하기 (0) | 2022.01.28 |
[개인프로젝트 #1] 5. 로그인 구현(Dto) (0) | 2022.01.27 |
[개인프로젝트 #1] 5. 로그인 구현(SecurityConfig,UserService) (0) | 2022.01.27 |