저번 글에서 파일질라와 터미널 명령어를 통해 서버를 배포해보았습니다.
하지만 매번 코드가 바뀔때마다 파일을 올리고, 다시 실행하는건 CI/CD 환경에서는 알맞지않죠!
많은 개발자들은 git Repository를 클론하여 서로의 변경사항을 풀, 푸쉬받아 협업 개발하고 있습니다.
EC2서버에도 git을 통한 클론, 풀, 푸쉬가 가능합니다.
EC2서버에 Git 설치
git 홈페이지에서 인스톨 명령어를 확인했습니다.
$ yum install git - 리눅스에 프로그램 설치
EC2서버에 Repository 클론
레포지토리 주소를 확인하여
$ git clone 주소 - 클론합니다.
클론 할 때는 깃허브 아이디와 비밀번호를 요구하는데요.
비밀번호가 아닌 Personal access tokens으로 로그인 해야합니다. 발급받아옵시다~
설정 > 개발자 설정 > Personal access tokens
처음 한번만 키 값 확인이 가능하니, 잃어버리지 않도록 주의하세요.
Repository 폴더도 확인 잘 되네요. (와중에 이제서야 보이는 선명한 오타...) 클론 완료!
dev 상태를 prod로 변경
EC2 깃에 클론한 이후에는 터널링이 필요 없으므로 prod 로 yml 설정 변경합니다.
변경사항을 풀 받기
풀 잘 받아왔는지도 확인해봅시다.
application이 있는 /srs/main/resorces 이동 (이동은 $ cd 폴더이름 )
$ cat application.yml - cat 파일 보여줘
풀도 잘 받아왔습니다!
EC2서버에 Maven 설치
클린, 패키지 처리를 위해 EC2서버에도 Maven을 설치합니다.
$ sudo yum install maven - Maven 설치
Maven 클린, 패키지로 JAR 파일 생성
$ cd 프로젝트 폴더 - 프로젝트 폴더로 이동 << 폴더 위치에 주의! 폴더 위치는 $ pwd 로 확인가능합니다.
$ mvn clean
$ mvn package
→ .jar파일 생성
jar 파일 생성 완료
$ mv ***.jar app.jar - 알아보기 쉽게 파일명도 app.jar로 바꾸겠습니다.
$ sudo nohup java -jar -Dspring.profiles.active=prod app.jar &
이제 깃허브에서 클론한 서버를 구동 하였습니다.
그런데!
더 좋은 방법이 있다면?
서버 자동화!!