반응형
Jenkins 란?
지속적인 통합(CI) 및 지속적인 배포(CD)를 지원하는 오픈 소스 자동화 도구입니다. Jenkins를 사용하면 소프트웨어 개발자들은 코드 변경 사항이 발생할 때마다 자동으로 빌드, 테스트 및 배포를 수행할 수 있습니다. 이를 통해 개발자들은 빠르게 문제를 해결하고 더욱 안정적인 애플리케이션을 배포할 수 있습니다. Jenkins는 다양한 플러그인을 제공하여 다양한 개발 언어와 프레임워크를 지원하며, 사용자 정의 가능한 파이프라인을 통해 개발자들은 자신의 필요에 맞게 Jenkins를 구성할 수 있습니다.
필수 구성 요소
- 최소 하드웨어 요구사항
- 256MB의 RAM
- 1GB의 드라이브 공간(Jenkins를 Docker 컨테이너로 실행하는 경우 최소 10GB가 권장됨)
- 소규모 팀을 위한 권장 하드웨어 구성
- 4GB 이상의 RAM
- 50GB 이상의 드라이브 공간
- 소프트웨어 요구 사항
- Java 8 버전 이상 설치 (Link)
- 웹브라우저 설치
Java 설치
sudo dnf update
sudo dnf search openjdk
sudo dnf install java-11-openjdk
젠킨스 설치
mkdir $HOME/jenkins_home
#sudo docker run -d -p <호스트 포트>:8080 -v <호스트 볼륨>:/var/jenkins_home --name jenkins jenkins/jenkins
sudo docker run -d -p 8080:8080 -v $HOME/jenkins_home:/var/jenkins_home --name jenkins jenkins/jenkins
- 호스트 포트: 컨테이너 외부에서 접속할 젠킨스 포트번호
- 호스트 볼륨: 젠킨스 홈 디렉터리와 매핑할 디렉터리, 구성, 파이프라인 빌드, 로드 등을 영구 저장
⚠️ jenkins_home 권한 에러 시 참고
'/var/jenkins_home/copy_reference_file.log': Permission denied 오류 해결
실행 확인
//실행중인 컨테이너 확인
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f70c9a534e1f jenkins/jenkins "/usr/bin/tini -- /u…" 11 seconds ago Up 8 seconds 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 50000/tcp jenkins
253423050adc ubuntu:20.04 "/bin/bash" 3 weeks ago Up 3 weeks suspicious_yonath
`http://localhost:8080` 접속 모습
패스워드 입력하면 완성!
💡 Administrator password는 log또는 파일(/var/jenkins_home/secrets/initialAdminPassword)로 확인 가능합니다.
$ sudo docker logs jenkins
*************************************************************
*************************************************************
*************************************************************
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
11a94d4eaa03474d9386d64f900b74de <-- 패스워드
This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
*************************************************************
*************************************************************
*************************************************************
끝.
반응형
'IT' 카테고리의 다른 글
String.format 으로 원하는 형식으로 출력하기 (1) | 2023.11.15 |
---|---|
Cron expression 사용법 정복하기 (76) | 2023.11.13 |
이미 사용중인 포트(Port) 확인 및 죽이기 (19) | 2023.11.10 |
Jenkins 타임존 설정하기 (2) | 2023.11.09 |
소프트웨어 버전 네이밍과 상태(GA, RC, PRE) 표기에 대해 알아보자 (0) | 2023.11.08 |