jenkins

Jenkins | Jenkins 설치

no-easy-ray 2021. 12. 8. 00:08

Jenkins를 처음 시작하는 부분에 있어서 가장 쉽게 시작할 수 있는 방법은 Docker Image를 이용하는 것이라고 생각합니다.

Docker Hub의 Image를 통해 쉽게 설치하여 테스트를 진행해볼 수 있습니다.

(위 과정은 PC에 Docker가 설치되어 있다고 가정하고 진행합니다.)

 

Jenkins

먼저 우리는 만들어진 Docker Image를 사용할 것이기 때문에 다음과 같이 docker-compose.yaml파일을 작성합니다.

# docker-compose.yaml
version: "3"
services: 
  master: 
    container_name: master 
    image: jenkins/jenkins:lts 
    ports: 
      - 9000:8080 
    volumes: 
      - ./master_jenkins_home:/var/jenkins_home

여기서 중요하게 봐야 할 부분은 imagevolumes부분입니다.

 

image의 경우는 Docker Hub에서 제공하는 Jenkins Image의 lts(최신 버전)을 사용하도록 합니다.

 

volumes의 경우 jenkins의 설정 파일들이 있는 /var/jenkins_home경로를 현재 디렉터리 경로에 마운트 합니다.

  • 백업의 용도도 될 수 있고, Jenkins안에 파일들이 어떤 식으로 관리되는지 확인해 볼 수 있습니다.

 

위의 파일을 작성하였다면 docker-compose.yaml파일이 존재하는 위치에서 다음 명령을 실행하도록 합니다.

docker-compose up -d

 

위의 명령이 실행되고 나면 Jenkins Image를 받아오고 실행하는 내용들이 보이게 되고 조금 기다리면 실행이 된 것을 확인할 수 있습니다.

 

Dokcer Desktop의 경우에는 Dokcer Desktop을 열어 직접 확인해 볼 수 있고 그렇지 않은 경우에는 다음과 같이 docker명령어를 통해 확인할 수 있습니다.

docker ps

 

Jenkins가 컨테이너로 실행이 되었다면 http://localhost:9000/에 접속해보도록 합니다.

우리는 위에서 Jenkins Port를 9000번으로 포트 포워딩하여 실행시켰기 때문에 해당 경로로 들어갔을 경우 Jenkins가 실행되고 있는 것을 확인할 수 있습니다.

 

처음 화면에서는 Jenkins의 Administartor password를 입력하라는 것을 확인할 수 있는데

빨간색의 경로를 Jenkins가 실행 중인 컨테이너 안에 접속하여 확인해보시면 Password를 확인하실 수 있습니다.

 

다음 명령어를 통해 Jenkins가 실행 중인 컨테이너에 접속할 수 있습니다.

docker exec -it JENKINS_CONTAINER_NAME /bin/bash

 

이후 빨간 줄의 경로를 조회하여 Password를 획득합니다.

 

 

Password를 입력하고 나면 위와 같은 화면이 보이실 텐데 우리는 처음 시작하니 jenkins가 제안해주는 plugin들을 전부 설치해보도록 합니다.

 

설치를 누르게 되면 다음과 같이 설치 페이지로 이동하고, 설치가 완료되면 다음 화면으로 이동하게 됩니다.

 

다음 화면은 Jenkins User에 대한 설정을 하는 화면이 나오는데 (캡처하지 못했습니다ㅠㅠ)

admin유저에 대한 설정으로 원하시는 이름과 비밀번호를 지정하시면 됩니다.

 

마지막으로 Jenkins가 실행될 URL을 입력하는 창이 나오는데 우리는 기존처럼  http://localhost:9000/를 유지하도록 합니다.

 

파이프라인

설치 후 젠킨스 메인 화면

Jenkins를 실행하고 간단한 설정을 마쳤으니 이번에는 간단한 파이프라인을 만들고 실행해보도록 하겠습니다.

새로운 Item 혹은 Create a job버튼을 통해 새로운 파이프라인 Job을 만들 수 있습니다.

 

간단한 파이프라인은 스크립트 형태로 작성하여 테스트할 것 이기 때문에 Pipeline을 선택해 주도록 합니다.

 

Pipeline을 선택하고 나면 다음 페이지로 넘어가게 되고 밑으로 쭉~ 내려보면 다음과 같은 화면을 보실 수 있습니다.

 

우측에 Jenkins에서 Sample로 제공되는 스크립트를 이용하여 테스트를 진행해보도록 합니다.

Hello World를 선택 후 스크립트가 생성된 것을 확인하면 저장을 하도록 합니다.

 

저장을 하게 되면 새로운 Job이 생성된 것을 확인할 수 있고 좌측에 Build Now를 통해 Job을 실행하여 위에서 작성한 파이프라인 스크립트를 실행할 수 있습니다.

 

파이프라인이 실행되고 나면 좌측 하단처럼 몇 번째 실행이 되었는지 실행된 파이프라인을 확인할 수 있습니다.

실행된 결과 Log를 보기 위해 클릭하도록 합니다.

 

클릭을 하고 나서 좌측에 Console Output을 눌러 파이프라인 스크립트가 실행된 과정을 볼 수 있습니다.

 

테스트가 끝난 후 컨테이너가 실행되고 있는 게 싫으신 분들은 다음 명령을 통해 삭제하실 수 있습니다.

docker-compose down

 

컨테이너가 삭제되었다고 해서 지금까지 힘들게 설정한 게 날아갔다고 생각하실 수 있겠지만!

 

우리는 위에서 volumes 마운트를 해두었기 때문에 다시 실행하시게 되면 이전에 설정했던게 그대로 남아있는 걸 확인하 실 수 있습니다.

(이때에는 우리가 처음에 설정해준 User의 ID와 Password를 입력해 주어야 합니다.)

 

 

마무리


여기까지 정말 간단하게 Docker Image를 이용하여 Jenkins를 설치하고 간단한 파이프라인을 실행해 보았습니다.

다음부터는 위에서 설치한 내용을 점점 더 확장하여 Jenkins의 여러 기능들을 사용해보는 예제를 정리해 보도록 하겠습니다.

 

감사합니다.