Jenkins(소프트웨어)
Jenkins (software)![]() | |
![]() | |
원본 작성자 | 가와구치 고스케[1] |
---|---|
초기 출시 | 2011년 2월 2일 ([2] |
안정적 방출 | 2.417[3] / 2023년 8월 1일, 전 ) |
저장소 | |
작성 위치 | 자바 |
플랫폼 | Java 11, Java 17 |
유형 | 연속배송 |
면허증. | MIT 라이선스[4][5] |
웹사이트 | www![]() |
Jenkins는 오픈 소스 자동화 서버입니다.소프트웨어 개발의 빌드, 테스트 및 배포와 관련된 부분을 자동화하여 지속적인 통합과 지속적인 제공을 촉진합니다.Apache Tomcat과 같은 서블릿 컨테이너에서 실행되는 서버 기반 시스템입니다.AccuRev, CVS, Subversion, Git, Mercurial, Perforce, ClearCase 및 RTC를 포함한 버전 제어 도구를 지원하며 Apache Ant, Apache Maven 및 sbt 기반 프로젝트와 임의 셸 스크립트 및 Windows 배치 명령을 실행할 수 있습니다.
역사
Jenkins 프로젝트는 원래 Hudson으로 이름 지어졌으며 프로젝트 이름에 대한 권리를 주장한 Oracle과의 분쟁 이후 2011년에 이름이 바뀌었습니다.오라클 포크인 허드슨은 이클립스 재단에 기부되기 전에 한동안 계속 개발되었습니다.Oracle의 Hudson은 더 이상[6][7] 유지보수되지 않으며 2017년 [8]2월에 구식으로 발표되었습니다.
2007년경 Hudson은 크루즈 컨트롤 및 기타 오픈 소스 빌드 [1][9]서버의 더 나은 대안으로 알려지게 되었습니다.2008년 5월 JavaOne 컨퍼런스에서 이 소프트웨어는 개발자 솔루션 [10]부문에서 Duke's Choice Award를 수상했습니다.
2010년 11월 Oracle이 Sun Microsystems를 인수한 후 Hudson 커뮤니티에서 사용되는 인프라와 관련하여 문제가 발생했습니다. 이 문제는 Oracle의 [11]관리 및 관리에 대한 문제를 포괄하는 것으로 확대되었습니다.주요 프로젝트 기여자들과 오라클 간의 협상이 이루어졌으며, 많은 합의 영역이 있었지만 오라클이 2010년 12월 상표권을 주장하고 상표권을 신청한 후 주요 걸림돌은 "Hudson"이라는 상표명이었습니다.그 결과 2011년 1월 11일 프로젝트 이름을 "Hudson"에서 "Jenkins"로 변경해야 한다는 투표 요청이 있었습니다.이 제안은 2011년 1월 29일 지역사회 투표에 의해 압도적으로 승인되어 젠킨스 [12]프로젝트를 만들었습니다.
2011년 2월 1일, 오라클은 허드슨의 개발을 계속할 것이며 젠킨스를 이름 바꾸기보다는 포크로 간주했다고 말했습니다.따라서 젠킨스와 허드슨은 서로가 포크라고 주장하며 [13]두 개의 독립적인 프로젝트로 계속되었습니다.2019년 6월 기준으로 GitHub의 Jenkins 조직은 667명의 프로젝트 구성원과 약 2,200개의 공개 [14]저장소를 보유하고 있으며 [15]2016년 마지막 업데이트와 비교하여 Hudson의 28개의 프로젝트 구성원과 20개의 공개 저장소를 보유하고 있습니다.
2011년, 창작자 가와구치 고스케는 허드슨/[16]젠킨스 프로젝트에 대한 그의 작업으로 오라일리 오픈 소스 상을 수상했습니다.
2016년 4월 20일 버전 2는 기본적으로 [17]Pipeline 플러그인을 사용하도록 설정된 상태로 릴리스되었습니다.이 플러그인을 사용하면 Apache Groovy 기반의 도메인 특정 언어를 사용하여 빌드 명령을 작성할 수 있습니다.
젠킨스는 2017년 2월 8일 [8]이클립스에서 허드슨을 대체했습니다.
2018년 3월, Kubernetes를 위한 Jenkins X 소프트웨어 프로젝트가 공개되었으며,[18][19] AWS EKS를 비롯한 다양한 클라우드 프로바이더를 지원합니다.
빌드
빌드는 다음과 같은 다양한 방법으로 트리거될 수 있습니다.
플러그인
Jenkins용 플러그인은 Java 이외의 언어로 작성된 프로젝트로 확장됩니다.Jenkins를 대부분의 버전 제어 시스템 및 버그 데이터베이스와 통합하는 데 플러그인을 사용할 수 있습니다.많은 빌드 도구는 해당 플러그인을 통해 지원됩니다.또한 플러그인은 젠킨스의 모양을 변경하거나 새로운 기능을 추가할 수 있습니다.다양한 형식의 테스트 보고서(예: Jenkins, MSTest, NUnit 등)[20]와 자동 테스트를 지원하는 자동 테스트를 생성하는 장치 테스트 전용 플러그인 세트가 있습니다.빌드는 플러그인에서 지원하는 다양한 형식의 테스트 보고서를 생성할 수 있으며(JUNit 지원은 현재 번들로 제공됨) Jenkins는 보고서를 표시하고 추세를 생성하여 GUI에 렌더링할 수 있습니다.
메일러
빌드 [21]결과에 대한 전자 메일 알림을 구성할 수 있습니다.Jenkins는 다음과 같은 중요한 이벤트가 발생할 때마다 지정된 수신자에게 전자 메일을 보냅니다.
- 빌드에 실패했습니다.
- 불안정한 체격.
- 빌드 실패 후 성공적인 빌드, 위기가 끝났음을 나타냄
- 성공적인 빌드 후 불안정한 빌드로 회귀가 있음을 나타냅니다.
자격 증명
Jenkins에 자격 증명을 저장할 수 있습니다.다른 플러그인이 다른 유형의 [22]자격 증명을 저장하고 검색할 수 있도록 표준화된 API를 제공합니다.
외부 작업 모니터링
외부에서 실행된 [23]작업의 결과를 모니터링하는 기능을 추가합니다.
SSH 에이전트
이 플러그인을 사용하면 SSH를 [25]통해 *nix 시스템에서 에이전트(이전의 [24]슬레이브)를 관리할 수 있습니다.새로운 유형의 에이전트 시작 방법을 추가합니다.이 시작 방법은 다음과 같습니다.
- 지정된 사용자 이름으로 지정된 호스트에 대한 SSH 연결을 엽니다.
- 해당 사용자의 기본 Java 버전을 확인합니다.
- [아직 구현되지 않음] 기본 버전이 Jenkins의 버전과 호환되지 않는 경우에이전트.jar, 올바른 버전의 Java를 찾으십시오.
- 적절한 버전의 Java가 설치되면 SFTP를 통해 최신 agent.jar를 복사합니다(SFTP를 사용할 수 없는 경우 scp로 다시 이동).
- 에이전트 프로세스를 시작합니다.
자바독
이 플러그인은 Jenkins에 Javadoc 지원을 추가합니다.이 기능은 이전에는 코어의 일부였지만 Jenkins 1.431을 기준으로 별도의 [26]플러그인으로 분리되었습니다.
이 플러그인을 사용하면 "Javadoc 게시"를 빌드 후 작업으로 선택할 수 있습니다. 이 작업은 Javadoc를 수집할 디렉토리와 [27]각 성공적인 빌드에 대해 보존이 필요한지 여부를 지정합니다.
온라인 설명
Jenkins를 사용하여 명령 프롬프트 대신 사용자 인터페이스를 통해 셸 스크립트 실행을 예약하고 모니터링할 수 있습니다.
보안.
젠킨스의 보안은 액세스 제어와 외부 위협으로부터의 보호라는 두 가지 요소에 따라 달라집니다.액세스 제어는 사용자 인증과 권한 부여의 두 가지 방법으로 사용자 정의할 수 있습니다.CSRF 공격 및 악의적인 빌드와 같은 외부 위협으로부터의 보호도 [28]지원됩니다.
수상 및 표창
참고 항목
레퍼런스
- ^ a b Dyer, Dan. "Why are you still not using Hudson?". Retrieved 2008-05-21.
- ^ 젠킨스 1.396은 웨이백 머신에서 2018-12-08 아카이브를 공개했고, 젠킨스의 첫 번째 공개가 게시되었습니다, 카와구치 고스케.
- ^ "Release 2.417". 1 August 2023. Retrieved 5 August 2023.
- ^ "LICENSE.txt".
jenkinsci/jenkins
(source code repository). GitHub (published 2011-09-11). 2008-02-12. Archived from the original on 2016-10-18. Retrieved 2016-10-18. - ^ Kawaguchi, Kohsuke; et al. "Use Hudson: License". Archived from the original on February 7, 2009. Retrieved January 30, 2011.
- ^ "About Jenkins". Eclipse Wiki: Jenkins. Retrieved 6 August 2017.
- ^ "About Jenkins". Wayback Machine: Eclipse Wiki, first available on 6 August 2017. Archived from the original on 4 September 2018. Retrieved 3 September 2018.
- ^ a b "About Jenkins". Eclipse Wiki history.
- ^ Fredrick, Jeffrey. "What is the difference between Hudson and CruiseControl for Java projects?". Stack Overflow. Retrieved January 17, 2011.
- ^ Duboscq, Geneviève (2008). "2008 JavaOne Conference: Duke's Choice Awards Winners for 2008". 2008 Java One Conference. java.sun.com. Retrieved May 21, 2008.
- ^ Rodrigues, Savio (December 3, 2010). "Oracle's open source missteps continue with Hudson project". InfoWorld. Retrieved May 31, 2018.
- ^ Proffitt, Brian (February 2, 2011). "Hudson devs vote for name change; Oracle declares fork". ITWorld. Retrieved May 31, 2018.
- ^ Krill, Paul (May 4, 2011). "Oracle hands Hudson to Eclipse, but Jenkins fork seems permanent". InfoWorld. Retrieved May 31, 2018.
- ^ "Jenkins organization on GitHub". GitHub. Retrieved May 31, 2018.
- ^ "Hudson organization on Github". GitHub. Retrieved May 31, 2018.
- ^ Morris, Richard (July 17, 2012). "Kohsuke Kawaguchi: Geek of the Week". Retrieved May 31, 2018.
- ^ "What's New in Jenkins 2.0". August 24, 2016.
- ^ "Introducing Jenkins X: a CI/CD solution for modern cloud applications on Kubernetes". Introducing Jenkins X: a CI/CD solution for modern cloud applications on Kubernetes.
- ^ "Continuous Delivery with Amazon EKS and Jenkins X". Amazon Web Services. November 7, 2018. Archived from the original on May 6, 2019. Retrieved November 23, 2018.
- ^ "Plugins". wiki.jenkins-ci.org.
- ^ "Mailer - Jenkins - Jenkins Wiki". wiki.jenkins.io. Retrieved November 26, 2017.
- ^ "Credentials Plugin - Jenkins - Jenkins Wiki". wiki.jenkins-ci.org. Retrieved November 26, 2017.
- ^ "Monitoring external jobs - Jenkins - Jenkins Wiki". wiki.jenkins.io. Retrieved November 26, 2017.
- ^ "Jenkins source code". GitHub. Retrieved 2018-05-19.
- ^ "SSH Build Agent - Jenkins Plugin". plugins.jenkins.io. Retrieved June 12, 2020.
- ^ "Javadoc Plugin - Jenkins - Jenkins Wiki". wiki.jenkins.io. Retrieved November 26, 2017.
- ^ "Generate and publish edoc in Jenkins using Javadoc plugin Erlanger".
- ^ "Securing Jenkins". jenkins.io. Retrieved 2016-09-13.
- ^ a b "Awards - Jenkins - Jenkins Wiki". wiki.jenkins-ci.org. Retrieved 2016-09-13.
외부 링크

- 공식 웹사이트
- Moser, Manfred; O'Brien, Tim (2011-11-25). Hudson free book (PDF). Oracle, Inc. Archived from the original (PDF) on 2012-10-17.
- Kawaguchi, Kohsuke (2011-02-08). "Jenkins creator Kohsuke Kawaguchi on The Changelog podcast talking about the project origin and name change". the changelog. Retrieved 2016-03-03.
- Kawaguchi, Kohsuke (2015-02-15). "7 Ways to Optimize Jenkins/Hudson (by its founder)" (PDF). CloudBees. Archived from the original (PDF) on 2011-10-27. Retrieved 2016-03-03.
- Lavie, Assaf (2017-03-01). "Building Docker with Jenkins". cloudshare.com.