반응형
반응형

Spring Boot 프로젝트의 CI/CD 파이프라인

 

[Git Push][Jenkins Trigger][Build & Test][Docker Build & Push][Deploy to Server]

Spring Boot 프로젝트의 CI/CD 파이프라인은 GitHub Actions 또는 Jenkins를 사용하여 코드 빌드, 테스트, Docker 이미지 생성 및 도커 허브/AWS 등의 저장소로 Push하여 자동 배포하는 흐름으로 구축합니다. 주요 단계는 소스 코드 체크아웃, JDK 설정, Gradle/Maven 빌드, 도커 이미지화, 서버 배포 순으로 진행됩니다.
Spring 파이프라인(CI/CD) 구축 핵심 단계
  • 1. 소스 코드 관리 (GitHub): 코드를 저장소(Repository)에 커밋 및 푸시합니다.
  • 2. CI 서버 설정 (Jenkins/GitHub Actions):
    • GitHub Actions: .github/workflows 디렉토리에 YAML 파일로 파이프라인(빌드, 테스트, 푸시)을 정의합니다.
    • Jenkins: Jenkinsfile을 프로젝트 루트에 작성하여 파이프라인을 자동화합니다.
  • 3. 빌드 및 테스트: JDK를 설치하고, Gradle(gradlew build) 또는 Maven을 사용하여 프로젝트를 빌드하고 테스트를 수행합니다.
  • 4. 컨테이너화 (Docker): 애플리케이션을 Docker 이미지로 빌드하고 도커 허브(DockerHub) 등 레지스트리에 푸시합니다.
  • 5. 배포 (CD): 빌드된 이미지를 운영 환경(AWS EC2, 쿠버네티스 등)에 배포합니다.
    • Jib를 사용하면 Docker Daemon 없이도 효율적으로 컨테이너 이미지를 빌드할 수 있습니다.
이 과정을 자동화하면 코드 품질을 높이고 서비스 배포 속도를 향상시킬 수 있습니다.

CI/CD 파이프라인은 코드 변경 사항의 빌드, 테스트, 배포 과정을 자동화하여 소프트웨어를 빠르고 안정적으로 릴리스하는 DevOps 핵심 프로세스입니다. 지속적 통합(CI)을 통해 코드 품질을 검증하고, 지속적 배포(CD)를 통해 운영 환경까지 자동 반영하여 수동 작업과 오류를 최소화합니다.
CI/CD 파이프라인의 핵심 구성 요소 및 절차
  • 소스(Source): 개발자가 원격 리포지토리(GitHub, GitLab 등)에 코드를 푸시하여 파이프라인을 트리거.
  • 빌드(Build): 소스 코드를 컴파일하고 의존성을 해결하여 실행 가능한 아티팩트(바이너리, 컨테이너 이미지) 생성.
  • 테스트(Test): 유닛 테스트, 통합 테스트, 보안 검사 등을 자동화하여 코드 품질 검증.
  • 배포(Deploy): 검증된 애플리케이션을 스테이징 또는 운영 서버(Kubernetes, 클라우드 환경 등)에 자동 배포.

https://youtu.be/F3gEkZirFMU?si=bCl4CKoP8bb5O0ZJ

CI/CD 파이프라인은 소프트웨어의 빌드, 테스트, 배포 과정을 자동화하여 개발자가 코드 변경 사항을 더 빠르고 안정적으로 사용자에게 전달할 수 있게 돕는 시스템입니다.
1. 주요 개념
  • CI (Continuous Integration, 지속적 통합): 여러 개발자가 작성한 코드를 정기적으로 통합하고, 자동화된 빌드와 테스트를 통해 코드의 결함을 조기에 발견하는 프로세스입니다.
  • CD (Continuous Delivery/Deployment, 지속적 제공/배포):
    • Continuous Delivery: 통합된 코드를 검증 후 배포 가능한 상태로 유지하며, 실제 배포는 수동으로 승인합니다.
    • Continuous Deployment: 검증된 코드를 고객이 사용하는 운영 환경에 자동으로 배포합니다.
 
