Jenkins를 이용한 빌드 및 배포 자동화: 쉽게 시작하는 방법
안녕하세요, 프로그래밍과 블로그에 대한 열정을 가진 여러분! 오늘은 Jenkins를 활용하여 소프트웨어 빌드 및 배포를 자동화하는 방법에 대해 알아보겠습니다. 이런 자동화 과정은 소프트웨어 개발에서 효율성을 극대화할 수 있는 훌륭한 방법인데요, 처음 해보시는 분들도 쉽게 따라할 수 있도록 세심하게 설명해 드리겠습니다.
들어가며
소프트웨어 개발 이론에서는 '지속적인 통합(Continuous Integration, CI)'와 '지속적인 배포(Continuous Delivery, CD)'가 매우 중요합니다. Jenkins는 이러한 CI/CD 프로세스를 관리하는 데에 널리 사용되는 오픈 소스 도구 중 하나입니다. 특히, 소프트웨어 배포의 각 단계를 간소화하여 시간을 절약할 수 있는 기회를 제공합니다.
이 글에서는 Ubuntu 18.04 서버에 Jenkins를 설치하고, GitHub에 있는 Maven 프로젝트를 자동으로 빌드하고 배포하는 과정을 설명할 예정입니다. 배포할 웹 프로젝트와 개발 환경은 미리 준비되어 있다고 가정하고 진행하겠습니다.
Jenkins 설치하기
가장 먼저 Jenkins를 설치해 보겠습니다.
- Jenkins 저장소 Key 다운로드
아래 명령어를 통해 Jenkins 저장소의 Key를 다운로드하고 추가합니다. $ wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add - $ echo deb http://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list $ sudo apt-get install jenkins
- Jenkins 포트 변경하기
기본적으로 Jenkins는 8080 포트를 사용합니다. 다른 서비스를 위해 포트를 변경할 수 있습니다.이후,HTTP_PORT=9090
으로 변경합니다. $ sudo vi /etc/default/jenkins
- Jenkins 서비스 시작
sudo service jenkins restart
- Jenkins 접속
웹 브라우저에서http://ip:9090/
를 입력하여 Jenkins에 접속해 주세요. 초기 비밀번호는 아래 명령어로 확인할 수 있습니다.$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword
Jenkins 프로젝트 만들기
이제 본격적으로 Jenkins 프로젝트를 만들어 보겠습니다.
- 새로운 아이템 생성
Jenkins 대시보드에서 '새로운 Item' 버튼을 클릭합니다. 원하는 프로젝트 이름을 입력하고 'Freestyle Project'를 선택한 후 생성합니다. - 프로젝트 구성
생성한 프로젝트에 들어가 '구성' 메뉴를 클릭합니다. - 소스 코드 관리 설정
'소스 코드 관리' 탭에 들어가 Git의 리포지토리 URL을 입력하여 소스를 가져옵니다.
- 빌드 설정
'Build' 탭에서는 Maven을 사용하여 작업을 실행하도록 설정합니다. 기본적으로clean install
을 실행합니다. - 배포 설정
이 단계에서는 빌드 후 조치로 'Deploy to container Plugin'을 사용할 수 있습니다. 이후 WAR 파일을 설정하고 Tomcat 서버의 URL 및 자격 증명을 입력하여 배포 설정을 완료합니다.
GitHub과 연동하기
Jenkins를 GitHub와 연동하여 Push 시 자동 빌드를 수행하도록 설정할 수 있습니다.
- GitHub 웹훅 추가
GitHub 프로젝트의 'Settings'에서 웹훅을 추가합니다. Payload URL에http://your-jenkins-url/github-webhook/
를 입력한 후 추가합니다. - Jenkins Integration Plugin 설치
Jenkins에서 'GitHub Integration Plugin'을 설치하여 GitHub과 연동합니다. - 자동화 활성화
프로젝트 구성에서 '빌드 유발' 탭으로 가서 'GitHub hook trigger for GITScm polling'을 체크합니다.
이 설정을 완료하면 이후에 GitHub에 Push가 이루어질 때마다 Jenkins가 자동으로 빌드를 수행합니다.
마무리하며
이번 게시물에서는 Jenkins를 활용해 자동 빌드와 배포를 설정하는 방법에 대해 알아보았습니다. 이를 통해 개발자를 위한 생산성을 높이고 오류를 줄일 수 있는 기회를 제공할 수 있습니다. 실용적인 상황에서의 활용 뿐만 아니라, CI/CD 과정에 대한 이해도를 높이는 데에도 도움이 되길 바랍니다.
여러분의 프로그래밍 여정에 이 글이 도움이 되었기를 바랍니다. 조언이나 질문이 있다면 언제든지 댓글로 남겨주세요! 그럼 다음 포스트에서 만나요!
'개발' 카테고리의 다른 글
jQuery 필터 선택자로 효율적인 DOM 조작하기 (1) | 2024.11.16 |
---|---|
커스텀 어노테이션 만들기와 활용 팁 (0) | 2024.11.16 |
Git Cherry-pick 명령어 완벽 가이드와 활용 예제 (1) | 2024.11.16 |
백트래킹 알고리즘으로 조합 생성하기: 효율적인 문제 해결 기법 탐구 (1) | 2024.11.16 |
정적 팩터리 메서드로 객체 생성 효율성 높이기 (1) | 2024.11.16 |