Spring Boot 프로젝트에 CD/CD 구축(개인프로젝트용)-2
"우리가 배포하기 위해서 손수 했던 작업들을 컴퓨터한테 commit이 올라와서 main branch에 push하는대로 하면 잘 배포가 될거야" 라는 작업
SSH
다른 컴퓨터에 원격 접속하는 방법
name: Deploy To EC2
on:
push:
branches:
- main
jobs:
Deploy:
runs-on: utuntu-latest
steps:
- name: SSH(원격접속)로 EC2에 접속하기
# 라이브러리
uses: appleboy/ssh-action@v1.0.3
with:
# 어떤 컴퓨터에 접속할거야에 대한 IP 주소
host: ${{ secrets.EC2_HOST }}
# 컴퓨터 접속할 때 USERNAME
username: ${{ secrets.EC2_USERNAME }}
key: ${{ secrets.EC2_PRIVATE_KEY }}
script_step: true
script: |
cd /home/ubuntu/board-server
git pull origin main
./gradlew clean build
# 서버가 없어서 에러가 뜨더라도 성공으로 처리해
sudo fuser -k -n tcp 8080 || true
# jar 파일을 실행시켰을 때 발생하는 로그들을
# output.log 2라는 파일에 남겨줘
# 표준 출력
nohup java -jar build/libs/*SNAPSHOT.jar > ./output.log 2 >&1 &



라이브러리 사용 방식
| NAME | VALUE | 설명 |
|---|---|---|
| EC2_HOST | PublicIPs | AWS 인스턴스의 PublicIPs |
| EC2_USERNAME | ubuntu | 기본값 |
| EC2_PRIVATE_KEY | project.pem 파일을 터미널에서 cat으로 가져온다 | pem? |

CI/CD 세팅 완료!