깃허브와 젠킨스란?
깃허브(GitHub)
깃허브는 전 세계 개발자들이 가장 많이 사용하는 버전 관리 시스템(VCS)사이트다. 깃(Git)을 기반으로 하며, 코드 저장, 협업, 이슈 트래킹, 프로젝트 관리 등의 기능을 제공하며, 특히 유명한 이유는 오픈소스 프로젝트부터 기업 내부의 프라이빗 리포지토리까지 리포지토리 주소만으로도 공유하기가 매우 쉽기 때문이다.
![](https://blog.kakaocdn.net/dn/cdK7zV/btsLK08hm22/0KjukBkJ00hc8MBg4blUTk/img.png)
젠킨스(Jenkins)
젠킨스는 오픈소스 기반의 자동화 서버로, CI/CD 파이프라인을 구축하는 데 널리 사용된다.
빌드, 테스트, 배포 등의 작업을 자동화하여 개발 생산성을 높이고, 오류를 조기에 발견할 수 있도록 도와줍니다. 플러그인 기반의 확장성이 뛰어나 다양한 도구와 통합이 가능합니다.
![](https://blog.kakaocdn.net/dn/bw6ZFS/btsLKKLs6Q6/hklz1aZC3GA2uCuqLcZsG0/img.jpg)
깃허브와 젠킨스 통합의 필요성
깃허브와 젠킨스를 통합하면 다음과 같은 이점을 얻을 수 있다.
1. 자동화된 빌드 및 테스트: 코드가 깃허브에 푸시될 때마다 젠킨스가 자동으로 빌드하고 테스트를 실행할 수 있다.
2. 빠른 피드백 루프: 개발자가 코드를 푸시한 직후 빌드 및 테스트 결과를 확인할 수 있어, 오류를 빠르게 수정할 수 있다.
3. 지속적 배포: 테스트가 성공적으로 완료되면 자동으로 배포 환경에 반영할 수 있다.
4. 협업 효율성 향상: 깃허브의 풀 리퀘스트와 젠킨스의 빌드 결과를 연동하여 코드 리뷰와 병합을 더욱 효율적으로 진행할 수 있다.
젠킨스 설치 및 설정
1) 젠킨스 설치
젠킨스는 다양한 환경에서 설치할 수 있습니다. 가장 일반적인 방법은 도커(Docker)를 사용하는 것입니다.
docker run -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts
위 명령어를 실행하면 젠킨스 서버가 실행되며, http://localhost:8080에서 접속할 수 있습니다.
2) 초기 설정
2-1) 초기 비밀번호 입력: 젠킨스에 처음 접속하면 초기 비밀번호를 입력하라는 화면이 나타납니다. 이 비밀번호는 젠킨스 로그에서 확인할 수 있습니다.
2-2) 플러그인 설치: 기본적인 플러그인을 설치합니다. 깃허브와의 통합을 위해 "GitHub" 플러그인을 반드시 설치해야 합니다.
2-3) 관리자 계정 생성: 초기 설정이 완료되면 관리자 계정을 생성합니다.
깃허브와 젠킨스 연동
1) 깃허브 웹훅 설정
깃허브 리포지토리에서 젠킨스와 연동하기 위해 웹훅(Webhook)을 설정해야 합니다.
1-1) 깃허브 리포지토리의 Settings > Webhooks로 이동합니다.
1-2) Payload URL에 젠킨스 서버의 주소를 입력합니다. 예: http://<젠킨스-서버-IP>:8080/github-webhook/
1-3) Content type을 application/json으로 설정합니다.
1-4) Just the push event를 선택하여 푸시 이벤트만 트리거하도록 설정합니다.
2) 젠킨스에서 깃허브 플러그인 설정
2-1 )젠킨스 대시보드에서 Manage Jenkins > Configure System으로 이동합니다.
2-2) GitHub 섹션에서 깃허브 서버를 추가합니다.
2-3) Credentials에서 깃허브 접근 토큰을 생성하여 추가합니다.
젠킨스 파이프라인 생성
1) 파이프라인 스크립트 작성
젠킨스 파이프라인은 Groovy 기반의 스크립트로 작성됩니다. 아래는 간단한 파이프라인 예제입니다.
pipeline {
agent any
stages {
stage('Checkout') {
steps {
git 'https://github.com/your-repo/your-project.git'
}
}
stage('Build') {
steps {
sh 'mvn clean package'
}
}
stage('Test') {
steps {
sh 'mvn test'
}
}
stage('Deploy') {
steps {
sh 'echo "Deploying to production..."'
}
}
}
}
2) 파이프라인 실행
2-1) 젠킨스 대시보드에서 New Item을 클릭하여 새로운 파이프라인 프로젝트를 생성합니다.
2-2) Pipeline 탭에서 위에서 작성한 스크립트를 입력합니다.
2-3) Save를 클릭한 후 Build Now를 눌러 파이프라인을 실행합니다.
깃허브 풀 리퀘스트와 젠킨스 연동
깃허브 풀 리퀘스트(PR)가 생성될 때마다 젠킨스가 자동으로 빌드 및 테스트를 실행하도록 설정할 수 있습니다.
- > 젠킨스 파이프라인 설정에서 Build Triggers 섹션의 GitHub hook trigger for GITScm polling을 활성화합니다.
> 깃허브 리포지토리의 Settings > Branches에서 PR에 대한 빌드 검사를 활성화합니다.
모니터링 및 알림 설정
젠킨스 파이프라인의 실행 결과를 모니터링하고, 실패 시 알림을 받을 수 있도록 설정할 수 있습니다.
> Email Notification: 젠킨스에서 이메일 알림을 설정하여 빌드 실패 시 알림을 받을 수 있습니다.
> Slack Integration: Slack 플러그인을 설치하여 빌드 결과를 Slack 채널로 전송할 수 있습니다.
요약
1. 깃허브랑 젠킨스를 쓰는게 좋다.
2. 자동화가 편해진다.
3. 젠킨스와 같은 깃허브 지원 자동화 프로세스들을 알아보자.
'프로그래밍' 카테고리의 다른 글
[FastAPI]FastAPI란 무엇일까? (0) | 2024.12.23 |
---|---|
[도커/Docker]호스트에서 특정 컨테이너로 파일 전송하기 (0) | 2024.11.28 |
[개발자 주저리]개발자로 취업할때 알고 있어야 하는 것 정리 -1 (개발자는 취업해서 뭐함???) (3) | 2024.11.28 |
[유머] 개발자의 분노 (0) | 2024.05.26 |
[Postgresql / psql]readonly Error Peer authentication failed for user 'readonly' - [solved] (0) | 2024.04.08 |