프로젝트

(ProfitKey) 젠킨스 배포

민톨이 2025. 2. 22. 03:12
728x90

이번 사이드 프로젝트를 진행하면서 jenkins 배포를 해보았다.

 

- Jenkins란?

젠킨스(Jenkins)는 오픈소스 CI/CD(Continuous Integration/Continuous Deployment) 도구로, 소프트웨어 개발 과정에서 자동화된 빌드, 테스트, 배포를 지원하는 도구.

- 왜 사용하는가?

  1. 자동화된 빌드 및 테스트
    • 코드 변경 시 자동으로 빌드하고 테스트를 수행하여 코드 품질을 유지
  2. 지속적인 통합 (CI, Continuous Integration)
    • 여러 개발자가 동시에 작업해도 변경 사항을 자동으로 병합 및 검증
  3. 지속적인 배포 (CD, Continuous Deployment)
    • 빌드가 성공하면 프로덕션 환경에 자동으로 배포 가능
  4. 플러그인 지원
    • Git, Docker, Kubernetes, Gradle, Maven 등 다양한 플러그인으로 확장 가능
    • 이 프로젝트에서 git의 dev repository와 연결하여 진행했다.

- Jenkins를 사용한 CI/CD 흐름

  1. 개발자가 Git에 코드 푸시
  2. Jenkins가 변경 사항 감지
  3. 코드 빌드 및 테스트 실행
  4. 테스트 성공 시 배포 자동화

===> Jenkins를 사용하면 개발 속도를 높이고 배포 오류를 줄일 수 있다.

 

 

이런식으로 팀원분이 각 환경에 맞는 배포 환경을 셋팅해주셨다

 

나는 백엔드니까 배포할때 server쪽 옆의 초록색 화살표 모양을 누른 후 

 

이렇게 체크하고 실행을 누르면 배포가 진행된다.

 

 

왼쪽 하단에 진행 진척도 및 결과가 뜬다.

 

배포 성공하면 디스코드로 성공여부에 관한 메시지도 오도록 설정할 수 있다.

 

실패하면 슬프지만 콘솔 아웃풋이나 파이프라인쪽 코드 읽어보고 원인 찾아야함,,

 

실제로 이틀전 계속 실패 떠서 읽어보니 

 

 

이렇게 오류 코드를 보았는데

 

계속 등장하는 파일명쪽(FavoriteStockResponse)을 확인해보니 실제로 dev브랜치에 푸시할때

 

저 파일 커밋을 빼먹은 것을 발견했다 ; ; ; ; ;

 

 

이런식으로 중간중간 배포를 해주면서 백엔드 API 변동사항을 프론트도 확인할 수 있도록 진행중이다!

 

그럼 연결된 dev Swagger도 자동으로 변경이 되고 테스트를 해볼 수 있다 ~~