데이터를 걷는 선비

[CI/CD] Jenkins(젠킨스) 개념 및 설치 방법!! 본문

Machine Learning/MLOps

[CI/CD] Jenkins(젠킨스) 개념 및 설치 방법!!

세미제로 2023. 7. 29. 20:53

[CI / CD 란 무엇인가?]

1. CI

  • CI는 지속적 통합(Continuous Integration)을 말한다 
  • 여기서 통합은 보통 소스 코드의 통합을 의미하며,
  • 여러 명의 많은 개발자들이 코드 베이스를 계속해서 통합하는 것이다.
  • 즉, 개발을 진행하면서도 품질을 관리할 수 있도록 하는 것으로 여러 명이 하나의 코드에 대해서 수정을 진행해도 지속적으로 통합하면서 관리할 수 있음을 의미한다.

2. CD

  • CD는 지속적 배달(Continuous Delivery)  지속적 배포(Continuous Deployment)을 말한다.
  • 지속적 배달(Continuous Delivery)는은 CI를 통해서 새로운 소스코드의 빌드와 테스트 병합까지 성공적으로 진행된 코드, 빌드와 테스트를 거쳐 github과 같은 저장소에 업로드하는 것을 의미한다.
  • 지속적 배포(Countinuous Deployment)는 이렇게 성공적으로 병합된 내역을 저장소뿐만 아니라 사용자가 사용할 수 있는 배포환경까지 릴리즈하는 것을 의미한다.


[Jenkins?]

Jenkins를 사용하기 전(左)과 후(右)

Jenkins CI/CD 툴로 개발자들이 기존에 코드를 개발하고 이를 Github에 올리고, 변화를 확인해 서비스에 수동으로 반영한 프로세스를 개선/자동화해

코드 commit 부터 애플리케이션 서비스 반영을 자동화할 수 있도록 도와주는 툴이다.

Jenkins 장점

  • 소스코드 일관성 유지
  • 자동 빌드
  • 자동 테스
  • 일일 체크아웃 빌드
  • 컴파일 오류 검출
  • 프로파일링
  • https://www.jenkins.io/
 

Jenkins

Easy installation Jenkins is a self-contained Java-based program, ready to run out-of-the-box, with packages for Windows, Linux, macOS and other Unix-like operating systems.

www.jenkins.io


[Prerequisite] - Jenkins 설치 및 실습을 하기 위한 조건 및 가정

- WSL2, Docker는 설치되어 있다고 가정 => Docker 설치는 공식문서 참조!! (공식문서가 제일 깔끔한 것 같습니다.)

- WSL은 amd 기반의 cpu를 기준으로 함(arm은 꼭 공식 문서 및 별도 자료 참조!!)

https://docs.docker.com/engine/install/ubuntu/

 

Install Docker Engine on Ubuntu

 

docs.docker.com


[Jenkins 설치하기]

1. 서버에 직접 설치

  • JDK 설치
sudo apt install openjdk-11-jre-headless
  • Key 다운로드
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
echo deb http://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list
  • Jenkins 설치하기
# sudo apt-get update
sudo apt-get install jenkins
  • 작동여부 확인
sudo systemctl status jenkins
# 재시작 : sudo service jenkins restart

  • 초기 패스워드 확인
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
  • localhost 접속(http://localhost:8080)

  • 플러그인 설치

  • 계정 만들기
    • admin_user / 1234

이제 다음 게시물에서는 직접 실습을 해보며 Jenkins 사용법을 익혀보자!!

https://semizero.tistory.com/40

 

[CI/CD] Jenkins(젠킨스) 개념 및 실습

[Prerequisite] - Jenkins 설치 및 실습을 하기 위한 조건 및 가정 - WSL2, Docker는 설치되어 있다고 가정 => Docker 설치는 공식문서 참조!! (공식문서가 제일 깔끔한 것 같습니다.) - WSL은 amd 기반의 cpu를 기

semizero.tistory.com

 

Comments