Jenkins Container 접속 http 경로 변경하기

2024. 2. 28. 22:36·TIL

개요

Jenkins Container 환경 설정 시 웹 페이지의 경로를 변경하고, nginx 프록시 할 수 있도록 구성하는 방법을 알아보자.

Host OS 내에 jenkins container를 이미 구성한 상태에서 접속할 수 있는 경로만 변경하는 작업을 포스팅 한다.

환경

필자의 경우 Host OS(Ubuntu Linux) 위에 Jenkins Container를 구성했고, Host OS에 Nginx를 설치하여 리버스 프록시를 활용하여 Jenkins 관리 웹 페이지로 이동시키게끔 구성했다.

Jenkins Container 설정

StackOverflow의 글에서 경로를 변경하기 위해서 환경변수를 설정할 수 있다는 글을 확인했다.

Change jenkins container deployment root path

Jenkins Container 생성 당시 입력했던 환경 변수를 확인해보자.

Host OS에서 아래의 명령어로 컨테이너 생성 당시 입력했던 환경변수를 확인 가능하다.

docker exec jenkins(컨테이너 이름) /usr/bin/env
PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=6719f87953bd
JENKINS_OPTS=--httpPort=8080
TZ=Asia/Seoul
LANG=C.UTF-8
JENKINS_HOME=/var/jenkins_home
JENKINS_SLAVE_AGENT_PORT=50000
REF=/usr/share/jenkins/ref
JENKINS_VERSION=2.447
JENKINS_UC=https://updates.jenkins.io
JENKINS_UC_EXPERIMENTAL=https://updates.jenkins.io/experimental
JENKINS_INCREMENTALS_REPO_MIRROR=https://repo.jenkins-ci.org/incrementals
COPY_REFERENCE_FILE_LOG=/var/jenkins_home/copy_reference_file.log
JAVA_HOME=/opt/java/openjdk
HOME=/root

위의 글에서 확인한 접속 prefix를 추가하기 위해서는 아래의 환경변수를 추가하면 된다.

JENKINS_OPTS="--prefix=/jenkins"

나는 아래의 문서 일부를 읽은 후 지원하지 않는 기능인 줄 알았는데, 최근 댓글을 보면 실행중인 컨테이너 위에 환경변수를 추가할 수 있는 방법이 있는 것 같다.

How to set an environment variable in a running docker container

필자의 경우 컨테이너에 환경변수를 추가하여 다시 올리는 방식으로 작업했다.

docker run -d --env JENKINS_OPTS="--httpPort=8080 --prefix=/build" --prefix=/build -v /etc/localtime:/etc/localtime:ro -e TZ=Asia/Seoul -p 8080:8080 -v /jenkins:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v /usr/local/bin/docker-compose:/usr/local/bin/docker-compose --name jenkins -u root jenkins/jenkins:jdk17

또한 path/build 경로로 들어오는 요청을 nginx에서 8080 포트로 redirect 하도록 설정해줬다.

sudo vim /etc/nginx/sites-enabmed/default

...

location /build/ {
                proxy_pass <http://localhost:8080/build/>;
        }
...

이후 nginx를 재시작 해줬다.

sudo service nginx restart

'TIL' 카테고리의 다른 글

싱글 스레드에서 비동기 요청이 가능할까?  (1) 2024.03.04
SPOPARTY 서비스 파일 업로드, 삭제 장애 대응  (1) 2024.03.02
함수 호출 규약(Calling Convention)과 마샬링(marshalling)  (1) 2023.10.17
[키워드 정리] VNC VS RDP, ICMP  (0) 2022.03.09
JavaScript ES6 문법 정리  (0) 2021.10.17
'TIL' 카테고리의 다른 글
  • 싱글 스레드에서 비동기 요청이 가능할까?
  • SPOPARTY 서비스 파일 업로드, 삭제 장애 대응
  • 함수 호출 규약(Calling Convention)과 마샬링(marshalling)
  • [키워드 정리] VNC VS RDP, ICMP
HWBB
HWBB
흥미주도개발자
  • HWBB
    코딩공부방
    HWBB
  • 전체
    오늘
    어제
    • 분류 전체보기 (164)
      • 알고리즘 (61)
      • Android (27)
      • Kotlin (0)
      • Java (2)
      • Design Pattern (2)
      • React Native (1)
      • Python (0)
      • TIL (21)
      • Unity (0)
      • React (2)
      • AWS (0)
      • Git (11)
      • MFC (1)
      • Spring (4)
      • Computer Science (4)
      • Vue (4)
      • Infra (6)
      • 박현우 (10)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 승윤이
  • 공지사항

  • 인기 글

  • 태그

    github
    알고리즘
    algorithm
    깃허브
    AWS
    GIT
    programmers
    코딩테스트
    자바
    안드로이드 스튜디오
    Android
    코틀린
    백준
    coding
    android studio
    안드로이드
    프로그래머스
    Java
    baekjoon
    Kotlin
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
HWBB
Jenkins Container 접속 http 경로 변경하기
상단으로

티스토리툴바