Jenkins는 연속 통합 및 연속 전송(CI/CD) 파이프라인을 쉽게 설정하는 데 사용할 수 있는 오픈 소스 자동화 서버입니다.
CI(Continuous Integration)는 팀원들이 정기적으로 코드 변경을 버전 관리 저장소에 커밋한 후 자동화된 빌드 및 테스트를 실행하는 DevOps 관행입니다. CD(Continuous Delivery)는 코드 변경이 자동으로 구축, 테스트 및 프로덕션 환경에 배포되는 일련의 작업 방식입니다.
Jenkins는 Apache Tomcat과 같은 Java 서블릿 컨테이너에 독립 실행형 응용 프로그램으로 설치하거나 Docker 컨테이너로 실행할 수 있습니다.
이 문서에서는 Ubuntu 20.04에 Jenkins를 독립 실행형 서비스로 설치하는 방법을 설명합니다.
Java를 설치
Jenkins는 Java 응용 프로그램이며 시스템에 Java 8 이상을 설치해야 합니다. Java Platform의 오픈 소스 구현인 OpenJDK 11을 설치합니다.
다음 명령을 루트로 실행하거나 sudo 권한을 가진 사용자 또는 루트로 실행하여 OpenJDK 11을 설치하십시오.
sudo apt update
sudo apt install openjdk-11-jdk
설치가 완료되면 Java 버전을 확인하여 확인합니다.
출력은 다음과 같습니다.
java -version
# openjdk version "11.0.7" 2020-04-14
# OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
# OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)
Jenkins를 설치
Ubuntu에 Jenkins를 설치하는 것은 비교적 간단합니다. Jenkins APT 저장소를 사용하도록 설정하고, 저장소 GPG 키를 가져오고, Jenkins 패키지를 설치합니다.
다음 wget 명령을 사용하여 Jenkins 리포지토리의 GPG 키를 가져옵니다.
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
그런 다음 다음 Jenkins 리포지토리를 시스템에 추가합니다.
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
Jenkins 리포지토리를 사용하도록 설정하면 다음과 같이 입력하여 적절한 패키지 목록을 업데이트하고 Jenkins의 최신 버전을 설치합니다.
sudo apt update
sudo apt install jenkins
다음과 같은 오류 메시지가 나타납니다.
Error: W: GPG error: https://pkg.jenkins.io/debian-stable binary/ Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 9B7D32F2D50582E6"
다음을 사용하여 키를 가져옵니다.
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 9B7D32F2D50582E6
설치 프로세스가 완료되면 Jenkins 서비스가 자동으로 시작됩니다. 서비스 상태를 인쇄하여 확인할 수 있습니다.
다음과 같이 표시됩니다.
systemctl status jenkins
# ● jenkins.service - LSB: Start Jenkins at boot time
# Loaded: loaded (/etc/init.d/jenkins; generated)
# Active: active (exited) since Thu 2020-07-16 20:22:12 UTC; 15min ago
# ...
방화벽을 조정
방화벽으로 보호되는 원격 Ubuntu 서버에 Jenkins를 설치하는 경우 포트 8080을 열어야 합니다.
일반적으로 Jenkins 서버에 대한 액세스는 특정 IP 주소 또는 IP 범위에서만 허용해야 합니다. 예를 들어 "192.168.121.0/24" 서브넷에서만 연결을 허용하려면 다음 명령을 실행합니다.
sudo ufw allow proto tcp from 192.168.121.0/24 to any port 8080
어디에서나 액세스를 허용해야 하는 경우 다음을 수행합니다.
sudo ufw allow 8080
Jenkins를 설정
새 Jenkins 설치를 설정하려면 브라우저를 열고 도메인 또는 IP 주소 다음에 포트 8080, http://your_ip_or_domain:8080을 입력합니다.
다음과 유사한 페이지가 표시되고 설치 중에 생성된 관리자 암호를 입력하라는 메시지가 표시됩니다.
젠킨스의 잠금을 해제합니다.
cat을 사용하여 단말기에 암호를 표시합니다.
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
# 06cbf25d811a424bb236c76fd6e04c47
다음과 같이 32자 길이의 영숫자 암호가 표시됩니다.
단말기에서 암호를 복사하여 "관리자 암호" 필드에 붙여넣은 후 "계속"을 누릅니다.
다음 화면에서 설치 마법사가 제안된 플러그인을 설치할지 또는 특정 플러그인을 선택할지 묻는 메시지를 표시합니다.
권장 플러그인 설치 상자를 클릭하면 설치 프로세스가 즉시 시작됩니다.
플러그인이 설치되면 첫 번째 admin 사용자를 설정하라는 메시지가 표시됩니다. 필요한 정보를 모두 입력하고 "저장 후 계속"을 클릭합니다.
다음 페이지에서 Jenkins 인스턴스의 URL을 설정하라는 메시지가 표시됩니다. 필드는 자동으로 생성된 URL로 채워집니다.
Save and Finish(저장 후 완료) 버튼을 클릭하여 URL을 확인하면 설정 프로세스가 완료됩니다.
Start using Jenkins 버튼을 클릭하면 이전 단계 중 하나에서 만든 관리 사용자로 로그인한 Jenkins 대시보드로 리디렉션됩니다.
이제 Jenkins를 서버에 설치했습니다.
이 튜토리얼에서는 Ubuntu 시스템에 Jenkins의 초기 구성을 설치하고 완료하는 방법을 보여드렸습니다.
이제 Jenkins 공식 문서 페이지를 방문하여 Jenkins의 워크플로우 및 플러그인 모델을 탐색할 수 있습니다.
'SW > 리눅스' 카테고리의 다른 글
Linux : Vim / Vi : 라인 삭제 방법, 예제, 명령어 (1) | 2022.11.13 |
---|---|
Linux : 메모리 사용량 확인 방법, 예제, 명령어 (0) | 2022.11.12 |
Linux : 디렉토리 안 파일 개수 세는 방법, 예제, 명령어 (1) | 2022.11.10 |
Linux : AWS : DevOps Pipeline 설정 방법, 예제, 명령어 (0) | 2022.11.09 |
Linux : Ubuntu 20.04 : Memcached 설치 방법, 예제, 명령어 (0) | 2022.11.08 |