오늘의 나보다 성장한 내일의 나를 위해….
WSL Ubuntu 22.04.2LTS 에서 Jenkins 실행하는 방법
인프런에서 Jenkin를 이용한 CI/CD Pipeline 구축 강의를 시작했다.
이 강의는 MAC 위주로 진행이 됐고 나는 MAC이 없어서 Windows로 따라해보려고 하다가 WSL를 사용해서 강의를 듣는 것으로 결정을 했다.
해당 강의는 Docker를 사용해 Jenkins 컨테이너를 실행함으로 일단 Ubuntu를 사용해서 docker desktop를 사용하는 방법은 아래 링크를 참고한다.
docker desktop 설치하기(WSL2 Ubuntu 활용)
다 깔고 나서 Ubuntu terminal에서 docker version이 제대로 나오는지 확인하자
docker --version
Jenkins 도커 이미지를 배포하기 위해서 아래 명령어를 입력한다.
docker run -d -p 8088:8080 -p 50000:50000 --name jenkins-server\--restart=on-failure \jenkins/jenkins:lts-jdk11
- run : 도커를 실행할 때 사용하는 명령어
- -p : 컨테이너 내부에 있는 포트를 컨테이너 외부에서 어떻게 접속해서 사용할지 설정하는 옵션
- -p 8080:9090는 컨테이너 바깥 쪽에서 8080 포트를 사용한다면 컨테이너 내부로는 9090 포트로 접속이 된다는 것이다.
- –restart=on-failure : fail이 될 경우 restart 한다
- jenkins/jenkins : 앞 jenkins는 계정 이름 뒤 jenkins는 리포지토리 이름
- : 뒤는 우리가 사용하려고 하는 tag의 이름이다.
- -d : 데몬으로 실행(백그라운드 실행)
컨테이너가 제대로 작동이 되었다면 docker ps라는 명령어로 확인이 가능하다.
자 이제 실행한 컨테이너에 크롬을 통해 접근해 보자.
우리는 외부에서 8088로 접근한다고 이전에 -p 옵션을 통해 설정했으므로
http://localhost:8088/ 로 접근한다
사진에서 Adminstrator Password를 입력하라고 나오는데 사실 강의에서는 해당 비밀번호가 콘솔 로그에 찍힌다고 되어 있지만 WSL Ubuntu를 사용하게 되면 콘솔 로그에 컨테이너를 실행할 때 딱히 찍히는 로그가 없다.
그리고 해당 사진에서는 /var/jenkins_home/secrets/initialAdminPassword 로 접속하면 비밀번호가 나와있다고 되어 있지만 Ubuntu 콘솔에 /var 디렉토리에 가게되면 아래 사진과 같이 jenkins_home 폴더를 찾아볼 수가 없다.
강사님은 Mac 환경에서 강의를 진행함으로 이러한 부분을 알려주지 않는다. 그래서 따로 알아본 결과 컨테이너 내부로 진입을 하면 찾을 수 있었다.
컨테이너 내부로 진입하기 위해서는 컨테이너 ID를 알아야 하는데 이는 docker ps로 확인한다.
사진에서 보다시피 컨테이너 ID는 e3eeb021b795 이다.
이를 복사하고 아래와 같이 입력한다.
docker exec -it e3eeb021b795 bash
이렇게 하면 컨테이너 안으로 진입할 수 있는데 여기서 우리가 찾고자 하는 것을 찾을 수 있다.
/var/jenkins_home/secrets
여기서 비밀번호를 확인한다.
위 비밀번호를 복사해서 웹에 입력칸에 넣는다
넣고 나면 위와 같이 화면이 전환되는데 이는
모든 플러그인을 설치할 것인지 설치할 플러그인을 고를 것인지 고르는데 여기서는 모든 플러그인을 다 설치하기 위해서 왼쪽을 선택한다.
플러그인을 다 다운받고 나면 아래와 같이 계정을 만들 수 있는 화면이 나온다.
다 만들고 난 후
Save and Finish.를 누르면 이렇게 완성된다.
다시 localhost:8088 로 접속하게 되면 아래와 같이 나온다.