CentOS vm 환경에서 진행하였습니다.
CI/ CD 구축을 위한 Jenkins 설치입니다.
- Docker 설치
- 레포지토리를 사용한 Docker 설치
yum -y update
yum install -y yum-utils
// docker repository를 시스템에 추가
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --enable docker-ce-nightly
- 도커 관련 패키지를 설치
// 도커를 설치함
yum -y install docker-ce docker-ce-cli containerd.io
// 도커를 실행함
systemctl start docker
systemctl enable docker
// 도커상태를 체크함
systemctl status docker
- Jenkins 설치
- Jenkins 이미지 다운로드
// docker 이미지 검색
docker search Jenkins
// 검색된 이미지를 이용하여 다운로드 함
docker pull jenkins/jenkins:lts
// 도커 이미지 확인
docker image ls
- Jenkins 실행
- Jenkins 이미지를 컨테이너로 실행
docker run -d -p 8181:8080 --restart=always --name my_jenkins -u root jenkins/jenkins:lts
// 위 명령어 옵션설명
-d detached mode 흔히 말하는 백그라운드 모드
-p 호스트와 컨테이너의 포트를 연결 (포워딩)
–name 컨테이너 이름 설정
-u 실행할 사용자 지정
- Jenkins 접속하기
설치한 서버의 IP와 설정한 포트번호로 접속이 되는지 확인합니다.
Jenkins 컨테이너를 실행할 때 8181포트로 실행해주었기 때문에 8181 포트로 접속합니다 .
접속이 제대로 된다면 초기 관리 암호를 물어보는 페이지가 보입니다.
- docker의 jenkins bash에 접속하여 암호 확인
Jenkins에서 알려준 경로로 ( /var/jenkins_home/secrets/initialAdminPassword ) 가서 초기암호를 확인할 수 있습니다.
docker exec -it my_jenkins /bin/bash
먼저 패키지 업데이트와 vim 설치를 해줍니다.
설치 중간에 Do you want to continue? 가 나온다면 y 를 눌러 설치를 계속합니다.
apt-get update
apt-get install vim
경로에 접속하여 암호를 복사합니다.
vi /var/jenkins_home/secrets/initialAdminPassword
vi 에서 복사는 y / 붙여넣기는 p 입니다. (현재 커서 기준)
vi 내 에서 복사, 붙여넣기는 자유롭지만 외부에 붙여넣기 하는 것은 vim 의 clipboard 기능을 써야 합니다.
yum install vim-X11 명령어를 통해 clipboard를 사용할 수 있다던데 이 부분은 생략하겠습니다.
- 초기 설정 후 관리자 (root) 설정
plugin 설치가 완료되면 다음과 같이 계정을 생성하는 페이지가 나옵니다.
계정명은 무엇으로 해도 상관 없습니다만 저는 root 로 설정하겠습니다.
Instance Configuration 에서 url 을 설정해주는 이유는 호스트 vm 과 DNS 이름이 다를 수 있기 때문입니다.
예를 들어, 사용자들이 https://company.com/jenkins/에서 Jenkins를 사용하도록 하고 싶을 것입니다.
포트 8080에서 실행 중인 Jenkins는 프런트엔드에 대해 알 수 없습니다.
Jenkins가 자신에게 URL을 얻는 가장 신뢰할 수 있는 방법은 관리자가 Jenkins 구성에서 이를 설정하는 것입니다.
하지만 지금 실습에서는 해당 없기 때문에 변경 없이 진행해줍니다.
이렇게 도커 기반 Jenkins 설치를 완료하였습니다 :)