이글은 EC2, AWS Linux, JAVA11, Maven, macOS 기준으로 설명할 글입니다.
그리고 간단한 협업, Test 를 위한 배포입니다.
-
자신의 터미널에서 키페어가 있는 디렉토리로 이동 한다.
-
터미널에서 pair key의 권한을 변경
key 이름은
~.pem
형식으로 되어있다chmod 400 키이름.pem
유저가 읽기만가능하다는 권환으로 변경
-
자신의 AWS instance 를 선택후 연결하기 를 누른다.
-
그후 SSH 클라이언트 텝에 있는
예
에 적어져있는 명령어를 터미널에 입력한다.필자의 key 이름은
귀찮아서asdfasef
로 했다.
필자는 openJDK 11 버전을 사용할 것이다.
-
Git 설치
sudo yum install git
-
JAVA8 설치 및 JAVA 11 버전 적용(open JDK)
JAVA11을 적용시키기 위해 먼저 JAVA8을 설치한다. JAVA8 install
sudo yum install -y java-1.8.0-openjdk-devel.x86_64 sudo yum install java-11-amazon-corretto-headless
JAVA11 로 바꾸기
sudo alternatives --config java
-
Apache Maven설치
sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo sudo sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo sudo yum install -y apache-maven
-
자신의 SpringBoot project 받아오기
ex)mkdir app cd ./app git clone https://github.com/siwony/SpringBoot-MembershipAPI.git
-
쉘스크립트를 이용해 배포
vim 에디터로 쉘스크립트 작성vim deploy.sh
bash shell script
#!/bin/bash # maven 프로젝트 폴더로 옮기기 cd ./SpringBoot-MembershipAPI # 프로젝트의 변경사항이 없는지 확인 echo "git pull" git pull # 프로젝트 컴파일 echo "프로젝트 컴파일" mvn compile # 프로젝트 test echo "프로젝트 테스트" mvn test # jar 파일로 packaging echo "mvn package" mvn package
- 서버 실행
자신의 프로젝트 폴더의 target 으로 이동
cd SpringBoot-MembershipAPI/target/
mvn packge
명령어로 만든 jar 파일 실행If BackGround 에서 실행하고 싶다면java -jar 자신의jar파일 #ex) java -jar membershipApi-0.0.1-SNAPSHOT.jar
java -jar
앞에nohub
을 붙이고 명령어 끝에 & 를 입력해야된다.로그 확인하기nohup java -jar 자신의jar파일 #ex)nohub java -jar membershipApi-0.0.1-SNAPSHOT.jar &
curl 를 이용한 서버 동작여부 testcat nohub.out
curl localhost:8080