본문 바로가기
프로그래밍/젠킨스(Jenkins)

젠킨스(Jenkins) 접속 URL 변경하기

by bantomak 2024. 11. 14.
반응형

젠킨스 접속 URL을 변경하고 싶다면

젠킨스를 설치하고 나면 설정한 포트 번호로 접근이 가능하다.

만약 포트번호를 18080으로 설정했다면 localhost:18080으로 젠킨스에 접근이 가능하다.

무난하게 접속 완료!

해당 URL을 변경하고 싶다면 어디에서 설정하면 될까?

 

젠킨스 관리 - Jenkins Location  -  Jenkins URL에서 변경하면 적용될 거라고 예상되지만(?) 변경하고 나서 적용해도 젠킨스 URL은 변경되지 않는다.

해당 설정을 변경해도 정상적으로 작동하지 않는다.

C:\Program Files\Jenkins로 가서 jenkins.xml를 변경해 주자

jenkins.xml 파일에 옵션을 변경하면 젠킨스 접근 주소를 변경할 수 있다.

 

파일 내용 중간쯤에 위치한 해당 부분을 찾아보자.

 

<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "C:\Program Files\Jenkins\jenkins.war" --httpPort=18080 --webroot="%ProgramData%\Jenkins\war"</arguments>

 

그리고 내용에  --prefix="/jenkins"를 추가해 주자.

 

<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "C:\Program Files\Jenkins\jenkins.war" --httpPort=18080 --webroot="%ProgramData%\Jenkins\war" --prefix="/jenkins"</arguments>

 

해당 파일의 내용을 잘 수정했다면 젠킨스를 재시작시켜주자! (*중요)

재시작하고 나면 정상적으로 변경된 설정이 적용될 것이다.

이제 정상적으로 접속 URL이 변경되었다! 현재 예시로 든 환경은 윈도우(Window) 환경이지만 리눅스에 젠킨스를 설치해서 사용하고 있다. 동일하게 해당 Jenkins 파일을 변경하고 젠킨스를 재시작하면 적용될 것이다.

우분투(Ubuntu) 환경 젠킨스의 접속 URL 변경

/etc/default/jenkins

해당 위치에 jenkins 파일의 내용에 --prefix=/jenkins 를 추가해 주면 된다. 만약 해당 위치에 파일이 없다면 생성해 주자.

$ sudo vi /etc/default/jenkins
// JENKINS_ARGS="--prefix=/jenkins"
// 해당 내용을 추가해주자.
// 파일 변경 및 추가 이후에 jenkins 서비스를 재시작 해주자.
$ sudo service jenkins restart

도커 환경 젠킨스의 접속 URL 변경

도커 환경에서 실행한 젠킨스는 jenkins 서비스의 설정 파일 /etc/default/jenkins가 적용되지 않는다. 이는 도커 컨테이너가 해당 파일을 사용하는 전통적인 패키지 방식으로 설치된 jenkins 인스턴스가 아니라, 도커 이미지를 통해 직접 실행되기 때문이다.

 

도커 컨테이너에서 젠킨스의 접속 URL을 변경하기 위해서는 컨테이너 실행 시 환경 변수나 명령줄 인자를 통해서 변경해야 한다.

docker run -d \
  -p 8080:8080 \
  -e JENKINS_OPTS="--prefix=/jenkins" \
  --name jenkins \
  jenkins/jenkins:lts

함께 읽으면 좋은 글

 

Window 젠킨스(Jenkins) 설치를 위한 JDK 17 설치 및 환경 변수 설정

Window에 젠킨스(Jenkins) 설치하기설치할 젠킨스 버전 : 2.462.3필요한 JDK 버전 : 11, 17 또는 21버전에 해당하는 JDK 다운로드 및 설치 Download the Latest Java LTS FreeSubscribe to Java SE and get the most comprehensive Jav

jettstream.tistory.com

 

Can not access Jenkins by --prefix value even if --prefix is set

I have set the JENKINS_ARGS using /etc/default/jenkins and start jenkins as a daemon with the www-data user. The system info page shows that --prefix=/jenkins is set HOME /var/www HUDSON_HOME ...

stackoverflow.com

댓글