본문 바로가기

Jenkins

Setting 젠킨스(Jenkins) 설정 및 파이프라인 구축 4단계

페이지 정보

작성자 이노힐
댓글 0건 조회 13회
작성일 2026-08-02 20:07:29

본문

Jenkins 컨테이너를 실행할 때

/var/run/docker.sock 옵션을 바인딩해 두셨다면,

Jenkins 내부에서 우분투 호스트의 Docker 엔진을 자유롭게 제어할 수 있는 준비(DooD: Docker Out of Docker)가 끝난 상태입니다.

이후 웹 브라우저에서 Jenkins 화면에 들어가 기본 설정 및 CI/CD 파이프라인을 구축하는 전체 과정을 누구나 따라 할 수 있도록 아주 쉽게 나누어 설명해 드릴게요.

💡 젠킨스(Jenkins) 설정 및 파이프라인 구축 4단계

[1. 브라우저 초기 접속] ──> [2. k3s 접근 권한 등록] ──> [3. Jenkins 아이템 생성] ──> [4. Jenkinsfile 작성/실행]

1단계: 브라우저에서 Jenkins 초기 설정하기

  1. 브라우저 주소창에 http://서버IP:9090 으로 접속합니다.

  2. Unlock Jenkins 화면이 나오면, 아래 명령어로 터미널에서 초기 비밀번호를 복사해 붙여넣습니다.

    Bash

    docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
    
  3. Install suggested plugins (권장 플로그인 설치) 버튼을 클릭하여 설치가 끝날 때까지 기다립니다.

  4. 관리자 계정(Admin User)을 생성하면 Jenkins 메인 화면에 진입합니다.

2단계: Jenkins에게 쿠버네티스(k3s) 제어 권한 주기

Jenkins가 빌드 후 쿠버네티스(kubectl)에 배포 명령을 내릴 수 있도록, k3s 설정 파일을 Jenkins 컨테이너 내부로 복사해 줍니다.

터미널에서 아래 명령어를 한 줄씩 실행해 주세요:

Bash

# 1. Jenkins 컨테이너 내부에 .kube 폴더 생성
docker exec -u root jenkins mkdir -p /root/.kube

# 2. 우분투 호스트의 k3s 설정 파일(kubeconfig)을 Jenkins 내부로 복사
docker cp ~/.kube/config jenkins:/root/.kube/config

# 3. Jenkins 내부에서 kubectl 명령어가 k3s를 제대로 바라보는지 테스트
docker exec -u root jenkins kubectl get nodes

성공 확인: 마지막 명령어 결과로 Ready 상태의 노드가 한 줄 출력되면 성공입니다!

3단계: Jenkins에서 CI/CD 파이프라인 프로젝트 만들기

  1. Jenkins 메인 화면 좌측 상단의 [새로운 Item] (New Item)을 클릭합니다.

  2. 프로젝트 이름을 입력합니다. (예: atms-pipeline)

  3. [Pipeline]을 선택하고 하단의 [OK]를 누릅니다.

  4. 설정 화면이 나오면 맨 아래 Pipeline 섹션으로 이동합니다.

  5. Definition 항목을 Pipeline script로 선택하고, 바로 아래 입력창에 아래 4단계의 스크립트를 붙여넣습니다.

4단계: 파이프라인 스크립트 작성 및 실행

아래 스크립트는 "Git 코드 가져오기 $\rightarrow$ 자바 빌드 $\rightarrow$ Docker 이미지 생성 $\rightarrow$ 쿠버네티스 자동 배포"를 한 번에 처리해 주는 전체 동작 코드입니다.

Groovy

pipeline {
    agent any

    stages {
        // 1. Git에서 최신 소스코드 가져오기
        stage('1. Checkout Code') {
            steps {
                // 본인의 Git Repository 주소로 변경하세요
                git branch: 'main', url: 'https://github.com/your-github-id/new-atms.git'
            }
        }

        // 2. Spring Boot 백엔드 빌드 (JAR 파일 생성)
        stage('2. Build Backend') {
            steps {
                sh './gradlew clean build -x test'
            }
        }

        // 3. Docker 이미지 빌드
        stage('3. Build Docker Image') {
            steps {
                // Docker 소켓이 바인딩되어 있어 Jenkins 안에서 docker build가 실행됩니다.
                sh 'docker build -t atms-backend:latest .'
            }
        }

        // 4. 쿠버네티스(k3s)에 자동 배포
        stage('4. Deploy to Kubernetes') {
            steps {
                // k8s 매니페스트 적용 및 파드(Pod) 재시작
                sh 'kubectl apply -f k8s/backend-deployment.yaml'
                sh 'kubectl rollout restart deployment/atms-backend'
            }
        }
    }
}
  • 저장(Save) 버튼을 누른 뒤, 좌측 메뉴의 [지금 빌드] (Build Now)를 클릭합니다.

  • 1단계부터 4단계까지 초록색으로 성공 표시가 뜨면 Jenkins + Docker + Kubernetes 연동 자동 배포 환경 구축 완료입니다! 🎉

댓글목록

등록된 댓글이 없습니다.

댓글쓰기

내용

방문자 집계

  • 오늘 577
  • 어제 1,099
  • 최대 7,414
  • 전체 186,128

Copyright © innohealonline.com. All rights reserved.