포스트

Jenkins

Jenkins

Jenkins

image.png

CI/CD 도구 (서버)

Jenkins의 CI/CD 과정

image.png

  1. 로컬에서 커밋 및 푸쉬
  2. 젠킨스가 기존 코드와 빌드 및 테스트 진행
    1. 빌드 성공시 배포
    2. 빌드 실패시 로그 및 종료

사용하면 좋은점

  • 자동화된 테스트
  • 코드 스타일 체크
  • 성능 변화 감지
  • 컴파일 오류 검출
  • 다양한 플러그인 제공

Jenkins 플러그인

Credentials Plugin

  • 여러 리소스에 접근 가능한 key들을 저장해주는 플러그인
  • Git Access Token, Azure Token…

GIt Plugin

  • 깃 소스가져와서 빌드 해줌

Pipleline

  • 연속적인 작업을 → 파이프라인화 하여 관리해줌

Docker plugin and Docker Pipeline

  • 젠킨스에서 도커 사용시 사용하는 플러그인

Jenkins Pipeline

젠킨스의 pipeline에는 DeclarativeScripted 방식이 존재 Declarative 방식이 좀더 간단하고 기능이 많다

Jenkins Pipeline의 주요 항목

  • Pipeline
    • Declarative의 핵심 부분
    • 전체 빌드 프로세스 정의
  • Node
    • Scripted 방식의 핵심 부분
    • 전체 빌드 프로세스 정의
  • Stage
    • 전체 단계의 하위 집합
    • 빌드, 테스트, 배포 → 각각 하나의 Stage로 취급(3개)
  • Step
    • Stage의 하위집합
    • 작업 정의

Declarative Pipeline의 스켈레톤

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//Jenkinsfile
pipeline {
    agent any //Agent Sections
    stages { //Stages Sections
        stage('Prepare') { //Steps
            agent any
            steps {
                ...
            }
            post {  //Post Section
                failure{
                    error "Fail Cloned Repository"
                }
            }
        }
        
        stage('Build') {
            agent any
            steps{
              ...
            }
            post{
                failure{
                    error 'Fail Build'
                }
            }
        }
    }
}
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.