Spring Boot 프로젝트에 CI/CD 구축2

YeJin Lee·2024년 10월 1일

Spring Boot

목록 보기
5/11

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 &

SSH Remote Commands 공식문서 사이트

라이브러리 사용 방식

repository secret 적용

NAMEVALUE설명
EC2_HOSTPublicIPsAWS 인스턴스의 PublicIPs
EC2_USERNAMEubuntu기본값
EC2_PRIVATE_KEYproject.pem 파일을 터미널에서 cat으로 가져온다pem?

CI/CD 세팅 완료!

profile
안녕하세요, 영문과코딩 입니다.

0개의 댓글