GUARDiA ITSM — CI/CD 표준 가이드
버전: 1.0.0
최종 수정: 2026-05-25
대상 환경: 온프레미스 Linux (RHEL 8/9, Rocky Linux 8/9, Ubuntu 20.04/22.04)
1. 개요
GUARDiA ITSM의 배포 파이프라인은 Jenkins 기반 CI/CD를 표준으로 사용한다.
SR(서비스 요청)이 접수되면 GUARDiA Messenger 봇과 Claude CLI가 바이브 코딩을 수행하고,
완료 후 Jenkins 파이프라인이 자동으로 빌드 → 테스트 → 배포 → 결과 통보까지 처리한다.
SR 접수
│
▼ GUARDiA Messenger → Claude CLI
바이브 코딩 (AI 어시스턴트)
│ 코딩 완료 → !build <session_id>
▼
Jenkins 파이프라인 트리거 (GUARDiA ITSM → Jenkins REST API)
│
├─ Stage 1: Checkout 소스 체크아웃 (Git)
├─ Stage 2: Build 컴파일 / 패키징
├─ Stage 3: Test 단위 테스트 / SonarQube 분석
├─ Stage 4: Archive 아티팩트 저장
├─ Stage 5: Deploy SSH 전송 (배포 서버)
├─ Stage 6: WAS Restart WAS 재기동
├─ Stage 7: Health Check 서비스 정상 확인
└─ Stage 8: ITSM Callback 결과 → GUARDiA ITSM 자동 등록
│
▼
SR COMPLETED + 고객 이메일·메신저 자동 발송
2. 폴더 구조
cicd/
├── README.md ← 이 파일 (CI/CD 표준 개요)
│
├── docs/ ← 설치/운영 문서
│ ├── 01_jenkins_install.md Jenkins 설치 (RHEL/Rocky/Ubuntu)
│ ├── 02_pipeline_standard.md 파이프라인 설계 표준
│ ├── 03_security_config.md 보안 설정 (Credentials, RBAC)
│ └── 04_itsm_integration.md GUARDiA ITSM 연동 가이드
│
├── jenkins/ ← Jenkinsfile 템플릿
│ ├── Jenkinsfile.java-maven Java Maven 프로젝트 표준
│ ├── Jenkinsfile.java-gradle Java Gradle 프로젝트 표준
│ ├── Jenkinsfile.nodejs Node.js 프로젝트 표준
│ ├── Jenkinsfile.deploy-only 배포 전용 (빌드 없음)
│ └── Jenkinsfile.rollback 롤백 파이프라인
│
├── scripts/
│ ├── install/
│ │ ├── jenkins_install.sh Jenkins 자동 설치
│ │ └── jenkins_plugins.sh 필수 플러그인 설치
│ ├── pipeline/
│ │ ├── build.sh 빌드 공통 스크립트
│ │ ├── test.sh 테스트 공통 스크립트
│ │ ├── deploy.sh 파일 배포 (rsync/SCP)
│ │ ├── was_restart.sh WAS 재기동 (Tomcat/JBoss/JEUS)
│ │ ├── health_check.sh 헬스체크 (HTTP/TCP)
│ │ └── rollback.sh 롤백 스크립트
│ └── notify/
│ └── itsm_callback.sh ITSM 결과 콜백
│
└── config/
├── jenkins.yaml JCasC (Jenkins as Code) 설정
└── sonarqube.properties SonarQube 연동 설정
3. 빠른 시작
3-1. Jenkins 설치
# RHEL/Rocky Linux
sudo bash cicd/scripts/install/jenkins_install.sh
# 플러그인 자동 설치
sudo bash cicd/scripts/install/jenkins_plugins.sh
3-2. JCasC 설정 적용
# Jenkins 재시작 후 JCasC 적용
cp cicd/config/jenkins.yaml /var/lib/jenkins/casc_configs/
sudo systemctl restart jenkins
3-3. GUARDiA ITSM 연동 설정
# 환경변수 설정 (itsm/.env)
JENKINS_URL=http://jenkins.agency.go.kr:8080
JENKINS_USER=itsm-bot
JENKINS_TOKEN=<API Token>
JENKINS_CALLBACK_URL=http://itsm.agency.go.kr:8000/api/vibe/callback
3-4. 파이프라인 등록
Jenkins 관리 콘솔 → New Item → Pipeline → SCM에서 Jenkinsfile 지정
또는 cicd/config/jenkins.yaml 로 자동 생성.
4. 브랜치 전략 (GitFlow)
main ─────────────────────────────── 운영 배포
↑ merge
develop ──────────────────────────────── 통합 개발
↑ merge
feature/* ────────────── 기능 개발 (SR 연결)
hotfix/* ─── 긴급 패치 (SR 연결)
release/* ──── 릴리즈 준비
| 브랜치 |
파이프라인 |
배포 환경 |
feature/* |
Build + Test |
개발 |
develop |
Build + Test + Deploy |
개발/스테이징 |
release/* |
Full Pipeline + SonarQube |
스테이징 |
main |
Full Pipeline + Approval Gate |
운영 |
hotfix/* |
Full Pipeline (Fast Track) |
운영 |
5. 환경별 Jenkins 파이프라인 파라미터
| 파라미터 |
설명 |
기본값 |
ITSM_SESSION_ID |
GUARDiA 바이브 세션 ID |
— |
ITSM_SR_ID |
연결된 SR ID |
— |
DEPLOY_ENV |
배포 환경 (dev/stg/prd) |
dev |
TARGET_SERVER |
배포 대상 서버명 |
— |
SKIP_TEST |
테스트 건너뜀 (긴급 시) |
false |
ROLLBACK_VERSION |
롤백 버전 (빌드 번호) |
— |
6. 관련 문서