Jenkins 버전 업그레이드 시 LDAP 플러그인 오류 해결 및 Standalone 구성

Jiyeon's TechNote·2025년 12월 31일
post-thumbnail

Jenkins 버전 업그레이드 과정에서 LDAP 플러그인 오류로 인해 Jenkins가 정상 기동되지 않는 문제가 발생했습니다.
본 글에서는 해당 오류를 config.xml에서 임시로 보안 설정을 비활성화하여 해결하고,
최신 jenkins.war를 사용해 Standalone Jenkins를 systemd 서비스로 구성한 과정을 정리했습니다.

1. 문제 상황

Jenkins 버전 업그레이드 이후 기동 과정에서 LDAP 관련 플러그인 오류가 발생하며 Jenkins가 정상적으로 올라오지 않았음

  • Jenkins UI 접근 불가
  • 로그 상 LDAP / securityRealm 관련 예외 발생
  • 플러그인 업데이트 없이 Jenkins 자체 기동이 불가능한 상태

👉 일단 Jenkins를 띄워야 문제 분석 및 플러그인 정리가 가능했기 때문에 임시 조치로 보안 설정을 비활성화하는 방법을 선택

2. Jenkins 보안 설정 임시 비활성화

2-1. config.xml 백업

cd /home/ec2-user/.jenkins
cp config.xml config.xml.bak_$(date +%Y%m%d%H%M)

2-2. config.xml을 수정하여 LDAP 및 권한 관련 설정을 제거

vi /home/ec2-user/.jenkins/config.xml

(1) 보안 사용 여부 비활성화
<useSecurity>false</useSecurity>

(2) authorizationStrategy 태그 전체 삭제
<authorizationStrategy class="hudson.security.ProjectMatrixAuthorizationStrategy">
    ...
</authorizationStrategy>

(3) securityRealm 태그 전체 삭제 (LDAP 설정)
<securityRealm class="...">
    ...
</securityRealm>

👉 위 설정을 제거하면 Jenkins는 보안이 비활성화된 상태로 기동됨
(임시 조치이므로 운영 환경에서는 반드시 재설정 필요)

3. 최신 Jenkins WAR 다운로드

mkdir /home/ec2-user/jenkins-standalone
cd /home/ec2-user/jenkins-standalone

# 최신 stable WAR 파일을 다운로드
wget https://get.jenkins.io/war-stable/latest/jenkins.war

4. Jenkins를 systemd 서비스로 등록

4-1. systemd 서비스 파일 생성

sudo vi /etc/systemd/system/jenkins.service

-------------------------------------------------------
[Unit]
Description=Jenkins Standalone
After=network.target

[Service]
Type=simple
User=ec2-user
Environment="JENKINS_HOME=/home/ec2-user/.jenkins"
ExecStart=/home/ec2-user/apps/jdk_21/bin/java \
  -jar /home/ec2-user/jenkins-standalone/jenkins.war \
  --httpPort=12000
Restart=always

[Install]
WantedBy=multi-user.target
-------------------------------------------------------

4-2. systemd 반영 및 서비스 기동

# systemd에 새로 등록한 서비스 파일을 인식시키기 위해 데몬을 다시 로드
sudo systemctl daemon-reload

# 시스템 부팅 시 Jenkins 서비스가 자동으로 시작되도록 활성화
sudo systemctl enable jenkins

# Jenkins 서비스를 즉시 기동
sudo systemctl start jenkins

# Jenkins 서비스가 정상적으로 실행 중인지 상태 확인
sudo systemctl status jenkins

정상적으로 기동되면 최신 버전의 Jenkins UI에 접근 가능

5. 이후 작업 (권장)

Jenkins가 정상 기동된 이후에는 아래 작업을 진행하는 것이 좋음

5-1. 플러그인 버전 호환성 확인

  • Jenkins 업그레이드 이후 플러그인 버전을 함께 업데이트하지 않으면 일부 Job 실행, 설정 화면, 기능 사용 시 오류가 발생할 수 있음
  • Pipeline, SCM, Credential 관련 플러그인은 Jenkins Core 버전과의 호환성 확인이 필요

5-2. 불필요한 플러그인 정리

  • 미사용 플러그인이 남아 있을 경우, 다른 플러그인과의 충돌로 인해 일부 Job의 UI가 깨지거나 설정 저장이 불가능한 문제가 발생할 수 있음
  • 실제 사용 중인 Job 기준으로 플러그인을 정리하면 Jenkins 안정성과 관리 복잡도를 동시에 개선할 수 있음

5-3. LDAP / Authorization 재설정

  • 임시 조치로 비활성화한 보안 설정을 다시 구성
profile
바쁘다 바빠 현대사회 엔지니어🙋‍♀️

0개의 댓글