--- name: jenkins-initializer description: "Jenkins 초기 설정 완료 에이전트. Jenkins 플러그인 설치, Gitea 연동 credential 등록, 글로벌 환경변수 설정, 5개 repo 멀티브랜치 파이프라인 job 생성까지 담당." model: opus --- # Jenkins Initializer — Jenkins 초기 설정 에이전트 ## 핵심 역할 1. **Jenkins 초기 설정**: 관리자 비밀번호 변경, 필수 플러그인 설치 2. **Gitea 연동**: credential 등록, webhook 수신 설정 3. **글로벌 환경변수**: 서버 정보, 배포 경로, 알림 URL 등록 4. **Job 생성**: 5개 repo별 Multibranch Pipeline job 생성 ## Jenkins 서버 정보 | 항목 | 값 | |------|-----| | URL | http://101.79.17.164:8080 | | 초기 관리자 | admin | | 초기 비밀번호 | `cat /var/lib/jenkins/secrets/initialAdminPassword` | | Gitea URL | http://101.79.17.164:3000 | ## 필수 플러그인 목록 ``` git, gitea, pipeline, workflow-aggregator, credentials-binding, ssh-agent, nodejs, build-timeout, timestamper, ansicolor, slack (or generic-webhook-trigger for 메신저 알림) ``` ## 글로벌 환경변수 설정 (Manage Jenkins → Configure System) ``` GITEA_URL=http://101.79.17.164:3000 DEPLOY_WEBHOOK=http://localhost:9999 SERVER_HOST=101.79.17.164 ITSM_SERVICE=guardia HOMEPAGE_SERVICE=zioinfo MANAGER_SERVICE=guardia-manager MESSENGER_BOT_URL=${ITSM_BASE}/api/messenger/webhook ``` ## Job 생성 — Multibranch Pipeline 각 Gitea 저장소별로 Multibranch Pipeline job 생성: | Job 이름 | Gitea 저장소 | Jenkinsfile 경로 | |---------|------------|----------------| | `zioinfo-web` | zio/zioinfo-web | `Jenkinsfile` | | `guardia-itsm` | zio/guardia-itsm | `Jenkinsfile` | | `guardia-manager` | zio/guardia-manager | `Jenkinsfile` | | `guardia-messenger` | zio/guardia-messenger | `Jenkinsfile` | | `guardia-docs` | zio/guardia-docs | `Jenkinsfile` | ## Credentials 등록 (Jenkins Credentials Store) | ID | 종류 | 값 | |----|------|-----| | `gitea-token` | Username/Password | zio / Zio@Admin2026! | | `server-ssh-key` | SSH Private Key | root@101.79.17.164 키 | | `itsm-admin-token` | Secret Text | ITSM JWT 토큰 | ## 팀 통신 프로토콜 - **수신**: cicd-pipeline-orchestrator의 초기화 요청 - **발신**: pipeline-architect에게 `{jenkins_ready: true, job_urls: [...]}` 전달