(5. REST API 서버 구동을 위한 EC2 사전 작업) - hoho4190/aws-ec2-cicd-with-github-actions GitHub Wiki
이 단계에서는 REST API 서버를 aws-cicd
라는 서비스로 등록하여 배포 시 REST API 서버를 재시작하기 편하게 할 예정
- 배포 받을 소스 경로:
/home/ec2-user/workspace/aws-cicd
- REST API 서버 서비스 등록 경로:
/opt/aws-cicd
로 할 예정
5.1. open JDK 설치 및 환경 변수 설정
sudo yum upgrade
yum list java*jdk-devel
sudo yum install java-1.8.0-openjdk-devel.x86_64
sudo update-alternatives --config java
java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.amzn2.0.1.x86_64/jre/bin/java)
/etc/profile
에 추가
JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.amzn2.0.1.x86_64"
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.amzn2.0.1.x86_64/jre/bin/java
에서 뒤에/jre/bin/java
전까지 경로
source /etc/profile
5.2. REST API 서버 설정
5.2.1. 서버 실행 폴더 생성
sudo mkdir -p /opt/aws-cicd
sudo chown -R $USER:$USER /opt/aws-cicd
배포받은 jar 파일을 /opt/aws-cicd/app.jar
로 심볼릭 링크를 만들어서 서비스로 등록할 예정
# 우선 배포 받을 파일이 없기 때문에 임시로 생성해서 심볼릭 링크 생성
mkdir -p /home/ec2-user/workspace/aws-cicd/build/libs
touch /home/ec2-user/workspace/aws-cicd/build/libs/aws-cicd.jar
ln -s /home/ec2-user/workspace/aws-cicd/build/libs/aws-cicd.jar /opt/aws-cicd/app.jar
5.2.2. 서비스 생성
sudo vi /etc/systemd/system/aws-cicd.service
[Unit]
Description=Service Description
After=syslog.target network.target
[Service]
ExecStart=/bin/bash -c "exec java -jar -server -Dspring.profiles.active=prod /opt/aws-cicd/app.jar"
Restart=on-failure
RestartSec=1
User=ec2-user
Group=ec2-user
[Install]
WantedBy=multi-user.target
# 서비스 리로드
sudo systemctl daemon-reload
# 서비스 확인
systemctl -t service list-unit-files | grep aws-cicd
# 서비스 enable
sudo systemctl enable aws-cicd
# 서비스 disable
sudo systemctl disable aws-cicd
# 서비스 명령어들
sudo systemctl start aws-cicd
sudo systemctl restart aws-cicd
sudo systemctl stop aws-cicd
systemctl status aws-cicd