$ sudo firewall-cmd --reload
success
※ 설치 환경 및 구성 정보
• Linux : Rockey Linux release 9.4( Blue Onxy )
• Java JDK : Amazon Corretto 17
• WAS : Apache Tomcat 9.0.93( 9.0.97 까지 테스트 해 봄 )
• Jenkins Version : 2.462.2( 버전을 올렸을 경우 문제 발생 되도록 위 해당 버전을 사용 )
글 작성일기준 Tomcat은 10버전 이상 사용할 수 없었다.
이후 부터는 jetty를 사용하여 구성하는 방법으로 변경을 해야 할 것으로 판단된다.
3. Java JDK 설치(Amazon Corretto 17 버전)
1) Java JDK 설치
해당 포스팅은 Amazon Corretto의 JDK 17버전을 사용한다.
이유는 포스팅 작성일 기준 Jenkins 구성 Plugins들을 Oracl JDK 1.8 버전을 지원하지 않기 때문이다.
Open JDK인 Amazon Corretto을 사용하였다.
wget 명령을 사용하여 Java JDK를 설치한다.
$ wget -O /home/사용자_계정/amazon-corretto-17-x64-linux-jdk.rpm https://corretto.aws/downloads/latest/amazon-corretto-17-x64-linux-jdk.rpm
--2024-09-05 12:34:34-- https://corretto.aws/downloads/latest/amazon-corretto-17-x64-linux-jdk.rpm
Resolving corretto.aws (corretto.aws)... 54.230.61.14, 54.230.61.18, 54.230.61.23, ...
Connecting to corretto.aws (corretto.aws)|54.230.61.14|:443... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: /downloads/resources/17.0.12.7.1/java-17-amazon-corretto-devel-17.0.12.7-1.x86_64.rpm [following]
--2024-09-05 12:34:34-- https://corretto.aws/downloads/resources/17.0.12.7.1/java-17-amazon-corretto-devel-17.0.12.7-1.x86_64.rpm
Reusing existing connection to corretto.aws:443.
HTTP request sent, awaiting response... 200 OK
Length: 194032001 (185M) [binary/octet-stream]
Saving to: `amazon-corretto-17-x64-linux-jdk.rpm'
amazon-corretto-17-x64-linux-jdk.rpm 100%[==================================================>] 185.04M 9.89MB/s in 18s
2024-09-05 12:34:53 (10.0 MB/s) - `amazon-corretto-17-x64-linux-jdk.rpm' saved [194032001/194032001]
해당 포스팅에서 JDK는 Amazon Corretto 17 버전을 사용한다.
rpm 명령을 사용하여 java-17-amazon-corretto-devel 패키지의 설치를 진행한다.
$ sudo rpm -ivh /home/사용자_계정/amazon-corretto-17-x64-linux-jdk.rpm
경고: /home/jenkins/amazon-corretto-17-x64-linux-jdk.rpm: Header V3 RSA/SHA256 Signature, key ID b04f24e3: NOKEY
Verifying... ################################# [100%]
준비 중... ################################# [100%]
Updating / installing...
1:java-17-amazon-corretto-devel-1:1################################# [100%]
which 명령을 사용해 javac 명령어가 위치한 경로를 확인한다.
$ which javac
/usr/bin/javac
다음으로 readlink 명령으로 javac 명령의 실제 대상 경로를 찾아본다.
$ readlink -f /usr/bin/javac
/usr/lib/jvm/java-17-amazon-corretto/bin/javac
위 경로가 Java JDK 17버전( java-17-amazon-corretto )이 설치된 위치이다.
2) JAVA 환경변수 설정
JDK의 설치 경로가 확인되었다면 사용자_계정의 홈 디렉토리 Home 디렉토리의
Bash 셸 초기화 파일을 수정하여 준다.
$ vim /home/사용자_계정/.bashrc
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific environment
if ! [[ "$PATH" =~ "$HOME/.local/bin:$HOME/bin:" ]]
then
PATH="$HOME/.local/bin:$HOME/bin:$PATH"
fi
export PATH
# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=
# User specific aliases and functions
if [ -d ~/.bashrc.d ]; then
for rc in ~/.bashrc.d/*; do
if [ -f "$rc" ]; then
. "$rc"
fi
done
fi
unset rc
# JDK 환경변수 설정
export JAVA_HOME=/usr/lib/jvm/java-17-amazon-corretto/
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
.bashrc 하단에 위와같이 설치한 java-17-amazon-corretto의 경로를 지정하여 준다.
설정이 완료되었다면 source 명령을 사용하여 .bashrc 파일을 다시 읽어들인다.
$ source /home/사용자_계정/.bashrc
source 내용을 현재 Shell의 세션으로 다시 가져와 해당 세션에 적용한다.
이를 통해 사용자가 수정한 .bashrc 파일의 설정을 즉시 적용할 수 있다.
이제 설정한 $JAVA_HOME 환경변수가 잘 만들어 졌는지 확인해 보자.
① JAVA_HOME 변수가 올바르게 설정되었는지 확인
$ echo $JAVA_HOME
/usr/lib/jvm/java-17-amazon-corretto/
일반적으로 /usr/lib/jvm/java-<version>와 같은 경로로 나타난다.
② PATH 변수에 JDK의 실행 파일 디렉토리가 올바르게 추가되었는지 확인
$ echo $PATH
/home/사용자_계정/.local/bin:/home/사용자_계정/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr/lib/jvm/java-17-amazon-corretto//bin
③ CLASSPATH 변수가 올바르게 생성되었는지 확인
$ echo $CLASSPATH
/usr/lib/jvm/java-17-amazon-corretto//jre/lib:/usr/lib/jvm/java-17-amazon-corretto//lib/tools.jar
4. 젠키스 설치
Jenkins 저장소 추가 및 GPG키 가져오기
$ sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
--2025-03-06 12:49:11-- https://pkg.jenkins.io/redhat-stable/jenkins.repo
Resolving pkg.jenkins.io (pkg.jenkins.io)... 146.75.50.133, 2a04:4e42:7c::645
Connecting to pkg.jenkins.io (pkg.jenkins.io)|146.75.50.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 85
Saving to: `/etc/yum.repos.d/jenkins.repo'
/etc/yum.repos.d/jenkins.repo 100%[===========================================================================================>] 85 --.-KB/s in 0s
2025-03-06 12:49:11 (2.95 MB/s) - `/etc/yum.repos.d/jenkins.repo' saved [85/85]
$ sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
Jenkins 설치하기
$ sudo dnf install -y jenkins
Extra Packages for Enterprise Linux 9 - x86_64 52 kB/s | 14 kB 00:00
Extra Packages for Enterprise Linux 9 - x86_64 11 MB/s | 23 MB 00:02
Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64 2.0 kB/s | 993 B 00:00
Jenkins-stable 202 kB/s | 30 kB 00:00
Rocky Linux 9 - BaseOS 7.8 kB/s | 4.1 kB 00:00
Rocky Linux 9 - BaseOS 3.2 MB/s | 2.3 MB 00:00
Rocky Linux 9 - AppStream 7.6 kB/s | 4.5 kB 00:00
Rocky Linux 9 - AppStream 11 MB/s | 8.6 MB 00:00
Rocky Linux 9 - Extras 4.8 kB/s | 2.9 kB 00:00
종속성이 해결되었습니다.
=================================================================================================================================================================================
꾸러미 구조 버전 저장소 크기
=================================================================================================================================================================================
설치 중:
jenkins noarch 2.492.2-1.1 jenkins 92 M
연결 요약
=================================================================================================================================================================================
설치 1 꾸러미
전체 내려받기 크기: 92 M
설치된 크기 : 92 M
꾸러미 내려받기 중:
jenkins-2.492.2-1.1.noarch.rpm 7.7 MB/s | 92 MB 00:11
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
합계 7.7 MB/s | 92 MB 00:11
연결 확인 실행 중
연결 확인에 성공했습니다.
연결 시험 실행 중
연결 시험에 성공했습니다.
연결 실행 중
준비 중 : 1/1
구현 중 : jenkins-2.492.2-1.1.noarch 1/1
설치 중 : jenkins-2.492.2-1.1.noarch 1/1
구현 중 : jenkins-2.492.2-1.1.noarch 1/1
확인 중 : jenkins-2.492.2-1.1.noarch 1/1
설치되었습니다:
jenkins-2.492.2-1.1.noarch
완료되었습니다!
젠킨스 버전 확인
$ rpm -qi jenkins
Name : jenkins
Version : 2.492.2
Release : 1.1
Architecture: noarch
Install Date: 2025년 03월 06일 (목) 오후 12시 50분 16초
Group : Unspecified
Size : 96707334
License : MIT/X License, GPL/CDDL, ASL2
Signature : RSA/SHA512, 2025년 03월 05일 (수) 오후 09시 37분 35초, Key ID 5ba31d57ef5975ca
Source RPM : jenkins-2.492.2-1.1.src.rpm
Build Date : 2025년 03월 05일 (수) 오후 09시 36분 11초
Build Host : core-package-security-stable-2-492-2-2-vqgmm-ld3h8-71776
URL : https://www.jenkins.io/
Summary : Jenkins Automation Server
Description :
Jenkins is the leading open source automation server supported by a large and growing community of developers, testers, designers and other people interested in continuous integration, continuous delivery and modern software delivery practices. Built on the Java Virtual Machine (JVM), it provides more than 1,800 plugins that extend Jenkins to automate with practically any technology software delivery teams use. In 2022, Jenkins reached 300,000 known installations making it the most widely deployed automation server.
.
For more information, see https://www.jenkins.io.
Authors:
--------
Kohsuke Kawaguchi <kk@kohsuke.org>
젠킨스 포트 변경
$ sudo vim /lib/systemd/system/jenkins.service
~ 이 하 생 략 ~
# Port to listen on for HTTP requests. Set to -1 to disable.
# To be able to listen on privileged ports (port numbers less than 1024),
# add the CAP_NET_BIND_SERVICE capability to the AmbientCapabilities
# directive below.
Environment="JENKINS_PORT=8090"
~ 이 하 생 략 ~
방화벽 설정
$ sudo firewall-cmd --permanent --add-port=8090/tcp
$ success
Jankins 서비스 설정
$ sudo systemctl enable jenkins
Created symlink /etc/systemd/system/multi-user.target.wants/jenkins.service → /usr/lib/systemd/system/jenkins.service.
$ sudo systemctl start jenkins
시간이 좀 걸린다.
$ sudo systemctl status jenkins
● jenkins.service - Jenkins Continuous Integration Server
Loaded: loaded (/usr/lib/systemd/system/jenkins.service; enabled; preset: disabled)
Active: active (running) since Thu 2025-03-06 12:56:06 KST; 1min 23s ago
Main PID: 1801 (java)
Tasks: 47 (limit: 48904)
Memory: 785.5M
CPU: 1min 11.554s
CGroup: /system.slice/jenkins.service
└─1801 /usr/bin/java -Djava.awt.headless=true -jar /usr/share/java/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8090
3월 06 12:55:56 localhost.localdomain jenkins[1801]: 458b6f3d786241f4a6b4a2ac0fd819c1
3월 06 12:55:56 localhost.localdomain jenkins[1801]: This may also be found at: /var/lib/jenkins/secrets/initialAdminPassword
3월 06 12:55:56 localhost.localdomain jenkins[1801]: *************************************************************
3월 06 12:55:56 localhost.localdomain jenkins[1801]: *************************************************************
3월 06 12:55:56 localhost.localdomain jenkins[1801]: *************************************************************
3월 06 12:56:06 localhost.localdomain jenkins[1801]: 2025-03-06 03:56:06.712+0000 [id=33] INFO jenkins.InitReactorRunner$1#onAttained: Completed initialization
3월 06 12:56:06 localhost.localdomain jenkins[1801]: 2025-03-06 03:56:06.759+0000 [id=24] INFO hudson.lifecycle.Lifecycle#onReady: Jenkins is fully up and running
3월 06 12:56:06 localhost.localdomain systemd[1]: Started Jenkins Continuous Integration Server.
3월 06 12:56:08 localhost.localdomain jenkins[1801]: 2025-03-06 03:56:08.556+0000 [id=53] INFO h.m.DownloadService$Downloadable#load: Obtained the updated data f>
3월 06 12:56:08 localhost.localdomain jenkins[1801]: 2025-03-06 03:56:08.557+0000 [id=53] INFO hudson.util.Retrier#start: Performed the action check updates serv>
lines 1-20/20 (END)
초기 관리자 비밀번호 확인
$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword
9d88a26efe254662822b26c7676c4165
3) Jenkins 실행하기
Web Browser를 열고 http://리눅스_서버_호스트:8090/jenkins를 입력한다.

Jenkins가 실행되면 Administrator password를 확인할 것이다.
$ sudo cat /home/jenkins/secrets/initialAdminPassword
81ebfdb948fe471fbbbc7a6b670980cb

복사한 비밀번호를 입력하고 [ Continue ] 버튼을 클릭한다.
Customize Jenkins 화면에서 [ Install Suggested Plugins ] 버튼을클릭한다.

그럼 Jenkins 플러그인 관리자에서 사용가능한 기본적인 Plugins의 설치가 자동으로 이루어진다.

다음으로 관리자 계정을 생성하기 위하여 아래와 같이 입력창의 내용을 작성하여 준다.

내용을 다 작성하였다면 [ Save and Continue ] 버튼을 클릭하여 준다.
Jenkins의 설치가 마무리 되었다 [ Start using Jenkins ] 버튼을 클릭한다.

Jenkins 설치가 마무리 되면 아래와 같은 구성화면을 확인할 수 있다.

이것으로 Jenkins 설치과정은 마무리 한다.
'LINUX > Rocky Linux' 카테고리의 다른 글
[Linux] Rocky 리눅스 - 비밀번호 변경시 BAD PASSWORD 발생 (0) | 2024.11.14 |
---|---|
[Linux] Rocky 리눅스 설치 및 기본 환경구성 (0) | 2024.05.23 |