이 영역을 누르면 첫 페이지로 이동
시간의화살 블로그의 첫 페이지로 이동

시간의화살

페이지 맨 위로 올라가기

시간의화살

행복하세요

[Jenkins] CI와 젠킨스

  • 2023.03.22 11:26
  • DevOps/Jenkins

 

 

 

 

 

기존 소프트웨어 개발 사이클은 위와 같다.

 

요구 사항 분석 -> 설계 -> 구현 -> 테스트 -> 유지보수

 

워터폴 모델이라고 불리는 이 사이클은 수십 년 동안 원활하게 작동했지만, 몇 가지 단점이 있다.

 

- 새로운 요구 사항이 자주 발생하는 영역에 적합하지 않다.

- 개발이 끝난 후 통합이 진행돼 통합 관련 이슈들이 마지막 단계에서 발견된다

- 각 단계에서 진행 상황을 파악하기 쉽지 않다.

 

 

이런 단점을 극복하기 위해 새로운 개발 사이클인 애자일 방법론이 도입됐다.

 

 

 

 

애플리케이션을 여러 기능으로 분류하고 개발을 진행한다.

 

계획 -> 요구사항 분석-> 설계 -> 개발 -> 테스트 -> 배포

 

위의 사이클을 각 기능별로 수행해 기능을 빠르게 구현하고 고객에게 피드백을 받는 구조이다.

 

요구 사항이 자주 변경되는 프로젝트에 적합하고, 각 기능을 빠르게 개발할 수 있어 효과적이다.

 

 

CI는 Continuous Integration의 약자로 빠른 주기로 작업한 내용을 main 브런치에 통합하고 빌드하는 개발 방식이다.

빠른 주기로 통합이 이루어지기 때문에 그 과정에서 발생하는 이슈들을 빠르게 발견할 수 있고, 더 견고한 코드를 작성할 수 있다.

 

 

 

 

 

코드를 반영하고 단위 테스트를 진행하고 정상적으로 빌드되는지 확인하는 과정을 거칠 때 각각의 과정에서 알람을 추가해 팀원들의 상황을 알 수 있게 되면 더욱 빠르게 대응할 수 있다.

 

 

CI 작업에 젠킨스를 도입하면 빌드, 테스트, 컴파일 오류, 코딩 컨벤션 검사 등을 자동화할 수 있다.

 

애플리케이션 개발에 CI 방식을 도입해 견고하고 일관성 있는 코드를 작성할 수 있고, CI 방식을 도입할 때 젠킨스를 도입해 CI 과정을 자동화하는게 전체적인 흐름이다.

 

 

 

 

 

 

반응형
저작자표시 (새창열림)

'DevOps > Jenkins' 카테고리의 다른 글

[Jenkins] Pipeline Script  (0) 2023.03.22
[Jenkins] Docker + Jenkins + SVN Pipeline 구축  (0) 2023.03.21
[Jenkins] SVN과 Jenkins 연결  (0) 2023.03.20

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [Jenkins] Pipeline Script

    [Jenkins] Pipeline Script

    2023.03.22
  • [Jenkins] Docker + Jenkins + SVN Pipeline 구축

    [Jenkins] Docker + Jenkins + SVN Pipeline 구축

    2023.03.21
  • [Jenkins] SVN과 Jenkins 연결

    [Jenkins] SVN과 Jenkins 연결

    2023.03.20
다른 글 더 둘러보기

정보

시간의화살 블로그의 첫 페이지로 이동

시간의화살

  • 시간의화살의 첫 페이지로 이동

검색

방문자

  • 전체 방문자
  • 오늘
  • 어제

카테고리

  • 분류 전체보기 (607)
    • Algorithm (205)
      • Data Structure (5)
      • Theory && Tip (33)
      • Baekjoon (166)
      • ALGOSPOT (1)
    • Spring (123)
      • Spring (28)
      • Spring Web MVC (20)
      • Spring Database (14)
      • Spring Boot (6)
      • Spring 3.1 (11)
      • Spring Batch (6)
      • Spring Security (16)
      • JPA (12)
      • Spring Data JPA (5)
      • QueryDSL (4)
      • eGovFramework (1)
    • Programming Language (74)
      • Java (19)
      • JavaScript (15)
      • C (25)
      • C++ (12)
      • Python (1)
      • PHP (2)
    • Computer Science (69)
      • Operating System (18)
      • Computer Network (17)
      • System Programming (22)
      • Universial Programming Lang.. (8)
      • Computer Architecture (4)
    • Database (21)
      • Database (7)
      • MySQL (3)
      • Oracle (3)
      • Redis (5)
      • Elasticsearch (3)
    • DevOps (20)
      • Docker && Kubernetes (8)
      • Jenkins (4)
      • Github Actions (0)
      • Amazon Web Service (8)
    • Machine Learning (28)
      • AI Introduction (28)
    • Mobile (28)
      • Android (21)
      • Flutter (7)
    • Solutions (14)
    • Life Logs (0)
    • 낙서장 (25)

최근 글

나의 외부 링크

메뉴

  • 홈

정보

13months의 시간의화살

시간의화살

13months

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. Copyright © 13months.

티스토리툴바