2. 젠킨스 설치
1. 젠킨스
젠킨스는 CI/CD에 활용되는 도구로 JAVA언어로 만들어진 웹 어플리케이션입니다. 젠킨스는 별도의 설치 없이 웹 브라우저를 통해 접속하고 코드 형태로 CI/CD파이프라인을 관리할 수 있습니다.
젠킨스는 오랜 기간 동안 다양한 프로젝트에서 사용되며 안정성과 신뢰성을 검증받은 역사와 전통이 있는 도구이며, 다양한 사용을 위한 다양한 참고자료들과 커뮤니티가 존재하고, 오픈소스이기 때문에 사용자가 직접 소스 코드를 수정하고, 새로운 플러그인을 개발해 나가며 기능을 확장해 나갔습니다.
젠킨스를 활용하면 코드 통합(CI), 빌드, 테스트 , 배포(CD) 과정을 자동화하여 진행할 수 있으며 이러한 기능들을 플러그인 형태로 설치할 수 있기 때문에 높은 확장성과 이식성을 가지고 있습니다.
2. 젠킨스 설치
젠킨스에서는 사용하는 운영체제(도커, 윈도우, 맥 등)에 맞춰서 젠킨스를 설치할 수 있는 방법들을 안내하고 있습니다. 따라서 현재 유저의 플랫폼에 맞춰 원하는 버전의 젠킨스를 설치하시기만 하면 됩니다. 이 중 Docker를 사용하면 운영체제(윈도우, 맥, 리눅스 등)에 관계없이 동일한젠킨스 환경을 구축할 수 있습니다.


도커를 이용하여 컨테이너에 젠킨스를 설치(배포)하기 위한 이미지를 다운로드 받는 명령어 입니다. 클릭해서 복사해오도록 하겠습니다.

다운로드가 완료되었으면 컨테이너에 젠킨스 이미지를 활용하여 젠킨스를 배포해주도록 하겠습니다. 배포방법은 도커허브 하단의 링크를 통해 공식문서에서 확인할 수 있습니다.
공식문서에서 조금만 아래로 내리면 도커이미지를 통해 젠킨스를 설치할 수 있는 다양한 방법들을 제시하고 있습니다. 이중 3번째 옵션을 복사해보도록 하겠습니다.

docker run -d -v jenkins_home:/var/jenkins_home -p 8080:8080 -p 50000:50000 --restart=on-failure jenkins/jenkins:lts-jdk17
위 설정에 추가로 docker 컨테이너 내부에서 docker를 사용할 수 있게 해주는 docker.sock옵션을 추가해줍니다. 이후 윈도우에서 도커데스크탑으로 접속합니다. 윈도우에서 도커 컨테이너를 활용한 소켓공유시에는 wsl설치가 필요합니다.
wsl --install
계정 비밀번호는 편의를 위해 user01로 설정
설치 후 Docker-Desktop Settings - Resources - WSL intergration - Ubuntu활성화
wsl ubuntu에서 docker명령어를 실행하기 위한 옵션

wsl -d ubuntu
docker run -d --name jenkins -u root -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker --restart=on-failure jenkins/jenkins:lts-jdk17
명령어에 대한 설명
run : 컨테이너를 생성하고 실행하는 명령어입니다.
-d : 컨테이너를 현재 콘솔과 분리(detach)시켜서 백그라운드, 데몬형태로 실행하는 옵션입니다.
-v 로컬디렉토리:도커디렉토리 : 로컬디렉토리에 컨테이너의 디렉토리의 데이터를 보관하겠다는 명령어입니다. 도커는 프로세스이기때문에 프로세스 내부에 저장된 데이터는 원래라면 프로세스 종료시 함께 소면되나, 이를 유지하게끔 해주는 속성입니다.
-p 호스트port:도커port : 현재 호스트의 포트번호와 도커 컨테이너의 포트번호를 바인딩 하는 명령어입니다. 50000포트는 젠킨스의 작업을 도와주는 보조서버의 포트번호를 할당하는 구문입니다.
--restart=on-failure : 컨테이너가 실행실패할 경우 재시작 하는 설정입니다.
jenkins/jenkins:lts-jdk17 : 설치할 이미지의 경로입니다. 로컬 이미지목록에서 찾지 못하면 도커허브에서 찾아서 이미지부터 설치합니다.
컨테이너 현황

젠킨스 서버가 컨테이너에 배포 완료되었다면 docker ps 명령어를 통해 실행중인 컨테이너 목록을 확인해보도록 하겠습니다.

이제 명령어를 통해 컨테이너의 고유 id, 실행한 이미지 파일의 정보, 생성시간과 ,현재상태, 접속 포트번호, 컨테이너의 이름등을 확인할 수 있습니다.
status의 상태가 UP으로 표시되고 있다면 정상적으로 실행 되고 있음을 의미하므로 컨테이버 배포가 잘 실행되었는지 확인하러 가보도록 하겠습니다.

접속시 다음과 같이 관리자 비밀번호를 입력하라는 창이 나옵니다. 해당 비밀번호는 젠킨스 서버 시작시 랜덤하게 설정되며 서버의 콘솔창에 출력해줍니다. 따라서 저희는 가동중인 컨테이너 내부로 접속하여 log파일에 접속 후 비밀번호를 복사해와야 합니다.
실행중인 컨테이너의 로그를 확인하는 방법은 다음과 같습니다.
docker logs 도커ID

다음 비밀번호를 복사하여 관리자 비밀번호에 추가하시면 접속이 가능해집니다.
비밀번호 입력 후 젠킨스에서 사용할 플러그인들을 설치하는 방법을 선택하는 창이 나오게 되는데 이때 첫번째 박스를 클릭하여 유용한 모든 플러그인들을 다운로드 받도록 하겠습니다.

설치 완료시 초기 관리자 계정을 생성할 수 있습니다.

계정 생성후 젠킨스 접속 URL을 지정하면 끝입니다. 이부분은 변경하지 않고 그대로 사용하도록 하겠습니다.

저장후 실행하시면 아래와 같이 젠킨스에 접속할 수 있습니다.

Last updated
