※ 설치 환경 및 구성 정보
• 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를 사용하여 구성하는 방법으로 변경을 해야 할 것으로 판단된다.
1. 사용자 계정 및 홈 디렉토리 구성 생성
먼저 관리자( root ) 계정으로 로그인 한다.
$ su - root
암호 : 관리자_비밀번호
useradd 명령을 이용하여 『 jenkins 』라는 계정을 생성한다.
# useradd jenkins
이후 『 jenkins 』계정의 비밀번호를 변경하여 준다.
# passwd jenkins
jenkins 사용자의 비밀 번호 변경 중
새 암호 : ******
새 암호 재입력 : ******
passwd : 모든 인증 토큰이 성공적으로 업데이트 되었습니다.
계정 생성이 완료되었다면 /home 디렉토리 경로 아래에 /jenkins 디렉토리가 생성되어 있을 것이다.
# ls /home/ -al
합계 0
drwxr-xr-x. 4 root root 37 9월 1 18:36 .
dr-xr-xr-x. 18 root root 235 7월 9 19:04 ..
drwx------. 2 jenkins jenkins 62 9월 1 18:36 jenkins
drwxr-xr-x. 2 사용자계정 사용자계정 114 8월 5 10:30 사용자계정
다음으로 『 jenkins 』계정에 관리자 명령( sudo )을 사용할 수 있게 설정하여 준다.
# vi /etc/sudoers
~~ 이 하 생 략 ~~
##
## Allow root to run any commands anywhere( 지정한 sudo 명령을 사용할 수 있게 설정 )
root ALL=(ALL) ALL
사용자계정 ALL=(ALL) ALL
jenkins ALL=(ALL) ALL
## Allows members of the 'sys' group to run networking, software,
## service management apps and more.
# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
## Same thing without a password( 지정한 sudo 명령을 사용시 비밀번호 입력 생략 설정 )
# %wheel ALL=(ALL) NOPASSWD: ALL
사용자계정 ALL=(ALL) NOPASSWD: ALL
jenkins ALL=(ALL) NOPASSWD: ALL
~~ 이 하 생 략 ~~
이제『 jenkins 』계정에 관리자 명령( sudo )을 실행 권한을 추가하여 주었다면 『 jenkins 』계정으로 전환하여 준다.
$ su - jenkins
암호 : ******
『 jenkins 』계정으로 전환되었다면 Rockey Linux를 Update 하여 준다.
$ sudo dnf -y update
Update가 완료되면 아래 Linux 사용에 필요한 Package들을 차례대로 설치한다.
$ sudo dnf install -y epel-release
$ sudo dnf install -y curl
$ sudo dnf install -y npm
$ sudo dbf install -y net-tools
$ sudo dnf install -y kernel-devel
$ sudo dnf install -y wget
$ sudo dnf install -y vim-enhanced
$ sudo dnf install -y tar
$ sudo dnf install -y unzip
$ sudo dnf install -y rsync
$ sudo dnf install -y cronolog
$ sudo dnf install -y dhcp-client
$ sudo yum install -y fontconfig
$ sudo yum install dejavu-sans-fonts
Update 및 Package 설치가 완료되었다면 Roceky Linux를 재부팅 하여 준다.
$ sudo shutdown -r now
재부팅된 이후에는『 jenkins 』계정으로 로그인 하여 준다.
localhost login : 사용자_계정
password : 사용자_비밀번호
로그인 하면 바로『 jenkins 』계정의 홈 디렉토리( /home/jenkins ) 경로부터 시작된다.
$ pwd
/home/jenkins
해당 포스팅은『 jenkins 』계정의 홈 디렉토리에 jenkins를 설치할 것이다.
$ ls -al
합계 16
drwx------. 2 jenkins jenkins 83 9월 8 15:19 .
drwxr-xr-x. 4 root root 37 9월 3 16:25 ..
-rw-------. 1 jenkins jenkins 582 9월 3 16:56 .bash_history
-rw-r--r--. 1 jenkins jenkins 18 4월 30 20:28 .bash_logout
-rw-r--r--. 1 jenkins jenkins 141 4월 30 20:28 .bash_profile
-rw-r--r--. 1 jenkins jenkins 492 4월 30 20:28 .bashrc
2. 방화벽 설정하기
1) 방화벽( FireWall ) 실행
먼저 FireWall이 실행중인지 확인해 준다.
$ sudo firewall-cmd --state
running( 실행중 ) / not running( 실행중이 아님 )
실행중이 아니라면 FireWall을 실행하여 준다.
$ sudo systemctl start firewalld
Linux Server 재부팅 시 FireWall이 자동으로 재실행되도록 설정하여 준다.
$ sudo systemctl enable firewalld
2) TCP 포트 허용
① 22 / TCP : SSH 프로토콜( 원격 로그인 )
$ sudo firewall-cmd --zone=public --add-port=22/tcp --permanent
$ success
② 9090 / TCP : Jenkins 서비스
$ sudo firewall-cmd --zone=public --add-port=9090/tcp --permanent
success
※ 9090 포트는 Jenkins 사용을 위해 임의로 지정한 PORT 번호이다.
③ 80 / TCP : HTTP 웹 서비스
$ sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
success
④ 443/ TCP : HTTPS 웹 서비스
$ sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
success
위 PROT 번호들의 사용을 허용했다면 FireWall을 재시작 하여 준다.
$ sudo firewall-cmd --reload
success
3) 포트 설정 확인
list-all-zone 명령을 사용하여 지정한 PROT들의 사용 허가 유뮤를 확인한다.
$ sudo firewall-cmd --list-all-zon
~~ 이 하 생 략 ~~
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3
sources:
services: cockpit dhcpv6-client ssh
ports: 22/tcp 9090/tcp 80/tcp 443/tcp
protocols:
forward: yes
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
~~ 이 하 생 략 ~~
현재 pulbic zone은 SSH( 22 ), HTTP( 80 ), HTTPS( 443 ) 및
Jenkins( 9090 )에서 사용할 서비스에 대한 트래픽을 허용하고 있다.
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 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/jenkins/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의 설치 경로가 확인되었다면 『 jenkins 』계정의 홈 디렉토리 Home 디렉토리의
Bash 셸 초기화 파일을 수정하여 준다.
$ vim /home/jenkins/.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/jenkins/.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/jenkins/.local/bin:/home/jenkins/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. WAS 설치(Apache Tomcat 9.0.93)
1) Apahcat Tomcat 설치하기
해당 포스팅에서 사용하는 Jenkins 버전( v2.462.2 )에서는 Apache Tomcat을 9버전 이상 사용할 수 없었다.
이후 Jenkins를 설치를 진행해야 하는경우는 Jetty기반의 서블릿 컨테이너( Winstone 등 )를 사용해야 하는듯 하다.
※ 관련 커뮤니티 글 : Jenkins with Tomcat 10 - Using Jenkins - Jenkins
먼저 wget 명령으로 통해 Apache Tocmat 9버전을 다운로드 한다.
$ wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.93/bin/apache-tomcat-9.0.93.tar.gz
--2024-09-05 12:44:38-- https://downloads.apache.org/tomcat/tomcat-9/v9.0.93/bin/apache-tomcat-9.0.93.tar.gz
Resolving downloads.apache.org (downloads.apache.org)... 88.99.208.237, 135.181.214.104, 2a01:4f8:10a:39da::2, ...
Connecting to downloads.apache.org (downloads.apache.org)|88.99.208.237|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 12122732 (12M) [application/x-gzip]
Saving to: `apache-tomcat-9.0.93.tar.gz'
apache-tomcat-9.0.93.tar.gz 100%[=====================================================================================================================================================================================================================================>] 11.56M 771KB/s in 16s
2024-09-05 12:44:55 (742 KB/s) - `apache-tomcat-9.0.93.tar.gz' saved [12122732/12122732]
apache-tomcat-9.0.93.tar.gz 파일이 다운로드 받아지면 /usr/local 경로에 압축을 해제하여 준다.
$ sudo tar zxfv /home/jenkins/apache-tomcat-9.0.93.tar.gz -C /usr/local
apache-tomcat-9.0.93/conf/
apache-tomcat-9.0.93/bin/
apache-tomcat-9.0.93/lib/
apache-tomcat-9.0.93/logs/
apache-tomcat-9.0.93/temp/
apache-tomcat-9.0.93/webapps/
~~ 이하 생략 ~~
Jenkins 빌드관리 도구는 기본적으로 Linux Sever의 많은 자원을 필요로 한다.
VM에 별도의 옵션을 주기 위해 bin/setenv.sh 파일을 새로 생성하고 다음과 같은 내용을 추가하자.
$ sudo vim /usr/local/apache-tomcat-9.0.93/bin/setenv.sh
#!/bin/sh
# JAVA_HOME 경로 지정
JAVA_HOME="/usr/lib/jvm/java-17-amazon-corretto/"
export JAVA_HOME
# VM의 초기 크기( Heap Size 초기값 )
MIN_MEMORY="512m"
# VM의 최대 크기( Heap Size 최대값 )
# 대규모 애플리케이션을 구동하거나 시스템에 메모리 여유가 있을 때 늘리는 것이 좋습니다.
MAX_MEMORY="2048m"
# Metaspace 영역의 최대 크기
MAX_METASPACE_SIZE="512m"
# 최종 JVM 옵션
JAVA_OPTS="-Xms${MIN_MEMORY} -Xmx${MAX_MEMORY} -XX:MaxMetaspaceSize=${MAX_METASPACE_SIZE} ${JAVA_OPTS}"
export JAVA_OPTS
※ 위 설정은 하나의 예시일 뿐이며 하드웨어 자원에 따라 적절하게 조정해 주어야 한다.
다음으로 /conf/context.xml 파일의 설정에서 캐시 관련된 설정도 변경하여 준다.
$ sudo vim /usr/local/apache-tomcat-9.0.93/conf/context.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- The contents of this file will be loaded for each web application -->
<Context>
<!-- Default set of monitored resources. If one of these changes, the -->
<!-- web application will be reloaded. -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>WEB-INF/tomcat-web.xml</WatchedResource>
<WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>
<!-- Tomcat이 정적 리소스를 캐시하는 방식을 제어 -->
<!-- <Resources> 설정은 Tomcat이 정적 리소스를 캐시하는 방식을 제어 -->
<!-- cachingAllowed : 캐시를 활성화 여부를 결정( 기본값 : true ) -->
<!-- cacheMaxSize : 캐시의 최대 크기를 지정( 기본값 : 10240( 10MB ) ) -->
<Resources cachingAllowed="true" cacheMaxSize="10240"/>
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
-->
</Context>
※ 위 설정은 기본 설정값을 사용한 예시일 뿐이며 하드웨어 자원에 따라 적절하게 조정해 주어야 한다.
Tomcat의 서버 동작과 환경울 구서하기 위한 server.xml 파일을 설정한다.
$ sudo vim /usr/local/apache-tomcat-9.0.93/conf/server.xml
<?xml version="1.0" encoding="UTF-8"?>
~~ 이 하 생 략 ~~
<Server port="8005" shutdown="SHUTDOWN">
~~ 이 하 생 략 ~~
<Connector port="9090" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxParameterCount="1000"
URIEncoding="UTF-8"
/>
~~ 이 하 생 략 ~~
<!-- Define an AJP 1.3 Connector on port 8009 -->
<!--
<Connector protocol="AJP/1.3"
address="::1"
port="8009"
redirectPort="8443"
maxParameterCount="1000"
/>
-->
~~ 이 하 생 략 ~~
</Host>
</Engine>
</Service>
</Server>
server.xml 파일은 Tomcat이 시작할 때 읽혀지고 서버 동작에 필요한 구성 요소들을 정의한다.
Server Port = 8005
8005가 기본 포트이지만 한 서버에서 여러 Tomcat을 구동할 경우 포트를 변경해 주어야 한다.
Connector Port = 9090
8080이 기본 포트이지만 포트를 9090등 다른 포트로 변경한다.
SELinux에 httpd_t의 컨텍스트도 수정해야 하는 것을 잊지 말자.
한글이 깨지지 않도록 커넥터 설정에 URIEncoding 부분도 추가한다.
Connector Port = 8009
Jnkins를 Apache의 mod_proxy로 연동할 것이므로 AJP 커넥터는 주석으로 처리해도 된다.
혹시 mod_jk로 연결하고 싶다면 주석 처리하지 말고 AJP 커넥터를 사용해야 한다.
이제 Apache Tomcat을 시작하여 준다.
$ sudo sh /usr/local/apache-tomcat-9.0.93/bin/startup.sh
Using CATALINA_BASE: /usr/local/apache-tomcat-9.0.93
Using CATALINA_HOME: /usr/local/apache-tomcat-9.0.93
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-9.0.93/temp
Using JRE_HOME: /usr/lib/jvm/java-17-amazon-corretto/
Using CLASSPATH: /usr/local/apache-tomcat-9.0.93/bin/bootstrap.jar:/usr/local/apache-tomcat-9.0.93/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
이제 Web Browser를 열고 Apache Tomcat이 정상적으로 구동되고 있는지 확인해 보자.
아직 Jenkins를 설치하지 않았기 때문에 아래 명령을 이용하여 Tomcat은 잠시 종료시켜 둔다.
$ sudo sh /usr/local/apache-tomcat-9.0.93/bin/shutdown.sh
Using CATALINA_BASE: /usr/local/apache-tomcat-9.0.93
Using CATALINA_HOME: /usr/local/apache-tomcat-9.0.93
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-9.0.93/temp
Using JRE_HOME: /usr/lib/jvm/java-17-amazon-corretto/
Using CLASSPATH: /usr/local/apache-tomcat-9.0.93/bin/bootstrap.jar:/usr/local/apache-tomcat-9.0.93/bin/tomcat-juli.jar
Using CATALINA_OPTS:
NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
4. 젠키스 설치
1) Jinkins 홈 디렉토리 설정
Jenkins를 설치하기에 앞서 미리 해야 할 중요한 설정이 있다.
Jenkins는 JENKINS_HOME 환경변수가 설정돼어 있는 경우 해당 경로에 JENKINS 홈 디렉토리를 구성한다.
이 환경변수가 설정돼 있지 않으면 기본적으로 .jenkins를 사용하므로 사용자의 설정에 환경변수를 넣어야 한다.
( 관리자_계정 : /root/.jenkins 사용 )
선행 작업에서 『 jenkins 』계정을 생성하고 홈 디렉토리를 만들어 주었다.
해당 경로를 JENKINS_HOME 디렉토리로 지정하여 jenkins를 설치할 것이다.
------------------------------------------------------------------------------------------------------------------------------------
먼저 jenkins 디렉토리의 .bash_porfile에
export JENKINS_HOME=/home/jenkins를 추가한다.
$ sudo vim /home/jenkins/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
# JENKINS_HOME 환경 변수 설정
export JENKINS_HOME=/home/jenkins
설정을 마치면 source 명령어로 환경변수를 반영한다.
$ source /home/jenkins/.bash_profile
환경변수가 잘 반영되었는지 echo 명령어로 확인해 본다.
$ echo $JENKINS_HOME
/home/jenkins
------------------------------------------------------------------------------------------------------------------------------------
밑줄친 설정이 꼭 필요한 설정인지는 추후 한번더 확인해 볼 것
Apache Tomcat을 설치하면서 생성한 setenv.sh 파일에 JENKINS_HOME 경로를 추가하여 준다.
$ sudo vim /usr/local/apache-tomcat-9.0.93/bin/setenv.sh
#!/bin/sh
# JAVA_HOME 경로 지정
JAVA_HOME="/usr/lib/jvm/java-17-amazon-corretto/"
export JAVA_HOME
# VM의 초기 크기 (Heap Size 초기값)
MIN_MEMORY="512m"
# VM의 최대 크기 (Heap Size 최대값)
# 대규모 애플리케이션을 구동하거나 시스템에 메모리 여유가 있을 때 늘리는 것이 좋습니다.
MAX_MEMORY="2048m"
# Metaspace 영역의 최대 크기
MAX_METASPACE_SIZE="512m"
# JENKINS_HOME 경로 지정
JENKINS_HOME="/home/jenkins"
export JENKINS_HOME
# 최종 JVM 옵션
JAVA_OPTS="-Xms${MIN_MEMORY} -Xmx${MAX_MEMORY} -XX:MaxMetaspaceSize=${MAX_METASPACE_SIZE} -Djava.awt.headless=true ${JAVA_OPTS}"
export JAVA_OPTS
위와 같이 JENKINS_HOME 경로를 지정하여 준다.
2) Jenkins 다운로드 및 실행하기
curl 명령을 통해 jenkins.war 파일을 다운로드 받는다.
$ curl -L -O https://get.jenkins.io/war-stable/latest/jenkins.war
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 89.0M 100 89.0M 0 0 2514k 0 0:00:36 0:00:36 --:--:-- 3943k
만일 버전을 직접 지정해서 다운받으려면 아래와 같이 사용하면 된다.
$ curl -L -O https://get.jenkins.io/war-stable/2.462.2/jenkins.war
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 89.0M 100 89.0M 0 0 13.0M 0 0:00:06 0:00:06 --:--:-- 13.9M
다운받은 Jenkins( jenkins.war 파일 )의 버전을 확인해 보자
$ unzip -p /home/jenkins/jenkins.war META-INF/MANIFEST.MF | grep Jenkins-Version
Jenkins-Version: 2.462.2
다운이 완료되면 『 jenkins 』계정을 생성하고 홈 디렉토리를 한번 살펴보자.
$ ls -al
합계 292516
drwx------. 2 jenkins jenkins 4096 9월 5 13:05 .
drwxr-xr-x. 4 root root 37 9월 3 16:25 ..
-rw-------. 1 jenkins jenkins 582 9월 3 16:56 .bash_history
-rw-r--r--. 1 jenkins jenkins 18 4월 30 20:28 .bash_logout
-rw-r--r--. 1 jenkins jenkins 141 4월 30 20:28 .bash_profile
-rw-r--r--. 1 jenkins jenkins 668 9월 5 12:41 .bashrc
-rw-------. 1 jenkins jenkins 947 9월 5 12:41 .viminfo
-rw-r--r--. 1 jenkins jenkins 167 9월 5 12:38 .wget-hsts
-rw-r--r--. 1 jenkins jenkins 194032001 8월 23 06:48 amazon-corretto-17-x64-linux-jdk.rpm
-rw-r--r--. 1 jenkins jenkins 12122732 8월 3 07:59 apache-tomcat-9.0.93.tar.gz
-rw-r--r--. 1 jenkins jenkins 93344579 9월 5 13:05 jenkins.war
해당 포스팅을 순서대로 진행하였다면 『 jenkins 』계정의 홈 디렉토리 구성은 위와 같을 것이다.
다운받은 WAR( jenkins.war ) 파일을 Apache Tocmat의 /webapps 디렉토리로 이동시킨다.
$ sudo cp /home/jenkins/jenkins.war /usr/local/apache-tomcat-9.0.93/webapps/
Apahce Tomcat의 /webapps/ 디렉토리 내부에 jenkins.war 파일이 위치한다.
$ sudo ls /usr/local/apache-tomcat-9.0.93/webapps/ -al
합계 91172
drwxr-x---. 7 root root 100 9월 5 13:08 .
drwxr-xr-x. 9 root root 4096 9월 5 12:48 ..
drwxr-x---. 3 root root 4096 9월 5 12:48 ROOT
drwxr-x---. 16 root root 4096 9월 5 12:48 docs
drwxr-x---. 7 root root 99 9월 5 12:48 examples
drwxr-x---. 6 root root 79 9월 5 12:48 host-manager
-rw-r--r--. 1 root root 93344579 9월 5 13:09 jenkins.war
drwxr-x---. 6 root root 114 9월 5 12:48 manager
이제 다시 Tomcat을 실행하여 jenkins.war 파일을 디플로이 한다.
$ sudo sh /usr/local/apache-tomcat-9.0.93/bin/startup.sh
Using CATALINA_BASE: /usr/local/apache-tomcat-9.0.93
Using CATALINA_HOME: /usr/local/apache-tomcat-9.0.93
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-9.0.93/temp
Using JRE_HOME: /usr/lib/jvm/java-17-amazon-corretto/
Using CLASSPATH: /usr/local/apache-tomcat-9.0.93/bin/bootstrap.jar:/usr/local/apache-tomcat-9.0.93/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
3) Jenkins 실행하기
Web Browser를 열고 http://리눅스_서버_호스트:9090/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 |