본문 바로가기
Dev/CI CD

CI/CD 파이프라인 설계해보기 -1

by 컴포넌트설계자 2024. 2. 4.

갑자기 나에게 치고들어온 CI/CD 파이프라인 설계 업무

실제로 깃젠킨스에 커밋하고 빌드 확인만 했던 자라 아예 bitbucket 과 Jenkins를 새로 공부하고 동작방식을 이해하려고하다보니 정리가 필요하여 tistroy로 이력차원으로 정리하는 Pipeline

애플리케이션배포

빌드방식 선정이유 : 기존 JIRA 요청 이행등의 프로세스를 간소화하여 종속성 제거하고 뉴진스 프레임워크(스프링부트)를 이용하여 서버에 구동하는 것까지 확인 이후에 컴포넌트 서비스테스트

CI/CD 젠킨스 툴 :

  1. AWS 배포, 테스트, 도커 빌드 고려하여 각각의 컴포넌트들을 하나의 플러그인으로 모듈화를 해놓았는데 이를 활용하여 사용 (확장성에 유용함)
  2. Private Network에서 돌아가기 때문에 보안상으로도 안전하자
  3. 다양한 확장성과 유연성 제공 ( MSA 프로젝트 특성상 자유롭게 구축하고 관리하는데유용함)
  • 방대한양의 플러그인 종류들
    • Credentials Plugin : 각종 리소스에 접근하기 위해 Credentials 정보들을 저장(AWS token, ID, PW…)
    • Git Plugin
    • Pipeline Plugin : Pipeline을 관리할 수 있게 해주는 플러그인
    • Docker Plugin : 도커 빌드, 이미지 다운 등..
    • Kubernetes : k8s api, cli, credential 등 k8s를 관리할 수 있게 해주는 플러그인 등...

애플리케이션 빌드 배포 순서

  1. STS에서 코드 작성 및 커밋: STS를 사용하여 애플리케이션 코드를 작성하고 변경 사항을 커밋

이때, 코드 변경 사항을 로컬 Git 저장소(Bitbucket)에 커밋

.Bitbucket Repository 설정: Bitbucket에 프로젝트의 Git 저장소를 생성하고, 코드를 원격 저장소에 푸시, 이렇게 하면 Bitbucket에서 애플리케이션의 소스 코드를 관리가능,

  1. Jenkins 작업 생성: Jenkins에서 새로운 작업을 생성

Jenkins 환경 구성에서 애플리케이션 명 등록, ****작업은 CI/CD 파이프라인을 정의

3 ) Jenkins와 Bitbucket 연동:

Jenkins와 Bitbucket을 연동하여 소스 코드 변경 사항을 감지하고, 자동으로 빌드 및 배포 작업을 실행할 수 있도록 설정

이를 위해 Jenkins에서 Bitbucket 웹훅을 등록하거나, Jenkins 플러그인을 사용할 수 있습니다.빌드 환경 설정: Jenkins 작업 설정에서 빌드 환경을 구성

Gradle 등의 빌드 도구 fix , 소스 코드를 빌드하고, 필요한 의존성을 다운로드(넥서스 예상, 되기전까진 로컬 레포지토리형태에서 가져오기)

  1. 배포 설정: Jenkins 작업 설정에서 배포 관련 단계를 추가 (Pipeline)

이 단계에서는 빌드된 애플리케이션을 내장 톰캣으로 배포 배포 스크립트를 작성하여 배포

  1. Tomcat 서버 설정

내장 톰캣을 실행하기 위해 서버에는 Java Runtime Environment(JRE)이 설치되어 있어야 합니다. Jenkins 작업에서 빌드한 애플리케이션을 실행하기 위해 JRE을 설치하고, 필요한 포트를 열어줍니다.Jenkins 작업 실행: Jenkins 작업을 저장하고 실행하여 CI/CD 파이프라인을 시작합니다. Bitbucket의 소스 코드 변경을 감지, 결과 확인

 

 

애플리케이션배포

빌드방식 선정이유 : 기존 JIRA 요청 이행등의 프로세스를 간소화하여 종속성 제거하고 뉴진스 프레임워크(스프링부트)를 이용하여 서버에 구동하는 것까지 확인 이후에 컴포넌트 서비스테스트

 

CI/CD 젠킨스 툴 :

  1. AWS 배포, 테스트, 도커 빌드 고려하여 각각의 컴포넌트들을 하나의 플러그인으로 모듈화를 해놓았는데 이를 활용하여 사용 (확장성에 유용함)
  2. Private Network에서 돌아가기 때문에 보안상으로도 안전하자
  3. 다양한 확장성과 유연성 제공 ( MSA 프로젝트 특성상 자유롭게 구축하고 관리하는데유용함)
  • 방대한양의 플러그인 종류들
    • Credentials Plugin : 각종 리소스에 접근하기 위해 Credentials 정보들을 저장(AWS token, ID, PW…)
    • Git Plugin
    • Pipeline Plugin : Pipeline을 관리할 수 있게 해주는 플러그인
    • Docker Plugin : 도커 빌드, 이미지 다운 등..
    • Kubernetes : k8s api, cli, credential 등 k8s를 관리할 수 있게 해주는 플러그인 등...

애플리케이션 빌드 배포 순서

 

1) STS에서 코드 작성 및 커밋: STS를 사용하여 애플리케이션 코드를 작성하고 변경 사항을 커밋

이때, 코드 변경 사항을 로컬 Git 저장소(Bitbucket)에 커밋

.Bitbucket Repository 설정: Bitbucket에 프로젝트의 Git 저장소를 생성하고, 코드를 원격 저장소에 푸시, 이렇게 하면 Bitbucket에서 애플리케이션의 소스 코드를 관리가능,

 

2) Jenkins 작업 생성: Jenkins에서 새로운 작업을 생성

Jenkins 환경 구성에서 애플리케이션 명 등록, ****작업은 CI/CD 파이프라인을 정의

 

3 ) Jenkins와 Bitbucket 연동:

Jenkins와 Bitbucket을 연동하여 소스 코드 변경 사항을 감지하고, 자동으로 빌드 및 배포 작업을 실행할 수 있도록 설정

이를 위해 Jenkins에서 Bitbucket 웹훅을 등록하거나, Jenkins 플러그인을 사용할 수 있습니다.빌드 환경 설정: Jenkins 작업 설정에서 빌드 환경을 구성

Gradle 등의 빌드 도구 fix , 소스 코드를 빌드하고, 필요한 의존성을 다운로드(넥서스 예상, 되기전까진 로컬 레포지토리형태에서 가져오기)

  1. 배포 설정: Jenkins 작업 설정에서 배포 관련 단계를 추가 (Pipeline)

이 단계에서는 빌드된 애플리케이션을 내장 톰캣으로 배포 배포 스크립트를 작성하여 배포

  1. Tomcat 서버 설정

내장 톰캣을 실행하기 위해 서버에는 Java Runtime Environment(JRE)이 설치되어 있어야 합니다. Jenkins 작업에서 빌드한 애플리케이션을 실행하기 위해 JRE을 설치하고, 필요한 포트를 열어줍니다.Jenkins 작업 실행: Jenkins 작업을 저장하고 실행하여 CI/CD 파이프라인을 시작합니다. Bitbucket의 소스 코드 변경을 감지, 결과 확인

'Dev > CI CD' 카테고리의 다른 글

[DevOps] GitHub Actions  (0) 2026.06.01
[Docker] YAML 문법  (1) 2026.04.16
[Docker] 260415 실습 httpd, dockerfile  (0) 2026.04.15