ebson

젠킨스(JENKINS) 본문

DEV-STUDY, ETC.

젠킨스(JENKINS)

ebson 2022. 8. 28. 12:59

#젠킨스(Jenkins)는 거의 모든 언어의 조합과 소스코드 리포지토리(Repository)에 대한 지속적인 통합과 지속적인 전달 환경을 구축하기 위한 간단한 방법을 제공

 

#젠킨스는 지속적 통합 도구의 일종으로 무료 오픈소스 자동화 서버임, 빌드-배포 자동화를 지원하는 수백개의 플러그인을 제공

 

#빌드란 코드를 실행할 수 있는 상태로 만드는 일이고 배포는 사용자 접근이 가능하도록 배치시키는 일임

 

#지속적인 통합은 애플리케이션 개발 단계를 자동화해 보다 짧은 주기로 고객에게 제공하는 것임, 추가/변경된 코드를 자동으로 빌드한 후 테스트하고 통과하면 공유 레포지터리에 병합

 

#지속적인 통합은 개발자가 공유 버전 제어 저장소에서 팀의 코드를 컴파일할 수 있도록 함으로써 빌드주기 비 효율성을 줄이기 위한 프로세스임. 지속적 통합은 각 엔지니어의 커밋을 자동으로 모니터링함

 

#CI는 가시성을 높이는 공유 서버에서 실행되므로 프로젝트의 모든 엔지니어가 매일 기본 코드의 변경사항을 알 수 있음. 

 

#지속적인 전달은 응용프로그램을 전달해 누군가 수동 테스트할 수 있도록 서버에 배치하거나 테스트 그룹 사용자에게 전자 메일로 전송하는 것

 

#지속적인 통합(CI), 지속적인 전달(CD)를 구현하면 버그를 쉽게 발견하고 수정, 출돌하는 코드 해결, 빌드 트리거 및 테스트 시간 절약, 사람의 실수 방지 등의 효과

 

#젠킨스는 빌드 자동화, 테스트 자동화, 정적 코드 분석을 통한 코드 표준 준수 여부 검사, 빌드 파이프라인 구성해 프로젝트에 2개 이상 모듈이 있을 경우 참조 관계에 따라 순차적 빌드, 다양한 인증 기반과 결합한 인증 및 권한 관리 기능, 자동화된 배포 관리 기능을 제공

 

#젠킨스는 다른 일상적인 개발 작업을 자동화할 뿐 아니라 파이프라인(Pipeline)을 사용해 거의 모든 언어의 조합과 소스코드 리포지토리에 대한 지속적인 통합과 지속적인 전달 환경을 구축하기 위한 간단한 방법을 제공

 

#젠킨스 전에는, 개발자가 코드를 커밋하기 전에 로컬 머신에서 빌드하고 테스트해야 했음

 

#허드슨(Hudson)은 젠킨스의 원조, 위 제한에 대응하기 위한 것이었음

 

#썬의 자바개발자 코스케 가와구치는 커밋하기 전에 테스트할 수 있는 자동화 서버를 개발하고 허드슨이라고 함. 2011년 오라클과 허드슨 오픈소스 커뮤니티 분쟁의 결과로 젠킨스로 갈라짐

 

#젠킨스는 Maven, Ant, Gradle를 사용한 빌드작업을 지원, JUnit, Nexus, Artifactory와 동작

 

#CICD 서버용으로 젠킨스나 아틀라시안 뱀부를 사용

 

#젠킨스는 무료 오픈소스이고 뱀부는 상용 소프트웨어

 

#젠킨스는 더 큰 커뮤니티와 더 많은 플러그인을 제공하고 뱀부 상용 라이선스에는 아클라시안의 지원이 포함되며 빗버킨, 지라, 컨플루언스 같은 다른 아틀라시안 제품들과 잘 통합

 

 

참고 출처

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

https://yeonyeon.tistory.com/56

https://jjeongil.tistory.com/810  

 

Comments