Today
-
Yesterday
-
Total
-
  • 1. ubuntu 서버에 docker container 형태로 jenkins 설치하기
    Jenkins 2023. 11. 29. 19:18

    참고 : https://blog.opendocs.co.kr/?p=704



    설치 환경

    • server hosing - ubuntu 22.04
    • docker 24.0.7

    domain



    1. Ubuntu Jenkins 관리 계정 생성

    계정 아이디 : jenkins
    group : sudo, docker

    ## 1. 계정 생성
    adduser jenkins
    
    ## 2. 그룹에 계정 추가
    # docker 그룹과 sudo 그룹에 추가
    # group을 여러개 지정할 경우 공백 없이 콤마를 붙여 작성
    usermod -aG sudo,docker jenkins 
    
    ## 3. 생성한 계정 정보 확인
    id jenkins
    

    1-1.png
    1-2.png
    1-3.png



    생성한 아이디로 다시 로그인

    login
    

    1-4.png



    docker 버전 확인

    docker -v
    

    1-5.png


    2. Jenkins 설치 (docker container)

    container 설치 및 실행

    docker run \
    -d --privileged=true --name jenkins \
    -p 8099:8080 -p 50000:50000 \
    -v /var/run/docker.sock:/var/run/docker.sock \
    --user root \
    jenkins/jenkins:latest 
    

    • -v /var/run/docker.sock:/var/run/docker.sock
      볼륨 마운트를 통해
      host 위치의 docker.socket 파일을 컨테이너 안으로 복사한다.

    • --user root
      root 계정으로 jenkins가 실행되도록 설정



    1-6.png


    jenkins container 상태 확인

    docker ps -a
    

    1-7.png



    3. jenkins 설정

    unlock jenkins

    http://127.0.0.1:8099 로 접속하면 아래 사이트가 나타난다.

    1-8.png


    빨간색으로 출력 된 경로의 파일을 열어보면 비밀번호가 적혀있고,
    혹은 docker container로 설치했기 때문에 docker log를 조회해보면 나타난다.


    비밀번호를 알아낸 후 입력해줘야 한다.


    방법 1. docker logs 조회

    docker logs jenkins
    

    1-9-1.png1-9-2.png



    방법 2. file 열어서 비밀번호 보기

    docker exec -it jenkins bash
    
    cat /var/jenkins_home/secrets/initialAdminPassword
    

    1-10.png



    Plugin 설치

    install suggested plugins를 클릭하면 jenkins 커뮤니티에서 추천하는 plugins들을 설치하게 되고, select plugins to install을 클릭하면 원하는 플러그인만 설치하게 된다.

    1-11.png


    나는 install suggested plugins를 선택하였다.
    install suggested plugins를 선택하면 자동으로 설치된 후 다음 화면으로 넘어가진다.


    실무에서는 이러한 작업을 하지 않아도 되게 끔
    jenkins 컨테이너 생성시 필요한 플러그인을 포함 시켜서 생성하는 방법을 일반적으로 사용한다고 한다.



    Admin User 생성

    나타난 페이지의 입력 폼을 채워주고 save and continue를 눌러준다.

    1-12.png


    jenkins 접속 url 확인

    나타나는 화면에서 url정보를 확인한 후 save and finish 버튼을 눌러준다.




    4. jenkins container에 docker 설치

    이런 형태를 docker in docker 라고 부른다고 한다!


    os 확인

    cat /etc/os-release
    

    1-13.png
    debian 12 bookworm 임을 확인했다.



    docker 설치

    host 서버의 docker socket을 사용할 것이기 때문에,
    docker 전체를 설치하지 않고 docker 명령어만 사용할 수 있도록 진행한다.

    apt-get update && \
        apt-get -y install apt-transport-https \
          ca-certificates \
          curl \
          gnupg2 \
          jq \
          software-properties-common && \
        curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg > /tmp/dkey; apt-key add /tmp/dkey && \
        add-apt-repository \
          "deb [arch=amd64] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \
          $(lsb_release -cs) \
          stable" && \
       apt-get update && \
       apt-get -y install docker-ce
    


    docker 실행 컨테이너 확인

    host server에서 docker socket을 가져와 실행하는 것이기 때문에
    host server에서 실행중인 컨테이너 목록이 보여야 한다.

    docker ps
    

    1-14.png


Designed by Tistory / Custom by 얼거스