2. 파이프라인의 일반적인 4단계
  1. 소스 (Source): 코드 변경(Commit)이 발생하면 파이프라인이 이를 감지하고 최신 코드를 가져옵니다.
  2. 빌드 (Build): 코드를 컴파일하고 실행 가능한 형태(Artifact)로 변환하며, 필요한 종속성을 해결합니다.
  3. 테스트 (Test): 유닛 테스트, 통합 테스트 등을 자동 실행하여 코드의 품질과 비즈니스 로직을 검증합니다.
  4. 배포 (Deploy): 검증이 완료된 결과물을 스테이징 또는 운영 서버에 반영합니다.
 
3. 도입 시 장점
  • 빠른 출시: 수동 작업을 줄여 새로운 기능이나 버그 수정을 신속하게 배포할 수 있습니다.
  • 품질 향상: 자동화된 테스트를 통해 휴먼 에러를 방지하고 소프트웨어의 안정성을 높입니다.
  • 협업 효율화: 코드 통합 과정의 충돌을 줄여 개발팀 간의 협업이 원활해집니다.
반응형
반응형

길만큼 좋은 스승은 없다

 

길만큼 좋은 스승은 없다.
길은 종합선물세트다. 책과 선생님과
건강이라는 선물을 무상으로 안긴다. 길이라는
책과, 길이라는 선생님과, 길이라는 건강을 깨닫게 되면
길의 무한성에 성큼 다가선 것이다. 모든 교육은
경제적인 문제가 따르기 마련이다. 그러나 길은
어떤 대가도 바라지 않는다. 참 교육자를
만나기 쉽지 않은 현실이지만 길은
언제나 예외다. 길의 위대성이
빛을 발하는 순간이다.


- 돌솔 이응석의 《자유, 너는 자유다》 중에서 -


* 같은 길을 걸어도
어제의 길이 다르고 오늘의 길이 다릅니다.
기분 따라 마음 따라 보이는 것도 달라집니다.
길이 막혔다, 길을 잃었다 싶은데 도리어 새로운
길을 만나기도 합니다. 인생을 길에도 비유합니다.
나그네길, 고생길, 순례길, 도(道)의 길. 그 길 위에
책이 있고, 스승도 만납니다. 덤으로 건강도
얻습니다. 길을 걷는 것만으로도
사람은 새롭게 태어납니다.

반응형

'아침편지' 카테고리의 다른 글

기쁨은 어디에서 오는가  (0) 2026.02.12
오쇼의 십만 권 독서  (0) 2026.02.11
상처받은 서로의 가슴에  (0) 2026.02.10
'영리한 지성'을 위하여  (1) 2026.02.09
침묵  (0) 2026.02.09
반응형

기쁨은 어디에서 오는가

 

감각을 지닌 존재들은
볕과 공기의 비밀스러운 작용이나
모든 자연에서 비롯되는 수천 가지
고통을 감내하는 수밖에 없다.
감각적인 존재라면 형태와
색채 속에서 기쁨을
찾게 되어 있다.


- 아나톨 프랑스의 《에피쿠로스의 정원》 중에서 -


* 쏟아지는 빗방울에도
어떤 사람은 지독한 외로움을,
어떤 사람은 한없는 평안함을 느낍니다.
볕과 공기, 형태와 색채가 안겨주는 감각은
느끼는 사람에 따라 고통도 주고 기쁨도 줍니다.
그렇다면 기쁨은 어디에서 오는가? 결론은
간단합니다. 볕이나 공기가 아닙니다.  
자기 마음에서 옵니다.

반응형

'아침편지' 카테고리의 다른 글

길만큼 좋은 스승은 없다  (0) 2026.02.13
오쇼의 십만 권 독서  (0) 2026.02.11
상처받은 서로의 가슴에  (0) 2026.02.10
'영리한 지성'을 위하여  (1) 2026.02.09
침묵  (0) 2026.02.09
반응형

 

오쇼의 십만 권 독서

 

