Git 기반 테스트 자동화 파이프라인 구축 with Jenkins #3
Git 기반 테스트 자동화 파이프라인 구축 with Docker #2
Git 기반 테스트 자동화 파이프라인 구축 with Jenkins #1Git Push 기반 자동화 파이프라인은테스트 자동화의 시작점을 단순화하고,코드 변경 → 테스트 → 피드백까지의 흐름을 자동으로 연결함으로
happyqa.tistory.com
이전 게시글과 이어집니다.
Docker로 Jenkins 서버 구축을 완료했으니
Jenkins에 대한 간단한 설명 후 Github과 연동해보도록 하겠습니다.
1. Jenkins란?
오픈소스 기반의 자동화 서버로,
소프트웨어 개발 및 테스트, 배포 등의 반복적인 작업을 자동화해주는 도구이며
코드 변경 → 빌드 → 테스트 → 배포(CI/CD)까지의 과정을
자동화하여 개발 프로세스를 효율적으로 운영하기 위해 사용합니다.
2. Jenkins 주요 기능
구분 | 설명 |
Job (또는 프로젝트) | 자동화할 작업 단위 (빌드, 테스트, 배포 등) |
Pipeline | Job의 흐름을 코드로 정의한 것 (Jenkinsfile) |
Agent/Node | Jenkins 마스터가 작업을 위임할 수 있는 실행 머신 (예: Katalon 개발 PC) |
플러그인 | Git, Katalon, Slack 등 다양한 연동 기능 제공 |
워크스페이스 | Job 실행 중 사용하는 작업 디렉토리 (소스코드 체크아웃 등) |
3. Jenkins와 Git의 연동 목적
Jenkins는 코드 변경 감지를 통해 프로세스를 자동화하고 이를 위해 Git과 연동합니다.
그러면 코드 변경 감지는 Jenkins가 job을 시작하는 트리거가 되는 것이고
Git이 Jenkins에게 코드 변경점을 전달하는 것이 Webhook 입니다.
물론 트리거는 여러 방법으로 설정이 가능합니다.
1. Git에 Push
↓
2. GitHub → Jenkins로 Webhook 전송 (HTTP POST 요청)
↓
3. Jenkins의 Job에 설정된 Trigger: "Webhook 수신 시 실행"
↓
4. Jenkins Job 실행 시작
4. Git bash로 프로젝트 내 test 브랜치 생성
우선 카탈론 스튜디오(IDE)와 Git 연동이 선행되어야 합니다.
해당 게시물을 참고해주세요.
Katalon Studio & Git에 연동하기!
Katalon Studio(카탈론 스튜디오)는 테스트 자동화를 위한 올인원 솔루션입니다.웹, 모바일, 데스크탑, API까지 다양한 플랫폼에서 자동화 테스트 구현이 가능합니다.Java 기반이며, Selenium, Appium 같은
happyqa.tistory.com
1) Git bash를 실행하여 명령어 입력
// 1. Git 브랜치 확인
git branch
// 2. Git 원격 브랜치 확인
git branch -r
// 3. Git 브랜치 생성 및 전환
git checkout -b test
// 4. Git 저장소 내 push
git push origin test
2) Github 내 반영 확인
test 브랜치가 생성되었습니다.
5. Jenkins 웹에서 Freestyle Job 생성
1) 프로젝트 생성
New Item 화면에서 Freestyle project를 선택 후 OK를 클릭합니다.
2) Github 연결
프로젝트 상세에서 구성 버튼을 클릭합니다.
3) 소스 코드 관리에서 Git 연동
Github Repository 정보 입력
Credentials > add > Username with Password로 Git ID / API KEY 입력 후 저장합니다.
4) 트리거 설정
하단에 빌드 유발 > Github hook trigger for GITScm polling 활성화합니다.
5) Github 내 Jenkins 정보 입력
Github Repository 내 Settings > Webhook에서 설정 정보를 입력합니다.
- Payload URL : Jenkins 접속 정보
- Content type : application/json
- Which events would you like to trigger this webhook? : Just the push event
6) Jenkins 내 Github Server 연동
대시보드 > Jenkins 관리 > System 내 Github 서버 정보를 입력합니다.
- Name : 자유롭게 입력
- API URL : https://api.github.com
단, Github Enterprise 이용자라면 API URL이 다릅니다.
- Credentials : Add 버튼 클릭하여 Global, Secret Text로 생성
다음에는 Github 저장소에 연결된 Job 내 Jenkinsfile을 생성해보겠습니다.