Docker에 Jenkins 설치

이혜령·2023년 9월 6일
0

현장실습

목록 보기
8/8
post-thumbnail

설치하기 전에, 설치하는 방법을 찾아보면서 도커에 젠킨스를 설치하는 것이 어떤 면에서 좋은지 고찰하는 글을 보았다. 글 내용은 그냥 한 마디로 정리하자면

젠킨스 플러그인, 구성 설정 등을 매번 설치하는게 귀찮다면 도커에 설치해라, 아니면 그냥 매번 수동으로 해라.

였다. 근데 나는 실습해야 하니까 그냥 설치할 거다.

저번 글을 보면 알겠지만 나는 이미 도커를 깔았으니 젠킨스 설치로 바로 들어가겠다.

1. Jenkins Image 내려 받기

아래의 명령어를 터미널에 입력한다. 작성자는 window powershell을 쓰고 있다.

docker pull jenkins/jenkins:lts


시작부터 순탄치 않다. 에러가 난다.

 
그냥 혹시나 해서 관리자 권한으로 실행시켜서 다시 입력했더니 된다. 뭐지? 이유는 모르겠다...

2. Jenkins Container 설치 및 실행

이미지 내려받았으니 컨테이너에 올릴 차례다.

docker run -d -p 8085:8080 -v /jenkins:/var/jenkins_home -u root jenkins/jenkins:lts


컨테이너에 올리기까지 성공했다.

위에 명령문을 간단히 정리해보자.

  • -d: detached mode, 흔히 말하는 백그라운드 모드
  • -p: 호스트와 컨테이너의 포트를 연결(포워딩)
  • -v: 호스트와 컨테이너의 디렉토리를 연결(마운트)
  • -u: 실행할 사용자 지정

마지막에 jenkins/jenkins:lts는 실행할 이미지의 레포지토리 이름이다.

3. Jenkins 브라우저로 접속

위에서 포트 번호를 8085로 줬으니까 localhost:8085로 들어간다.

위 화면에 input창을 보면 Administrator password라고 써있다. 비밀번호 입력창으로, 초기 비밀번호는 컨테이너에 저장되어 있다고 한다.

그런데 구글링 해서 나온 글 참고해서 하던 도중, 또 오류가 떠서 대체 뭐가 문젠가 했는데 정말 별 거 아니었다. 정말 별 거 아니었으나 혹시나 해서 기록한다.

docker exec -it wizardly_goldwasser /bin/bash

먼저 저 명령어를 입력해줘서 실행중인 젠킨스 컨테이너에 접근해야 한다. 명령어를 부분부분 뜯어서 보자.

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

괄호친 부분은 자신의 경우에 맞게 넣으면 된다.

나는 참고해서 한답시고 명령어 그대로 긁어가는 바람에 컨테이너 부분에 남의 컨테이너 이름을 넣었다. 그러니까 안 되지

잘 돌아가던 내 컨테이너 왜 안 돌아간다고 뜨는지만 고민했지만 중요한 건 그 부분이 아니었다.

여튼 저렇게 치면 명령어를 입력하는 부분이 아래와 같이 변한다.

이제 여기서

cat /var/jenkins_home/secrets/initialAdminPassword

입력해주면 초기 비밀번호를 확인할 수 있다.

4. Jenkins 플러그인 설치


초기 비밀번호를 입력해주고 다음으로 넘어가면 위와 같은 화면이 뜬다.
이제 플러그인을 설치해야 하는데 나는 기본 권장 플러그인을 설치할 것이다.


설치가 잘 되고 있는 모습.

5. Jenkins 초기 계정 생성


그냥 알아서 적당히 입력해주고 넘기면 이렇게 설치가 완료되며 젠킨스 메인 페이지로 넘어가게 된다.

번외. Jenkins 삭제하는 법

사실 처음에 Jenkins 설정 잘못해서 지웠다 다시 했다. 혹시나 해서 이것도 적어둔다.

  1. 현재 실행중인 컨테이너 확인하기
docker ps
  1. Jenkins 컨테이너 종료하기
docker stop [CONTAINER ID]
  1. Jenkins 컨테이너 삭제
docker rm [CONTAINER ID]

이 방법으로 깔끔하게 지우고 다시 만들어서 실행했다.

 
참고한 글
https://narup.tistory.com/202
http://jmlim.github.io/docker/2019/02/25/docker-jenkins-setup/

profile
배운 거 대충 정리하는 블로그

0개의 댓글