오쇼 라즈니쉬는
만 권의 책을 읽었다 한다.
아니 십만 권이라고 했나? 한때는 철학박사로
대학에서 학생들을 지도하기도 했던 그는 대학에
자신을 한정 지어 두기에는 너무 큰 존재였다. 그의
하얀 두 날개는 대학을 넘어 날아오르기 시작했고,
그가 하는 말마다 열광하는 이들이 생겨났다.
그를 따르는 무리가 늘어나 4천 명의
공동체 마을이 생겨나기도 했다.


- 이명선의 《하여튼》 중에서 -


* 오쇼에 대한 평가는 엇갈리지만
그가 엄청난 독서가인 것만은 분명합니다.
동서고금의 종교와 철학, 사상, 명상, 정치, 문화 등에 대한
그의 정곡을 찌르는 해석과 독설은 특별합니다. 세상만사
그의 프리즘을 통하지 않은 것이 없다고 해도 과언이
아닙니다. 그 모든 것의 출발점에는 십만 권에
이르는 무진장한 독서가 있습니다.

반응형

'아침편지' 카테고리의 다른 글

길만큼 좋은 스승은 없다  (0) 2026.02.13
기쁨은 어디에서 오는가  (0) 2026.02.12
상처받은 서로의 가슴에  (0) 2026.02.10
'영리한 지성'을 위하여  (1) 2026.02.09
침묵  (0) 2026.02.09
반응형

상처받은 서로의 가슴에

 

상대방의 호흡에 집중해 보자.
먼저 한쪽 손바닥을 들어 맞붙인다.
그 손이 서로 맞닿아 있는 두 개의 세포라고
상상해 보라. 나의 피부에서 상대방의 피부로
호흡을 불어넣어라. 활발한 소통의 장이
열릴 것이다. 약 5분 뒤 손바닥을 뗀다.
팔과 손을 편안하게 둔 상태로 나의
호흡과 자세가 어떻게 변화했는지
관찰해 본다.


- 에릭 프랭클린의 《세포 혁명》 중에서 -


* 호흡은 생명입니다.
세포를 살리고 몸과 마음에 생기를 줍니다.
사랑은 상대방의 호흡에 집중하는 것입니다.
그래야 비로소 상대의 세미한 세포의 소리를
감지할 수 있습니다. 특히 상대방과 손을
맞댐으로써 공명과 동조 현상과 함께
상처받은 서로의 가슴에 사랑의
온기를 보낼 수 있습니다.

반응형

'아침편지' 카테고리의 다른 글

기쁨은 어디에서 오는가  (0) 2026.02.12
오쇼의 십만 권 독서  (0) 2026.02.11
'영리한 지성'을 위하여  (1) 2026.02.09
침묵  (0) 2026.02.09
마음의 별이 다시 뜬다  (0) 2026.02.06
반응형

'영리한 지성'을 위하여

 

여러 가지 자극물을
지적인 용도로 지혜롭게 활용하는 것은
현명한 생활태도이다. 인간은 매우 영리하지만
나태하고 어리석은 면도 지니고 있다. 연설가는
연설할 때, 시인은 시를 쓸 때 그 영리함이 필요하다.
자극물은 오르간의 파이프를 울리는 공기와 같다.
필요할 때 우리 안의 영리한 지성을 잠시
밖으로 꺼내준 뒤 다시 사라지면
되는 것이다.


- 필립 길버트 해머튼《지적 생활의 즐거움》중에서 -


* '영리한 지성'은
적당한 자극물이 필요합니다.
한 줄의 글이 섬광 같은 통찰을 안겨 주고,  
한 잔 커피의 카페인이 우리 안의 감각을 살리고,
한 줄기 감미로운 산들바람이 감성을 일깨우는 것처럼
작은 자극물 하나가 지적 생활의 부싯돌이 됩니다.
분주히 작동하는 뇌를 잠시 쉬게
해주는 것도 한 방법입니다.

반응형

'아침편지' 카테고리의 다른 글

오쇼의 십만 권 독서  (0) 2026.02.11
상처받은 서로의 가슴에  (0) 2026.02.10
침묵  (0) 2026.02.09
마음의 별이 다시 뜬다  (0) 2026.02.06
안으로의 영적 여행  (0) 2026.02.06

+ Recent posts