들어가기 전

Jenkins 초기 설정에 들어가기 앞서 CI/CD에 대해 먼저 알아보겠습니다. 그리고 Docker 설치에 대한 설명은 생략하겠습니다. 필자가 작업하는 환경은 mac os 환경이라 mac os 기준으로 설명해 나가겠습니다.

CI/CD란

CI(Continuous Integration) : CI는 지속적인 통합을 뜻합니다. 지속적인 통합은 개발을 진행하면서도 품질을 관리할 수 있도록 하는 것으로 여러 명이 하나의 코드에 대해 수정을 진행해도 지속적으로 통합하면서 관리할 수 있는 것을 말합니다. CI는 빌드 -> 테스트 -> 병합(merge)을 자동화해주는 것입니다. 자동화를 해주면 개발자 입장에서는 편할 수밖에 없습니다. 예를 들어보면 로컬에서 작업을 하고 빌드 -> 테스트 -> 병합(merge)을 하다가 문제가 발생을 하면 수정을 하고 빌드 -> 테스트 -> 병합(merge)을 반복적으로 수행을 하게 되면서 시간이 많이 소요됩니다. 그런데 CI를 사용하면 앞에 말한 상황을 자동화가 되어 시간을 단축시킬 수 있습니다.

 

CD(Continuous Delivery, Continuous Deployment) : CD는 지속적 배포(Continuous Deployment)를 하여 제공하는 소프트웨어가 신뢰 가능한 상태에서 배포가 될 수 있도록 관리하는 개념입니다. 지속적 제공(Continuous Delivery)으로 사용되기도 합니다.
지속적 제공(Continuous Delivery)은 CI 과정이 정상적으로 처리가 되었으면 github 같은 저장소에 업로드하는 것을 의미합니다.
지속적 배포(Continuous Deployment)는 성공적으로 병합된 내용을 저장소뿐만 아니라 사용자가 사용할 수 있는 환경까지 릴리즈 하는 것을 의미합니다. 

 

CI/CD를 제공해주는 툴에는 Jenkins이 있습니다.

 

 

 

Docker에 젠킨스 설치하는 법

 

1. Docker Desktop을 켭니다.

2. 아래 명령어와 같이 docker에서 jenkins image를 pull 받습니다.

 

docker pull jenkins/jenkins

 

 

3. 아래 명령어와 같이 입력을 하고 image를 제대로 pull 받아왔는지 확인을 합니다. 사진과 같이 나오면 잘 받아왔다고 보시면 됩니다.

 

docker images

 

 

 

Docker에 Jenkins 설치를 완료했습니다. 이제 pull 받은 image를 실행시키는 과정에 대해 알아보겠습니다.

 

 

1.  명령어를 입력하여 컨테이너로 Jenkins가 있는지 확인합니다.

 

docker ps -a

 

 

2. 컨테이너를 실행시켜 Jenkins 초기 비밀번호를 발급받습니다.

 

docker run -d -p 8000:8080 -p 50000:50000 --name jenkins-server --restart=on-failure jenkins/jenkins:latest

 

  • -d : Detached 모드라고 하고 백그라운드에서 컨테이너를 실행시킵니다.
  • 8000:8080 : 8000은 사용자가 사용할 포트입니다. 8080은 젠킨스 컨테이너와 연결할 포트입니다.
  • --name jenkins-server : 컨테이너의 이름을 jenkins-server로 설정하는 것입니다.
  • --restart=on-failure : 재시작되는 조건은 실패했을 때라는 것을 의미합니다.
  • jenkins/jenkins:latest : jenkins/jenkins는 처음에 pull 받은 이미지이고 latest는 버전입니다.

 

3. 컨테이너가 실행되었는지 확인하기 위해 아래와 같은 명령어를 입력하여 사진처럼 나오면 컨테이너는 실행 중인 것을 의미합니다.

 

docker ps

 

 

4. 브라우저에 http://ip주소:8000 (8000은 필자가 설정한 포트번호)를 하면 아래와 같은 사진에 초기에 발급받은 비밀번호를 입력하는 화면이 나옵니다. 비밀번호 입력하는 곳에 초기에 발급받은 비밀번호를 입력하고 Continue를 클릭합니다.

 

 

4-1 만약 발급받은 초기 비밀번호를 입력했는데도 아래와 같이 에러가 발생하면 Jenkins에 접속하여 /var/jenkins_home/secrets/initialAdminPassword 경로로 가서 비밀번호를 확인합니다.

 

 

4-2 Jenkins에 접속하는 법

 

docker exec -it jenkins-server /bin/bash

 

4-3 비밀번호 있는 경로로 이동

 

cd /var/jenkins_home/secrets/ // 경로로 이동후

ls // ls하여 initialAdminPassword 있는지 확인

cat initialAdminPassword

 

● 위와 같이 입력하여 초기 비밀번호를 확인하고 다시 비밀번호를 입력합니다.

 

 

● 비밀번호 입력하면 사진과 같은 화면이 나옵니다. 필자 같은 경우는 Install Suggested plugins를 클릭하여 모든 플러그인을 설치했습니다.

 

설치가 끝나면 계정을 설정하는 화면에서 계정을 설정하고 저장하고 넘어가서 Jenkins URL에 접속 가능한 URL을 입력합니다.

 

 

 

● URL을 입력하고 아래 사진과 같은 화면이 뜨면 초기 설정이 끝이 납니다.

 

'DevOps > Jenkins' 카테고리의 다른 글

[Jenkins] EC2 Ubuntu 환경에서 GitHub 연동 및 CI 적용  (1) 2023.10.01