제가 직접 경험해본 결과로는 Jenkins, Git, GitHub의 적절한 설치 및 연동이 소스 코드 관리와 자동 배포의 효율성을 극대화하는 데 큰 도움이 되었다는 것을 알게 되었어요. 이 글에서는 이 세 가지 도구를 설치하고 연동하는 방법에 대해 자세히 설명드릴게요.
Jenkins란 무엇인가요?
Jenkins는 오픈 소스 자동화 서버로서, DevOps 환경에서 소프트웨어 개발 및 배포를 자동화하는 역할을 해요. 이를 통해 여러 개발자들이 공동으로 작업할 수 있도록 도와주고, 반복적인 빌드 및 배포 작업을 자동화하여 시간을 절약할 수 있답니다. 제가 사용하는 Jenkins는 웹 기반 인터페이스를 제공하여, 다양한 플러그인을 이용해 필요한 기능을 쉽게 추가할 수 있는 장점이 있어요.
Jenkins 설치 과정
- 자바 설치
- CentOS:
dnf install java-11-openjdk-devel
Ubuntu:
sudo apt-get install openjdk-11-jdk
레포지토리 추가
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
cd /etc/yum.repos.d/
curl -O https://pkg.jenkins.io/redhat-stable/jenkins.repo
Jenkins 설치
dnf install jenkins
Jenkins 포트 변경
vi /usr/lib/systemd/system/jenkins.service
에서Environment="JENKINS_PORT=8080"
을Environment="JENKINS_PORT=9090"
으로 변경systemctl daemon-reload
후systemctl restart jenkins
명령으로 서비스를 재시작해요.
간단한 Jenkins 사용법
설치 후, 기본 대시보드에 접속하기 위해 cat /var/lib/jenkins/secrets/initialAdminPassword
명령으로 초기 비밀번호를 확인해요. 그리고 로그인 후 “Install Suggested Plugins”를 선택해 필요한 플러그인들을 설치하면 됩니다.
Git과 GitHub의 중요성
Git은 강력한 분산형 버전 관리 시스템으로, 소스 코드를 저장하고 변경 이력을 관리하는 데 큰 도움이 돼요. 이를 통해 여러 개발자들이 동시에 작업할 수 있도록 지원하죠. GitHub는 Git을 기반으로 한 웹 호스팅 서비스로, 프로젝트를 클라우드에서 저장하고 공유할 수 있는 공간을 제공해요.
Git 설치 및 설정
- Git 설치
Git 다운로드 페이지에서 운영체제에 맞는 설치 파일을 다운로드해 설치해요.
기본 설정
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
이렇게 설정하면 작업할 때마다 특정 사용자가 변경 내역을 정확히 확인할 수 있답니다.
GitHub에 Repository 만들기
- 저장소 생성
GitHub에서 새로운 Repository를 생성 후, 로컬에서 작업한 내용을 푸시할 수 있는 원격 저장소를 만들어요.
Git을 통한 푸시
git push origin master
명령으로 로컬 변경 사항을 원격 저장소에 반영할 수 있어요.
Jenkins와 Git 연동하기
Jenkins에 Git을 연동하면 자동화된 빌드와 배포가 가능해져요. 저는 처음 연동할 때 다소 어려움을 겪었지만, 아래 단계를 따라하면 어렵지 않아요.
Git이 설치된 환경에서 Jenkins 설정
- Git 설치
yum install git
명령으로 Jenkins가 설치된 서버에 Git을 설치해요.GitHub 접근 토큰 생성
GitHub의 계정 설정에서 Personal access token을 생성하는데, 여기서 ‘repo’와 ‘admin:repo_hook’ 체크 후 키를 복사해둡니다.
Jenkins API 키 생성
- Jenkins 대시보드에서 사용자 프로필로 가서 API Token을 생성해요.
GitHub 웹훅 설정
- Webhook 등록
새로운 Repository의 Settings에서 Webhook을 설정하고 URL에
http://[내아이피주소:젠킨스포트]/github-webhook/
을 입력 후, 방금 생성한 토큰을 추가해요.Jenkins에서 파이프라인 생성
- 새로운 Item을 생성하고, GitHub Project를 체크한 뒤 레포지토리 주소를 입력해요. 그리고 GitHub hook trigger for GITScm polling 옵션을 선택하면 자동으로 빌드가 유발돼요.
이 과정에서 제가 실제로 시행해보니, 웹훅 설정과 파이프라인 구성에서의 작은 실수가 영향을 미칠 수 있으니 주의가 필요하다는 것을 느꼈어요.
전체 설치 및 연동 과정 요약
- Jenkins 설치 및 초기 설정
- Git과 GitHub 설치 및 설정
- Jenkins와 Git 연동
- 웹훅 설정
이 내용을 토대로 직접 설정해보시면 누구나 손쉽게 CI/CD 환경을 구축할 수 있을 거예요.
자주 묻는 질문 (FAQ)
Git이란 무엇인가요?
Git은 분산형 버전 관리 시스템으로, 코드 변경 이력을 관리하고 여러 개발자가 함께 작업할 수 있게 돕습니다.
GitHub를 사용하면 어떤 이점이 있나요?
GitHub는 클라우드 기반의 저장소를 제공하여, 여러 사용자가 프로젝트를 공유하고 협업하는 데 큰 도움이 됩니다.
Jenkins의 주요 기능은 무엇인가요?
Jenkins는 소프트웨어 개발 및 배포를 자동화하고, 빌드, 테스트, 배포의 모든 과정을 통합 관리할 수 있는 도구입니다.
잘못된 웹훅 설정시 어떻게 해야 하나요?
웹훅 설정이 잘못되면 Jenkins가 GitHub 이벤트를 인식하지 못해요. 이때 URL과 토큰이 정확한지 다시 한번 확인하는 것이 중요해요.
Jenkins, Git, GitHub을 연동하면 자동화된 개발 환경을 만들 수 있으니, 꼭 한번 실습해보세요!
키워드: Jenkins, Git, GitHub, CI/CD, 자동화, 웹훅, 버전 관리, 소스 코드, 클라우드, 개발 환경, 설치 방법