기은P
시간이 멈추는 장소
기은P
  • Programming (272)
    • 개발노트 (1)
    • FrontEnd (56)
      • ES&JS 문법 (14)
      • HTML&CSS (4)
      • React 기본 (18)
      • React 심화 (12)
      • React 이슈 (2)
      • Project 연습 (1)
      • Next.js (5)
    • Backend&Devops (33)
      • AWS (2)
      • Docker (9)
      • Jenkins (6)
      • Nginx (6)
      • Node.js (1)
      • ElasticSearch (5)
      • 프레임워크&아키텍처 (2)
      • 암호화 (0)
      • 기타 (2)
    • 알고리즘 (3)
    • C# (8)
      • WPF (8)
    • Java (51)
      • 순수 Java (18)
      • RDF&Jena (12)
      • RCP&GEF (9)
      • JMX (5)
      • JMapper (3)
      • 오류해결 (4)
    • Database (21)
      • RDBMS (9)
      • NoSQL (2)
      • TSDB (1)
      • GraphQL (1)
      • Hibernate (3)
      • 데이터베이스 이론 (4)
      • Redis (1)
    • 프로토콜 (11)
      • Netty (4)
      • gRPC (5)
      • 프로토콜 개념 (2)
    • Server (4)
      • Linux (4)
    • 2020 정보처리기사 필기 (43)
      • 목차 (1)
      • 기출문제 (1)
      • 1과목 - 소프트웨어 설계 (6)
      • 2과목 - 소프트웨어 개발 (7)
      • 3과목 - 데이터베이스 구축 (8)
      • 4과목 - 프로그래밍 언어 활용 (7)
      • 5과목 - 정보시스템 구축 관리 (10)
    • 2020 정보처리기사 실기 (31)
      • 목차 (4)
      • 기출예상문제 (19)
      • 실기요약 (8)
    • 빅데이터분석기사 필기 (4)
      • 목차 (0)
      • 필기 요약 (3)
    • 전기 공학 (1)
      • CIM (1)
    • 산업자동화시스템 (3)
      • SCADA (1)
      • OPC UA (2)
    • 디자인패턴 (1)
    • 휴지통 (0)

공지사항

  • 공지사항/포스팅 예정 항목

최근 댓글

최근 글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
기은P

시간이 멈추는 장소

[Jenkins] 젠킨스란?
Backend&Devops/Jenkins

[Jenkins] 젠킨스란?

2021. 8. 20. 14:55
반응형

 

1. 젠킨스(Jenkins)란?

모든 언어의 조합과 소스 코드 레포지토리에 대한 지속적인 통합(Continuous integration, CI)과 지속적 배포(continuous delivery, CD) 환경을 구축하기 위한 도구다. 빌드, 테스트, 배포 프로세스를 자동화하여 소프트웨어 품질과 개발 생산성을 높일 수 있다.

 

 


 

편리한 설정

웹 기반의 콘솔로 다양한 인증 기반과 결합이 가능하며 권한 관리 기능을 통해 안전한 빌드/배포 환경을 구축할 수 있다. 수많은 플러그인을 사용하여 자동화 할 수 있어 반복되는 작업을 줄일 수 있다. 빌드/배포의 결과에 대해 통지 받을 수 있는 설정이 간편하고 다양한 채널을 통해 빠르게 피드백을 받을 수 있다.

 

안정적인 빌드/배포 환경

소스 버전 관리 툴과 연동하여 코드 변경을 감지하고, 자동화 테스트를 포함한 빌드를 수행하여 소프트웨어 품질을 향상시킬 수 있다. 자동화 테스트에는 코딩 표준 준수 여부 체크, 유닛 테스트, 통합 테스트 등을 설정할 수 있고 테스트 결과에 대한 피드백을 받아 잠재적인 오류를 사전에 예방할 수 있다. 빌드 결과물을 지속적으로 배포하도록 설정하여 개발 프로세스 전체를 자동화할 수 있다.

 

다양한 활용 및 손쉬운 확장

Jenkins는 많이 사용 되고 있는 오픈 소스 소프트웨어로 문서화가 잘 되어 있다. 빌드/배포 이외에도 스케쥴링을 이용한 배치 작업에도 활용되는 등 다양한 적용 사례들을 참고할 수 있다. 플러그 인을 직접 개발하여 기능을 확장하는 것도 가능하다.

 

 


2. 기능

 

