Skip to content

[infra] Jenkins CICD 구축 정리

이은비 edited this page Dec 19, 2022 · 4 revisions

Jenkins를 이용한 CICD 구축 - 정리편

해당 위키 페이지는 Jenkins를 이용한 CICD 구축 과정을 정리한 것이다.

▶️ CICD 구축 Flow

  1. EC2 서버 생성
  • 젠킨스용 서버와 운영용 서버를 분리해서 인스턴스를 생성한다.
  1. 젠킨스용 서버 ssh 접속

[EC2] > [인스턴스 대시보드] > [젠킨스용 서버] 선택 > [연결] 버튼 클릭 > ssh 접속 명령어 복사 후, 해당 key.pem 파일이 있는 곳에서 터미널 명령 실행

  1. EC2 서버 swap 메모리 늘리기
$ sudo dd if=/dev/zero of=/swapfile bs=128M count=16
$ sudo chmod 600 /swapfile
$ sudo mkswap /swapfile
$ sudo swapon /swapfile
$ sudo swapon -s
$ sudo vi /etc/fstab
/swapfile swap swap defaults 0 0
  1. 서버 내 도커🐳 설치

EC2에서 도커 설치하기 참고

  1. 도커를 이용해 젠킨스 LTS 버전으로 이미지 pull & 컨테이너 run
// (1) Jenkins 이미지 다운
$ docker pull jenkins/jenkins:lts

// (2) 이미지 다운로드 확인
$ docker images

// (3) 이미지를 통한 도커 컨테이너 실행
$ docker run -d -p 8080:8080 -p 50000:50000 -v /jenkins:/var/jenkins -v /home/ubuntu/.ssh:/root/.ssh -v /var/run/docker.sock:/var/run/docker.sock --name jenkins -u root jenkins/jenkins:lts

// (4) 도커 컨테이너 구동 확인
$ docker ps
  1. 웹브라우저를 통해 젠킨스 GUI 관리자 화면 접속

"EC2 서버 퍼블릭 주소":8080 으로 접속하기

만약 접속이 안된다면, AWS EC2 인스턴스 대시보드에서 젠킨스용 서버의 [보안] > [인바운드규칙] 편집 > 80과 8080 포트 열어주기

image
  • IPv4와 IPv6 모두 열어주었다.
  1. 젠킨스 초기 설정
  • 가장 먼저 보이는 화면에서 암호를 입력할 것을 요구한다. 이때의 암호는 서버 터미널에서 아래 명령어를 입력하면 확인할 수 있다.
// jenkins라는 이름의 컨테이너 로그 확인 명령어
$ docker logs jenkins

로그에 암호가 출력된다. ✔️ 해당 암호를 웹브라우저에서 입력한다. 그 후, ✔️ Install suggested plugins 설치를 누른다.

끝으로 ✔️ 사용자 계정을 등록한다. 성공적으로 등록을 마쳤다면, 아래와 같은 화면이 보인다.

image
  1. 젠킨스 관리 > ssh 플러그인 설치
image
  1. 젠킨스 관리 > manage credentials 클릭
  • github 계정 추가하기
  • docker hub 계정 추가하기

image 추가된 credentials를 확인할 수 있다.

Clone this wiki locally