Skip to content

Feature #33 : CD 설정#46

Merged
andrewkimswe merged 1 commit intodevelopfrom
cicd/#33
Feb 2, 2025
Merged

Feature #33 : CD 설정#46
andrewkimswe merged 1 commit intodevelopfrom
cicd/#33

Conversation

@andrewkimswe
Copy link
Member

@andrewkimswe andrewkimswe commented Feb 2, 2025

📌 Summary


Description

  • CI/CD 파이프라인 설정 및 배포 자동화:
    이 GitHub Actions 워크플로우는 프로젝트의 코드 변경사항이 main 브랜치에 푸시될 때마다 자동으로 AWS EC2 인스턴스에 배포되는 프로세스를 설정합니다. 주요 단계는 다음과 같습니다:

    • 코드 체크아웃: actions/checkout@v4 액션을 사용하여 GitHub 리포지토리에서 최신 코드를 체크아웃합니다.
    • JDK 설정: actions/setup-java@v3 액션을 사용하여 JDK 21을 설정합니다. 이는 최신 버전의 Java를 사용해 빌드를 진행하기 위함입니다.
    • Gradle 빌드: gradlew build --stacktrace 명령어를 실행하여 프로젝트를 빌드하고 필요한 의존성을 다운로드합니다.
    • JAR 파일 패키징: 빌드된 .jar 파일을 app.jar로 패키징하여 AWS EC2 서버로 배포할 준비를 합니다.
    • AWS EC2로 배포: appleboy/scp-action@v0.1.4 액션을 사용하여 EC2 인스턴스로 빌드된 .jar 파일을 전송합니다. 이때 EC2의 접속 정보는 GitHub Secrets에서 관리됩니다.
    • 백엔드 서비스 재시작: EC2에서 기존의 Java 프로세스를 종료하고, 새로운 app.jar 파일을 nohup 명령어를 사용해 백그라운드에서 실행합니다.

    이 자동화된 배포 프로세스를 통해 배포 과정이 표준화되고, 개발자가 코드 변경 후 수동으로 서버에 배포하는 수고를 덜 수 있습니다. 또한, 각 단계에서 로그를 확인할 수 있어 배포 과정에서 발생하는 문제를 쉽게 추적할 수 있습니다.


🗒️ Review Point

혹시 궁금한 부분이나 수정이 필요한 사항이 있다면 알려주세요!

@andrewkimswe andrewkimswe merged commit bcf7496 into develop Feb 2, 2025
1 check passed
@andrewkimswe andrewkimswe deleted the cicd/#33 branch February 2, 2025 10:07
@andrewkimswe andrewkimswe added this to the 🔥 Final Deployment milestone Feb 3, 2025
@andrewkimswe andrewkimswe added the ⚙️ setting 프로젝트 세팅 label Feb 3, 2025
@andrewkimswe andrewkimswe self-assigned this Feb 3, 2025
@andrewkimswe andrewkimswe requested a review from yeoeunn February 3, 2025 07:18
@andrewkimswe andrewkimswe linked an issue Feb 3, 2025 that may be closed by this pull request
3 tasks
@andrewkimswe andrewkimswe changed the title feat #33 : CD 설정 Feature #33 : CD 설정 Feb 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

⚙️ setting 프로젝트 세팅

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

feat : GitHub Actions 설정 (CI/CD 자동화)

1 participant