젠킨스와 같은 CI툴이 등장하기 전에는 일정시간마다 빌드를 실행하는 방법이 일반적이었는데, 젠킨스는 서브버전, Git과 같은 버전 관리 시스템과 연동해서 소스의 커밋을 감지하면 자동적으로 자동화 테스트가 포함된 빌드가 작동하도록 도와주게 되어 편의성이 증가되었다.

  

이러한 기능을 수행하는 젠킨스는 컴파일 오류를 검출하고, 자동화 테스트를 수행하며, 정적 코드 분석으로 인한 코딩 규약 준수 여부를 체크하고 프로파일링 툴을 이용한 성능 변화 감시, 결합 테스트 환경에 대한 배포 작업의 큰 도움을 준다.

 

프로젝트 기간 중에 개발자들은 순수한 개발 작업 이외의 DB 설정, 환경 설정, Deploy 작업과 같은 단순 작업에 시간과 노력을 들이는데, 이러한 작업들을 젠킨스를 사용함으로 젠킨스에서 지원하는 웹 인터페이스를 통해 쉽게 수행할 수 있게 된다.

 

젠킨스는 온갖 종류의 개발 작업을 지원하기 위한 약 1,400가지의 플러그인을 가지고 있는 오픈소스 자동화 서버다. 위 플러그인은 플랫폼, UI, 관리, 소스코드 관리, 빌드 관리의 5가지의 영역을 포괄하고 있다.

 

젠킨스는 개인이 확인하지 못한 코드 표준 준수 여부의 검사나 정적 분석을 통한 코드 품질 검사를 빌드 내부에서 수행해준다. 또한 2개 이상의 모듈로 구성되는 레이어드 아키텍처가 적용된 프로젝트에는 그에 따르는 빌드 파이프라인 구성이 필요하게 된다. 예를 들면, 도메인 -> 서비스 -> UI와 같이 각 레이어 참조 관계에 따라 순차적으로 빌드를 진행하지 않으면 안되는데, 젠킨스는 이러한 빌드 파이프라인 구성을 스크립트를 통해 작성하거나 제어한다.

 

젠킨스는 자바 8의 war 아카이브 또는 설치 패키지, 홈브루(Homebrew) 패키지, 도커 이미지, 그리고 소스코드 형태로 사용할 수 있다. 젠킨스 war를 단독으로 톰캣 또는 WAS와 같은 서버렛(Serverlet)으로 실행할 수 있다. 위 어플리케이션을 통해 웹 사용자 인터페이스를 생성해 Rest API의 기능을 수행한다.

 

 


 

 

3. 설치

https://narup.tistory.com/202?category=1023381 

 

[Docker] 도커에 젠킨스 설치, 도커에 젠킨스 연동

도커에 빌드 관리 도구인 젠킨스를 설치(연동)해보겠습니다. 도커는 현재 윈도우에 설치한 상태로 진행하고 있습니다! 1. 젠킨스 이미지 다운로드 윈도우 power shell을 여시고 아래와 같은 명령어

narup.tistory.com

도커를 활용한 젠킨스 설치 방법을 공유합니다

 

 

 

 

 

참고 

https://www.ncloud.com/product/devTools/jenkins

https://www.itworld.co.kr/news/107527

https://ict-nroo.tistory.com/31

 

반응형
저작자표시 변경금지 (새창열림)

'Backend&Devops > Jenkins' 카테고리의 다른 글

[Jenkins] Linux EC2에서 Jenkins 설치하기(Java 11버전 설치)  (3) 2022.09.23
[Jenkins] ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job. 오류 해결  (0) 2022.06.03
[Jenkins] 젠킨스와 깃허브 연동(GitHub Web Hook AWS) (3)  (3) 2022.03.23
[Jenkins] 젠킨스와 깃허브 연동(GitHub Web Hook) (2)  (0) 2022.03.23
[Jenkins] 젠킨스와 깃허브 연동(GitHub Web Hook)  (1) 2021.12.14
    'Backend&Devops/Jenkins' 카테고리의 다른 글
    • [Jenkins] ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job. 오류 해결
    • [Jenkins] 젠킨스와 깃허브 연동(GitHub Web Hook AWS) (3)
    • [Jenkins] 젠킨스와 깃허브 연동(GitHub Web Hook) (2)
    • [Jenkins] 젠킨스와 깃허브 연동(GitHub Web Hook)
    기은P
    기은P
    기은P의 블로그 일상과 개발 관련 포스팅 #React #Typescript #Next #Nest https://github.com/kimdongjang

    티스토리툴바