Jenkins(젠킨스)
위키백과 사이트 참고
Last updated
Was this helpful?
위키백과 사이트 참고
Last updated
Was this helpful?
젠킨스(Jenkins)는 소프트웨어 개발 시 지속적 통합(continuous integration) 서비스를 제공하는 툴이다. 다수의 개발자들이 하나의 프로그램을 개발할 때 버전 충돌을 방지하기 위해 각자 작업한 내용을 공유 영역에 있는 Git등의 저장소에 빈번히 업로드함으로써 지속적 통합이 가능하도록 해 준다. 를 따른다.
에서 지속적 통합(continuous integration, CI)은 지속적으로 품질 관리(Quality Control)를 적용하는 프로세스를 실행하는 것이다. - 작은 단위의 작업, 빈번한 적용. 지속적인 통합은 모든 개발을 완료한 뒤에 품질 관리를 적용하는 고전적인 방법을 대체하는 방법으로서 소프트웨어의 질적 향상과 소프트웨어를 배포하는데 걸리는 시간을 줄이는데 초점이 맞추어져 있다. 대표적인 CI 툴에는 젠킨스(Jenkins)가 있다.
개발자가 기존 코드의 수정 작업을 시작할 때, 일반적으로 현재의 의 복사본을 받아서 거기로부터 작업을 시작한다. 한편, 다른 개발자들이 자신들이 변경한 코드를 에 제출하면, 코드 베이스로부터 받아온 복사본은 저장소 코드와 점차 달라진다. 코드 베이스만 변하는 것이 아니라, 새 라이브러리가 추가되거나 그 밖에 의존성 문제가 생길 수 있는 다양한 변화들이 생길 수 있다.
개발자들이 저장소에 코드를 제출하려면, 먼저 자신이 코드를 받았던 때부터 현재까지 저장소 코드의 변경 내용을 자신의 코드에 반영되도록 자신의 코드를 업데이트한 후 자신의 코드를 제출해야 한다. 저장소에 변경된 내용이 많을수록, 개발자들이 자신의 작업 내용을 제출하기 전에 해야 할 일이 많아진다.
언젠가는 저장소가 개발자들의 베이스라인과는 너무 많이 달라지게 되는 "통합의 지옥" 이라 불리는 상황에 빠지게 된다. 이 경우, 작업하는 시간보다 작업 내용을 통합하는데 걸리는 시간이 더 걸리게 되어, 최악의 경우 개발자들이 자신들의 변경 내용들을 취소하고 작업들을 완전히 처음부터 다시하는 것이 나을 수도 있다.
지속적인 통합은 초기에 그리고 자주 통합해서 "통합의 지옥"의 함정을 피하는 것을 내포하고 있다. 지속적인 통합은 재작업을 줄여서 비용과 시간을 줄이는데 초점이 맞추어져 있다.
지속적인 통합을 적용하지 않으면, 각각의 프로그래머가 자신이 작업한 것을 제출하기 전에 반드시 완벽한 빌드와 테스트를 해야 한다. 모든 프로그래머들은 저장소로부터 프로젝트를 업데이트하는 것으로 하루를 시작해야 한다. 그러면, 그들은 모든 것들을 최신의 상태로 유지할 수 있을 것이다.
지속적 배포(Continuous delivery, CD)는 팀이 짧은 주기로 소프트웨어를 개발하는 적 접근의 하나로, 소프트웨어가 언제든지 신뢰 가능한 수준으로 출시될 수 있도록 보증하기 위한 것이다. 소프트웨어를 더 빠르게, 더 주기적으로 빌드하고 테스트하고 출시하는 것을 목표로 한다. 이러한 접근은 더 많은 증분 업데이트를 업무 애플리케이션에 적용할 수 있게 함으로써 변경사항의 배포에 대한 비용, 시간, 위험을 줄일 수 있게 한다.
품질 관리(品質管理, quality control)는 생산관리에 통계적 방법을 이용하여 불량품의 발생원인을 발견하고 그것을 제거함으로써 품질의 유지와 향상을 꾀하는 것이다. 즉, 품질관리란 제조공정 중에서 불량품을 발생시키는 원인을 가능한 한 미연에 방지하는 것을 말한다.
공정의 통제에 있어 품질관리를 효과적으로 수행한다면 기업에 주는 이익은 다음과 같다.
작업원에게 품질에 대한 책임과 관심을 인식시켜서 품질수준을 높일 수 있게 한다.
작업의 잘못이 적어져서 폐품·수정 등의 경비의 절감을 측정할 수 있게 된다.
제품 품질의 차이가 감소되어 품질이 향상된다.
제품의 불량률이 감소되어 생산량의 저감과 수율(收率)의 향상을 측정할 수 있게 한다.
소비자가 요구하는 품질의 제품을 공급할 수 있게 되어 수요자에게 만족을 줄 수 있다.
품질관리를 실시함으로써 수요자에게 신용을 높인다.
품질관리란 품질의 균일성을 통제하는 기능으로서, 설정된 품질기준과 품질한계의 정도를 비교하는 것이다. 즉, 설정된 기준에 따라 품질의 균일성이 유지되고 있는가의 여부를 검사하는 것으로, 통계적 방법이 중요한 역할을 담당하며, 이것을 특히 통계적 품질관리(SQC:statistical quality control)라고도 한다.품질관리의 방법은 다음 5단계로 구분할 수 있다.
작업장에 의한 품질관리
직장(職長)에 의한 품질관리
검사에 의한 품질관리
관리도 및 표본검사에 의한 품질관리(SQC)
종합적 품질관리(total quality control:TQC)
오늘날의 품질관리기법은 (4)항의 "관리도 및 표본검사에 의한 품질관리"를 중심으로 많이 발전되고 있으며, (5)항의 "종합적 품질관리"도 넓게 연구되고 있다.
품질관리 분야에서 이용되는 통계적 방법을 보면 다음과 같다.
도수분포(度數分布) ― 품질특성의 도수·평균품질·품질의 분산 정도를 파악하기 위하여 이용된다.
관리도(管理圖) ― 품질의 허용한계를 상한선·하한선으로 구분하고, 품질의 특성을 시간적으로 비교한다.
발췌표 ― 제조 또는 납품시 품질의 합격 여부를 판단하기 위하여 검사 대상품목의 통계적 샘플을 추출한다.
특수상품 ― 상관(相關)분석·분산분석 및 공차(公差) 분석 등의 방법도 특수한 문제의 해석을 위하여 이용된다.