snow · 2026.5.15 11:09 · 조회 2

Jenkins와 Git 연동

사전 준비

Git 연동을 위해 Git 플러그인이 설치되어 있어야 합니다. Jenkins 관리 → 플러그인 관리에서 확인하세요.


GitHub 연동

1. Credentials 등록

민감한 정보는 Credentials에 저장하여 안전하게 관리합니다.

  1. Jenkins 관리 → Credentials → (global) → Add Credentials
  2. Kind: Username with password 또는 SSH Username with private key
  3. Username: GitHub 사용자명, Password: Personal Access Token(PAT)
  4. ID: github-credentials (나중에 참조할 식별자)

GitHub는 2021년부터 비밀번호 대신 Personal Access Token 사용을 요구합니다.

2. Job에 Git 연결

Freestyle Job

  1. 소스 코드 관리Git 선택
  2. Repository URL 입력 (예: https://github.com/org/repo.git)
  3. Credentials에서 등록한 인증 정보 선택
  4. 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 설정

  1. GitHub 저장소 → Settings → Webhooks → Add webhook
  2. Payload URL: http://{jenkins-url}/github-webhook/
  3. Content type: application/json
  4. 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

여러 브랜치를 자동으로 감지하여 각 브랜치별 파이프라인을 생성합니다.

  1. 새 Item → Multibranch Pipeline
  2. Branch Sources → GitHub 추가
  3. Repository URL 및 Credentials 입력
  4. 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/*빌드 + 테스트만

댓글

아직 댓글이 없습니다.

댓글을 작성하려면 로그인이 필요합니다.