개발자의 삶/DevOps

[DevOps] CI/CD

Kedric 2022. 10. 5. 09:42
반응형

본 포스팅은 인프런 - Dowon Lee 님의 Jenkins를 이용한 CI/CD Pipeline 구축 강의를 듣고 정리한 내용입니다.

강의링크

 

CI (Continuous Integration)

- 작업된 코드의 컴파일, 테스트, 패키징 작업이 포함

CD (Continuous Deployment)

- CI에 의해서 패키징된 결과물을 서버에 배포하는 작업

- 지속적인 배포와 지속적인 제공

 

JenKins

- CI/CD 툴

- 소프트웨어 개발 시 지속적 통합 서비스를 제공하는 툴이다. 다수의 개발자들이 하나의 프로그램을 개발할 때 버전 충돌을 방지하기 위해 각자 작업한 내용을 공유 영역에 있는 Git등의 저장소에 빈번히 업로드함으로써 지속적 통합이 가능하도록 해 준다

 

- 젠킨스 이미지 다운로드

docker pull jenkins/jenkins

// docker pull [계정]/[리파지토리]

 

- 젠킨스 실행

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

// docker run -d -p [컨테이너 바깥 포트]:[컨테이너 내부 포트] -p [컨테이너 바깥 포트]:[컨테이너 내부 포트] --name [컨테이너 이름] --restart=on-failure [계정]/[리파지토리]:[버전]

// -d (detach 모드. 백그라운드, 데몬형태로 기동) -v jenkins_home:/var/jenkins_home/jenkins/jenkins:lts-jdk11 (로컬에 마운트)

 

- 도커 컨테이너 프로세스 확인

docker ps

- 로그 확인

docker logs jenkins-server

// 초기패스워드 확인

 

- 도커 컨테이너에 터널링으로 접속

docker exec -it jenkins-server bash

 

- 젠킨스 설치

127.0.0.1:8080 접속하여 진행

 

- 젠킨스 프로젝트 생성

 

- 프로젝트 빌드 및 console 확인

 

Jenkins - Git, Maven 연동

Jendkins Dashboard > Jenkins 관리 > 플러그인 관리

- github 설치 확인

 

- maven 설치 확인

 

 

- Global Tool Configuration 에 추가

Jendkins Dashboard > Jenkins 관리 > Global Tool Configuration

git
maven

 

Git 연동 프로젝트 생성

- 프로젝스 생성

Dashboard > 새로운 item > maven project 선택 > ok

 

- git source code 및 branch 입력

 

- build 옵션

Root POM > pom.xml 파일이 프로젝트 Root 가 아닌 위치라면 해당 위치로 수정.

Goals and options > clean compile package (기존 빌드된 내용을 지우고 새롭게 컴파일하여 패키지 파일을 만듬)

 

작성 완료 후 저장, 지금빌드

 

 

도커 콘솔로 이동 (docker exec -it [컨테이너 이름] bash

cd /var/jenkins_home/workspace/[프로젝트명]/target

war(혹은jar) 파일 확인

반응형