본문 바로가기
반응형

CICD10

[Jenkins] 파이프라인 실시간 모니터링 환경 구성하기 Jenkins는 자동화된 빌드 → 테스트 → 배포를 수행하는 인기 있는 오픈소스 CI/CD 도구이다.규모가 커지고 파이프라인이 복잡해질수록 Jenkins의 빌드 현황이나 성공률, 실패 건수, 대기 시간 같은 주요 지표를 실시간으로 모니터링하는 게 점점 더 중요해지고 있다. Jenkins 상태 모니터링이 중요한 이유는?장애 대응 시간 줄이기:빌드가 실패하거나 대기 시간이 급격히 늘어나는 등 이상 징후를 바로 파악해 빠르게 문제에 대응할 수 있다.운영 효율성 향상:자주 발생하는 에러나 병목 구간이 보이면, 파이프라인을 개선 방향을 쉽게 찾을 수 있다.투명한 커뮤니케이션 및 협업:개발자뿐 아니라 QA, 인프라팀까지 누구나 현재 Jenkins에 무슨 일이 있는지 직관적으로 볼 수 있다.지속적인 개선:빌드 성공률.. 2025. 5. 27.
[Jenkins] Kubernetes Secret으로 Jenkins Credentials 안전하게 관리하기 (with ESO) 실습 절차 1. Kubernetes Credentials Provider 플러그인 설치 2. ESO(External Secrets Operator) 설정 & Kubernetes Secrets 생성 3. Jenkins Credentials 확인 및 검증">실습 절차1. Kubernetes Credentials Provider 플러그인 설치2. ESO(External Secrets Operator) 설정 & Kubernetes Secrets 생성3. Jenkins Credentials 확인 및 검증 개요Jenkins를 운영하다 보면 빌드 및 배포 과정에서 다양한 Credentials을 사용하게 되는데, Credentials이 많아지면 수동으로 관리하기엔 번거롭고 보안상의 위험이 높아져 관.. 2025. 3. 27.
[Git] SVN -> Git 으로 마이그레이션 하기. SVN이란?SVN은 중앙 집중식 버전 관리 시스템으로, 하나의 중앙 서버에 모든 변경 내역이 저장된다는 특징이 있다. 그렇기 때문에 SVN 서버에 매우 의존적일 수밖에 없다. 만약 SVN이 문제가 발생할 경우 최신 버전을 가져올 수 없어 작업이 전체 중단될 수 있고, 실수로 파일을 삭제하거나 커밋을 잘못하기라도 한다면 모든 개발자들에게 영향을 미칠 수 있어 큰 장애로 이어질 수 있다. 또한, 브랜치를 생성하고 이를 병합하는 과정이 복잡하여 유연한 브랜치 전략을 사용하기 어렵다. 서버가 중앙에서 전부 관리된다는 것에 대한 장점도 분명히 존재하지만, 앞서 언급한 치명적인 단점들 때문에 많은 개발 팀은 Git으로 전환하는 추세이다. Git이란?Git은 분산 버전 관리 시스템으로, 각 개발자가 전체 저장소를 .. 2024. 6. 24.
[Jenkins]로 가상 머신(VM) 환경에 배포하기 (with Pipeline) 이번 글에서는 Jenkins를 사용하여 VM 환경에 샘플 애플리케이션을 배포하는 실습을 다룬다. 배포는 'Freestyle'과 'Pipeline' 두 가지 방법을 사용한다.Freestyle : GUI를 통해 간단하게 빌드, 테스트, 배포 단계 설정할 수 있어 간단한 동작을 구성할 때 적합하다. Pipeline : 스크립트 형태로 정의하여 빌드, 테스트, 배포 파이프라인을 구성할 수 있어 복잡한 동작을 구성할 때 적합하다. 샘플 애플리케이션은 단순하게 ' Maven Project'라는 문구를 출력하는 애플리케이션이다.배포할 샘플 애플리케이션 : spring boot애플리케이션 빌드 : Maven배포 구조는 다음 그림과 같다.젠킨스 파이프라인을 수행하면 다음과 같은 절차로 진행된다.git 저장소에서 소스 .. 2024. 6. 20.
[Jenkins]란? 개념부터 설치 실행까지 (쿠버네티스 환경) 먼저, Jenkins를 알기 전 CI/CD가 무엇인지 알아야 한다. CI/CD란?CI는 지속적 통합(Continuous Integration), CD는 지속적 배포(Continuous Deployment)의 약어로, 개발자들이 동시에 작업한 코드 변경 사항을 통합하고, 이를 실제 환경에 지속적으로 배포하는 프로세스를 의미한다. Jenkins란?Jenkins는 CI/CD를 위한 오픈 소스 도구로, 소프트웨어 개발 생명주기를 자동화한다. Jenkins를 사용하면 코드 변경 사항이 발생할 때마다 자동으로 빌드, 테스트, 배포 과정을 수행할 수 있기 때문에 개발자는 코드 변경에 따른 빌드 및 테스트 과정을 수동으로 수행할 필요가 없어지며, 신속하게 개발에 대한 코드 검증 및 배포할 수 있고, 이 과정에서 휴먼 .. 2023. 12. 23.
[Gitlab] Backup & Restore (Omnibus, Multi-node) 이번 글에서는 GitLab에서 프로젝트를 삭제한 후에 발생할 수 있는 비상 상황에 대비하여 백업 및 복원 시나리오를 다뤄보려 한다. Backup & Restore 시나리오 개요GitLab 프로젝트 삭제: GitLab에서 실수로 프로젝트를 삭제했다고 가정한다.Backup 수행: 프로젝트를 삭제하기 전 백업을 수행한다.프로젝트 Restore: 프로젝트를 삭제한 후, 백업 파일을 사용하여 프로젝트를 복원한다.프로젝트 확인: 프로젝트 복원이 완료되었으면 안에 파일 및 내용이 정상인지 확인한다. 본 글은 이전에 작성된 [Gitlab 고가용성 환경 구성하기]의 실습을 기반으로 하기 때문에 본 글의 Backup & Restore 실습을 진행하려면 이전 글에서 다룬 GitLab HA 구성 환경이 필요하다.[참고]G.. 2023. 12. 12.
[Gitlab] Geo 환경 장애 복구 시나리오 실습 GitLab Geo는 지리적으로 분산된 팀에게 빠르고 신뢰할 수 있는 Git 저장소 접근을 보장해 주는 이점을 제공한다. 하지만 Geo primary node에 문제가 발생하면 어떻게 될까? 이 블로그 글에서는 Geo primary node에 문제가 발생하여 Geo secondary node를 primary node로 승격시켜 다운타임을 최소화하는 장애 복구 과정에 대해 다뤄보려 한다. 시나리오는 다음과 같다.Geo primary node에서 장애 발생을 감지한다.Geo primary node를 전부 비활성화한다.Geo secondary node를 Primary node로 승격시킨다.Primary node를 Geo primary node로 설정하고 새로운 Geo secondary node를 설정하여 G.. 2023. 12. 11.
728x90
반응형