zioinfo-mail/workspace/guardia-itsm/cicd/README.md
DESKTOP-TKLFCPR\ython cfe2901a55 refactor(structure): consolidate all projects under workspace/
- itsm/    -> workspace/guardia-itsm/
- manager/ -> workspace/guardia-manager/
- app/     -> workspace/guardia-messenger/
- manual/  -> workspace/guardia-docs/

workspace/zioinfo-web/ unchanged.
git mv preserves full commit history.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 23:50:56 +09:00

5.6 KiB

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. 관련 문서

문서 경로
Jenkins 설치 가이드 docs/01_jenkins_install.md
파이프라인 설계 표준 docs/02_pipeline_standard.md
보안 설정 docs/03_security_config.md
ITSM 연동 가이드 docs/04_itsm_integration.md