환경
ubuntu 20.04
docker 20.10.11
jenkins image lts
같이 읽어보면 도움될 글
Jenkins란? Jenkins를 사용하는 이유 및 Declarative pipeline 문법
Docker Jenkins 이미지 설치
도커 허브 젠킨스 오피셜 이미지 는 더이상 사용되지 않고 lts버전을 사용해라고 한다.
sudo docker pull jenkins:lts
Docker Jenkins Volume 생성
Jenkins의 구성 파일 및 설정에 필요한 파일들을 host와 공유할 볼륨을 생성해준다.
-> 구성 및 설정을 Jenkins이미지가 종료 및 재실행되어도 유지하기 위함
sudo docker volume create jenkins-volume
Docker Jenkins Image 실행
sudo docker run -d \
-p 8080:8080 \
-p 50000:50000 \
-v jenkins-volume:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v /var/lib/docker/containers:/var/lib/docker/containers:ro \
--name jenkins \
--network my-network \
jenkins/jenkins:lts
- -p 8080: jenkins의 기본 포트, 콜솔 접속 시에 사용된다.
- -p 50000: jenkins 에이전트를 두 개 이상 사용할 경우 해당 포트를 이용해 통신할때 사용.
- -v jenkins-volume: jenkins의 구성 및 설정 파일을 공유할 볼륨 지정
sudo docker ps
위 docker 명령어를 통해 jenkins 실행 상태를 확인
Jenkins 접속 및 기본 설정
8080포트로 접속해보면 다음과 같이 jenkins용 UI가 나온다.
비밀번호를 입력해야한다.
비밀번호는 /var/jenkins_home/secrets/initialAdminPassword 파일에 적혀있는데
공유한 docker 볼륨에서 찾아보거나 또는
sudo docker logs jenkins
명령어로 jenkins 로그를 출력해 보면
다음과 같이 가운데 비밀번호가 출력된다. (9a0~~)
비밀번호를 입력하고 continue를 누르면 jenkins 사용자 정의 화면이 나온다.
위 화면에서 추천 플러그인 설치 Install suggested plugins를 선택하면
lts 외 버전 사용 시 다음과 같은 에러 발생
다음 에러가 발생할 수 있는데(2.60.3 버전 기준) 원인은 프록시 문제라고한다.
lts로 실행 시 추천 plugin들이 설치되고, 시간은 약 5분 정도 소요되는듯하다.
plugin 설치가 다 되면 Admin 계정을 생성하는 페이지가 나오고 입력을 하지 않고 skip하는 경우
기본 Amin 계정으로 Id - admin / password - initialAdminPassword파일에 적힌 암호 로 설정된다.
설치 및 설정 완료