snow · 2026.5.15 11:09 · 조회 2
Jenkins와 Git 연동
사전 준비
Git 연동을 위해 Git 플러그인이 설치되어 있어야 합니다. Jenkins 관리 → 플러그인 관리에서 확인하세요.
GitHub 연동
1. Credentials 등록
민감한 정보는 Credentials에 저장하여 안전하게 관리합니다.
- Jenkins 관리 → Credentials → (global) → Add Credentials
- Kind: Username with password 또는 SSH Username with private key
- Username: GitHub 사용자명, Password: Personal Access Token(PAT)
- ID:
github-credentials(나중에 참조할 식별자)
GitHub는 2021년부터 비밀번호 대신 Personal Access Token 사용을 요구합니다.
2. Job에 Git 연결
Freestyle Job
- 소스 코드 관리 → Git 선택
- Repository URL 입력 (예:
https://github.com/org/repo.git) - Credentials에서 등록한 인증 정보 선택
- Branch Specifier:
*/main
Pipeline
1pipeline {2 agent any3 stages {4 stage('Checkout') {5 steps {6 git branch: 'main',7 credentialsId: 'github-credentials',8 url: 'https://github.com/org/repo.git'9 }10 }11 }12}Webhook 설정
Webhook을 사용하면 Git push 시 즉시 빌드가 트리거됩니다.
GitHub Webhook 설정
- GitHub 저장소 → Settings → Webhooks → Add webhook
- Payload URL:
http://{jenkins-url}/github-webhook/ - Content type:
application/json - Events: Just the push event 또는 Pull requests
Jenkins 설정
Freestyle Job: Build Triggers → GitHub hook trigger for GITScm polling 체크
Pipeline:
1triggers {2 githubPush()3}Multibranch Pipeline
여러 브랜치를 자동으로 감지하여 각 브랜치별 파이프라인을 생성합니다.
- 새 Item → Multibranch Pipeline
- Branch Sources → GitHub 추가
- Repository URL 및 Credentials 입력
- Scan Multibranch Pipeline Triggers: 주기적 스캔 설정
Jenkinsfile이 있는 브랜치가 자동으로 감지되어 Job이 생성됩니다.
브랜치 전략 예시
1stage('Deploy') {2 when {3 anyOf {4 branch 'main'5 branch 'release/*'6 }7 }8 steps {9 sh './deploy.sh'10 }11}| 브랜치 패턴 | 동작 |
|---|---|
main | 프로덕션 배포 |
release/* | 스테이징 배포 |
develop | 개발 서버 배포 |
feature/* | 빌드 + 테스트만 |
댓글
아직 댓글이 없습니다.
댓글을 작성하려면 로그인이 필요합니다.