서버/CI 및 CD

[CI/CD 서버 구축 #1] Rocky Linux에 Jenkins 설치 (.war 파일 기반, Java 17)

jineddy 2025. 4. 14. 13:55

CI/CD 파이프라인을 구축할 때 가장 널리 사용되는 도구 중 하나인 Jenkins를 Rocky Linux 환경에 설치하는 방법을 정리합니다.
이번 글에서는 .war 파일을 직접 실행하는 방식으로 설치하며, Java 17 환경을 기반으로 진행합니다.

 

설치 전 확인: 디스크 용량

$ df -h
Filesystem               Size  Used Avail Use% Mounted on
/                         XXXG  XXXG XXXG   XX /

Jenkins는 로그 및 빌드 파일로 인해 저장 공간이 점차 커질 수 있으므로, 충분한 디스크 용량 확보가 중요합니다.

이번 설치는 /dev/jenkins 폴더를 생성하여 진행하였습니다.

 

Jenkins 전용 계정 생성

$ sudo useradd jenkins
$ sudo passwd jenkins

설치 및 실행을 jenkins 전용 계정으로 관리하는 것이 보안 및 관리에 유리합니다.

 

Jenkins 설치 디렉토리 준비

$ sudo mkdir /dev/jenkins
$ sudo chown jenkins:jenkins /dev/jenkins

디렉토리를 생성하고 소유자를 jenkins 계정으로 변경합니다.

Jenkins .war 파일 다운로드

Jenkins 공식 사이트에서 .war 파일 다운로드

Java 17 설치 (필수)

$ sudo yum install java-17-openjdk-devel.x86_64
$ java -version

openjdk version "17.0.14" 2025-01-21 LTS
OpenJDK Runtime Environment (Red_Hat-17.0.14.0.7-1) (build 17.0.14+7-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-17.0.14.0.7-1) (build 17.0.14+7-LTS, mixed mode, sharing)

Jenkins 최신 버전 Java 11 이상을 요구합니다. 여기서는 Java 17을 사용했습니다.

 

Jenkins 실행 스크립트 작성

경로: /dev/jenkins/jenkinsStart.sh

#!/bin/bash
export JAVA_HOME=자바설치경로
export PATH=$PATH:$JAVA_HOME/bin
export JENKINS_HOME=/dev/jenkins

java -jar jenkins.war --httpPort=8081

생성한 쉘스크립트와 war 파일이 동일한 경로에 있기 때문에 실행 명령어에 별도 경로 표시를 안했으며, 경로를 다르게 해야 할 경우 가급적 절대경로 방식으로 기술해 주는것이 좋습니다.

 

접속 포트는 기본 8080을 사용하지만 위와 같이 포트번호를 변경하여 등록 할 경우 별도의 포트를 사용 할 수 있습니다.

$ chmod 744 jenkinsStart.sh

실행 권한을 부여합니다.

초기 관리자 비밀번호 확인

초기 접속을 위해 아래 파일에서 비밀번호를 확인합니다.

$ cat /dev/jenkins/secrets/initialAdminPassword

브라우저에서 http://서버IP:8081 접속 후 위 비밀번호로 초기 설정을 진행합니다.

 

이렇게 Rocky Linux 환경에 Jenkins를 .war 파일 기반으로 설치하고 실행할 수 있습니다.

.war 파일 방식이 기존의 방식에 비해 매우 쉽게 설치 가능하다고 느껴지고, 재 설치가 필요할 경우에도 간단하게 재 설치 가능한 점이 기존 설치 방식에 비해 발전된 느낌입니다.

 

결론

SI 특성 상 폐쇄망 환경에서 빌드를 해야 했기 때문에 다음엔 Nexus 설치하는 방법도 알아보고 마지막엔 이번에 설치한 젠킨스를 이용하여 폐쇄망 안에 설치한 넥서스를 참고하여 빌드하는 방법까지 알아보겠다.

 

관련글

[리눅스/Rocky] - [CI/CD 서버 구축 #2] Rocky Linux에 Nexus 설치 하기

 

[CI/CD 서버 구축 #2] Rocky Linux에 Nexus 설치 하기

Nexus Repository Manager는 사내 CI/CD 환경에서 빌드 결과물(라이브러리, 패키지 등)을 저장·배포하는 데 사용됩니다.이 글에서는 Rocky Linux 서버에 Nexus 3.x 버전 설치를 단계별로 정리해보겠습니다.SI

jineddy.tistory.com

[리눅스/Rocky] - [CI/CD 서버 구축 #3] SSH 공개키 방식 로그인 설정 방법 (Jenkins 배포 연동용)

 

[CI/CD 서버 구축 #3] SSH 공개키 방식 로그인 설정 방법 (Jenkins 배포 연동용)

CI/CD 파이프라인에서 Jenkins를 사용해 자동 배포를 구성할 때, 보안성과 편의성을 위해 SSH 공개키 기반 로그인 방식을 설정하는 것이 좋습니다.이번 글에서는 **리눅스 서버(dev 계정)**에 SSH 공개

jineddy.tistory.com

[개발/Java] - [CI/CD 서버 구축 #4] 폐쇄망 환경에서 오픈소스 라이브러리를 Nexus에 업로드하는 3가지 방법

 

[CI/CD 서버 구축 #4] 폐쇄망 환경에서 오픈소스 라이브러리를 Nexus에 업로드하는 3가지 방법

기업 내부망이나 보안 상의 이유로 인터넷 접속이 제한된 환경에서도 개발에 필요한 오픈소스 라이브러리를 활용해야 하는 경우가 많습니다. 이럴 때 Sonatype Nexus Repository Manager를 이용해 외부

jineddy.tistory.com

[개발/Java] - [CI/CD 서버 구축 #5] Maven deploy 시 자동 생성된 pom.xml로 인한 문제와 해결법

 

[CI/CD 서버 구축 #5] Maven deploy 시 자동 생성된 pom.xml로 인한 문제와 해결법

폐쇄망 환경에서 mvn deploy:deploy-file 명령어로 외부 라이브러리를 Nexus Repository에 수동 업로드할 때, 종종 발생하는 문제가 있습니다. 바로 자동 생성된 pom.xml이 실제 배포된 라이브러리의 메타 정

jineddy.tistory.com