Ubuntu 22.04에 Jenkins 설치 가이드

Jenkins는 지속적 통합(CI, Continuous Integration) 및 지속적 배포(CD, Continuous Deployment)를 지원하는 오픈 소스 자동화 도구로, 소프트웨어 개발 프로세스를 자동화하고 효율성을 향상시키는 데 사용되나. 이 글에서는 Ubuntu 22.04에 Jenkins를 설치하고 구성하는 방법에 대해 알아본다.

Jenkins 소개

Jenkins는 자동화된 빌드, 테스트 및 배포를 통해 개발자들이 소프트웨어를 더 빠르고 안정적으로 개발할 수 있도록 지원하는 도구이다. Jenkins는 다양한 플러그인을 통해 다양한 언어와 도구들을 지원하며, 간단한 설정을 통해 손쉽게 프로젝트에 통합할 수 있다.

Ubuntu 22.04에 Jenkins 설치

먼저 JDK를 설치하지 않았다면, 다음 글을 참조하여 JDK 설치를 먼저 한다.

패키지 업데이트

Jenkins를 설치하기 전에 시스템의 패키지 리스트를 최신 상태로 업데이트한다.

sudo apt update

Jenkins 패키지 설치

Jenkins는 공식 패키지로 제공되므로, 우선 Jenkins의 공식 저장소를 시스템에 추가해야 한다. 2023년 3월 28일 부터 Linux 설치 패키지에 대한 새로운 Repository 서명 키를 사용한다. 다음의 공식 문서를 참고한다.

https://www.jenkins.io/blog/2023/03/27/repository-signing-keys-changing/

설치에 문제가 있다면 예전 정보일 가능성이 있으므로, 당황하기 말고 구글링하여 최신 정보를 찾아 참고하면 된다.

아래 명령어를 실행하여 Jenkins의 공식 키와 Jenkins Repository를 추가한다.

curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo tee \
  /usr/share/keyrings/jenkins-keyring.asc > /dev/null
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
  https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
  /etc/apt/sources.list.d/jenkins.list > /dev/null

이제 패키지 목록을 업데이트하고 Jenkins를 설치한다.

sudo apt update
sudo apt install jenkins

Jenkins 서비스 시작

Jenkins 패키지를 설치하면 자동으로 Jenkins 서비스가 시작된다. 서비스가 실행 중인지 확인하려면 다음 명령어를 실행한다.

sudo systemctl status jenkins

아래와 같이 active (running) 이 나타나야 실행 중임을 나타낸다.

Jenkins 설정

Jenkins 웹 인터페이스 접속

웹 브라우저를 열고 다음 URL을 입력한다.

http://localhost:8080

접속하면 초기 비밀번호를 입력하는 페이지가 표시된다.

Jenkins의 초기 비밀번호는 설치 시 자동으로 생성된다. 해당 비밀번호를 확인하려면 다음 명령어를 실행한다.

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

확인한 초기 비밀번호를 입력한 후 “Continue”를 클릭한다.

플러그인 설치

Jenkins를 구성하기 위해 권장되는 플러그인을 선택하거나 원하는 플러그인을 수동으로 선택하여 설치한다.

관리자 계정 생성

Jenkins의 관리자 계정을 생성하고 암호를 설정한다.

Jenkins URL 구성

Jenkins의 URL을 구성한다. 기본값을 사용하거나 사용자 정의할 수 있다.

완료

설정이 완료되면 Jenkins is ready 화면이 나온다.

Start using Jenkins를 클릭하면 Jenkins 대시보드로 액세스 된다.

결론

이제 Ubuntu 22.04에 Jenkins를 성공적으로 설치하고 구성하는 방법을 알아보았다. Jenkins를 사용하여 프로젝트의 빌드, 테스트 및 배포 프로세스를 자동화하여 개발 생산성을 향상시킬 수 있다.

참고 사이트

답글 남기기