9가지 흥미로운 Jenkins 프로젝트 아이디어 및 주제 [초보자 및 경험자용]

게시 됨: 2020-09-10

Jenkins는 DevOps 전문가에게 인기 있는 오픈 소스 도구입니다. 지속적인 통합을 용이하게 하며 Java로 구축됩니다. DevOps 및 자동화에 대해 배우고 있다면 Jenkins는 가장 유명한 DevOps 팀의 도구 중 하나이므로 알아야 합니다. DevOps 팀은 소프트웨어 제품의 개발 주기 전반에 걸쳐 이 도구를 사용합니다.

Jenkins와 같은 도구에 대해 배우는 가장 좋은 방법은 해당 프로젝트에서 작업하는 것입니다. 이것이 이 기사에서 최고의 Jenkins 프로젝트 아이디어에 대해 논의하는 이유입니다. 우리의 프로젝트는 다양한 기술 수준을 위한 것이므로 관심과 경험에 따라 선택할 수 있습니다. 의 시작하자:

목차

최고의 Jenkins 프로젝트 아이디어

전제 조건

다음 Jenkins 프로젝트 작업을 시작하기 전에 Java에 대한 충분한 지식이 있어야 합니다. Jenkins는 Java를 기반으로 하므로 해당 구문 및 구현에 익숙해야 합니다. 그렇지 않으면 아래에서 논의한 일부 프로젝트를 완료하는 데 어려움을 겪을 것입니다. 일부 프로젝트에는 추가 기술이 필요합니다.

1. 블루오션

Jenkins로 작업하면서 배워야 할 프로젝트입니다. Blue Ocean은 사용자가 그래픽을 통해 CD(Continuous Delivery) 파이프라인을 생성, 진단 및 시각화할 수 있도록 합니다. 독특하고 사용하기 쉬운 그래픽 인터페이스를 제공하여 Jenkins의 사용을 단순화합니다. Continuous Delivery 파이프라인을 처음 접하거나 약간의 경험이 있더라도 비교적 배우기 쉽습니다.

Blue Ocean은 출시 이후 Jenkins의 필수적인 부분이 되었으며 그렇기 때문에 Blue Ocean의 작동 방식에 대해 배워야 합니다. Blue Ocean에 대해 배우면 Jenkins의 작동 방식과 이를 지속적 전달에 사용할 수 있는 방법을 알 수 있습니다. 시각화 기능을 사용하면 비기술적 사용자에게도 파이프라인을 표시할 수 있는 방식으로 파이프라인을 나타낼 수 있습니다. 간단한 표현으로 문제 진단도 쉽습니다. 시각화를 사용하여 오류를 쉽게 찾고 빠르게 수정할 수 있습니다.

대체로 Blue Ocean에 대해 배우면 Jenkins에 익숙해지는 데 큰 도움이 될 것입니다.

2. 젠킨스 인프라

Jenkins는 오픈 소스 기술입니다. 이는 코드를 모든 사람이 공개적으로 사용할 수 있음을 의미합니다. 노련한 프로그래머이고 전문 지식을 선보이고 싶다면 해당 인프라에 기여할 수 있습니다. 이력서에 멋지게 표시되고 협업 작업에 대해 많은 것을 배우는 데 도움이 될 것입니다. 또한 Jenkins가 개선되도록 지원하면서 오픈 소스 기술이 어떻게 개선되는지 경험하게 될 것입니다.

Jenkins Infrastructure에 기여하는 방법은 다양합니다. 그들의 웹사이트나 기술의 기본 인프라에 기여할 수 있습니다. 사이트에 기여하려면 HTML을 사용해야 하지만 인프라 기여를 위해서는 Ruby를 구현해야 합니다. 개발자와 기여자로 구성된 번창하는 커뮤니티가 있으며 문제에 직면했을 때 기꺼이 도움을 줄 것입니다. Jenkins Infrastructure에 대해 자세히 알아보려면 여기로 이동하십시오 .

3. Jenkins 원격 프로젝트

이것은 네트워킹 학생과 애호가를 위한 훌륭한 프로젝트 아이디어입니다. 이를 통해 Jenkins의 네트워킹 응용 프로그램을 배우고 구현을 향상시킬 수 있는 방법을 확인할 수 있습니다. Jenkins Remoting은 통신 레이어를 구현하기 위한 아카이브이자 라이브러리입니다. TCP 프로토콜, 데이터 스트리밍, 프로시저 호출 등이 있습니다. TCP 프로토콜을 기반으로 하기 때문에 동일한 프로토콜이 실패하면 에이전트의 연결도 실패합니다. 프로토콜은 여러 에이전트가 이를 통해 통신할 때도 방해가 됩니다. 이러한 단점은 Jenkins의 규모와 안정성에 영향을 미칩니다.

따라서 이 프로젝트에서는 Jenkins Remoting을 개선할 수 있습니다. 메시지 버스/대기열 기술(ActiveMQ 또는 RabbitMQ)과 호환되도록 하면 됩니다. Jenkins의 내결함성 계층 역할을 할 수 있습니다. 이 프로젝트를 완료하려면 네트워킹, 메시지 대기열 및 Java의 기본 사항에 익숙해야 합니다.

4. Jenkins ATH 개선

Jenkins ATH(Acceptance Test Harness) 는 DSL 라이브러리 및 Jenkinsfile을 배포하기 전에 테스트하기 위한 도구입니다. 그러나 이 도구의 이전 버전에는 몇 가지 단점이 있습니다.

  • 모든 테스트 방법에 대해 완전한 인스턴스를 부트스트랩해야 하므로 상대적으로 성능이 느립니다.
  • 실제 환경에는 일반적으로 정확한 플러그인 세트와 해당 버전이 필요합니다.

이 두 가지 문제를 모두 수정하여 Jenkins ATH를 개선할 수 있습니다. 이전에 Jenkins 프로젝트에서 작업한 적이 없다면 이러한 문제 중 하나를 먼저 수정하고 다음 문제 해결로 넘어갈 수 있습니다. 이 프로젝트를 완료하려면 Java와 함께 Docker 및 Selenium에 익숙해야 합니다.

5. Discard Builds 단계를 위한 플러그인

이 프로젝트에서는 사용자에게 데이터 보존 정책을 보다 적절하게 관리할 수 있는 기능을 제공하는 플러그인을 만들어야 합니다. 플러그인은 사용자가 아티팩트, 기록 및 작업 공간을 구축하기 위한 정책을 구현할 수 있도록 해야 합니다. 일반적으로 작업 관리자는 이 문제를 처리해야 하지만 프로젝트 기여자에게 데이터 보존 정책을 구현할 수 있는 기능을 제공하는 것이 더 적합합니다. 플러그인은 사용자가 파이프라인 빌드 단계를 사용하여 데이터 보존 정책을 만들고 정의할 수 있도록 해야 합니다.

Discard Old Builds 기능을 개선하고 코드에 더 적합하게 만들 수 있습니다. 현재 Discard Old Builds 기능이 제공하는 것보다 더 많은 기능을 제공하는 데 집중할 수 있습니다. 플러그인 작업은 두 섹션으로 나눌 수 있습니다. 먼저 특정 작업의 기록에 따라 폐기해야 하는 빌드를 선택합니다. 그런 다음 목록에 추가한 빌드를 삭제해야 합니다.

가장 관심 있는 Jenkins 프로젝트 중 하나이며 완료함으로써 많은 것을 배울 수 있습니다. Run Selector Plugin을 프로젝트의 기초로 사용할 수 있습니다.

6. 코드 적용 범위

코드 커버리지를 수행하는 플러그인을 빌드할 수 있습니다. 가장 일반적인 Jenkins 프로젝트 아이디어 중 하나이지만 코드 검사 도구를 독특하고 강력하게 만들면 한 단계 더 발전할 수 있습니다. 예를 들어, 여러 코드 검사 도구를 하나로 병합하여 플러그인을 보다 다양하고 실용적으로 만들 수 있습니다. 초보자라면 간단한 코드 커버리지 플러그인만 구축할 수 있습니다. 반면에 노련한 Jenkins 프로그래머라면 여기에서 공유한 아이디어, 즉 다른 플러그인을 하나로 결합하여 프로젝트를 더 어렵게 만들 수 있습니다.

Java 외에도 이 프로젝트에서도 HTML과 CSS를 구현해야 합니다. 그들은 도구의 구조와 모양을 더 좋고 매력적으로 만드는 데 도움이 될 것입니다.

7. EDA 도구

전자 설계 자동화(EDA) 도구는 다양한 장점으로 인해 엔지니어들 사이에서 매우 인기가 있습니다. Jenkins와 하나의 EDA 도구를 통합하는 플러그인을 구축하여 두 도구의 성능을 동시에 향상시킬 수 있습니다. EDA 도구를 Jenkins와 통합하면 사용자가 이전에는 달성할 수 없었던 많은 작업을 수행할 수 있습니다. 예를 들어, 타이밍 보고서를 게시하고, 요구 사항에 따라 다른 Jenkins 플러그인을 사용하고, 단계별로 파이프라인 작업을 시작하는 등의 작업을 수행할 수 있습니다.

시장에는 많은 오픈 소스 EDA 도구가 있습니다. 이러한 오픈 소스 도구(FuseSoC, icetools, Yosys 등) 중 하나를 선택하거나 원하는 다른 수단을 선택할 수 있습니다. 초보자라면 하나의 EDA 도구로 시작하여 Jenkins와 통합할 수 있습니다. 반면에 다양한 EDA 도구를 다양한 Jenkins 플러그인과 통합하여 이 작업을 더 어렵게 만들 수 있습니다. 엔지니어링 분야에서 Jenkins의 응용 프로그램을 배울 수 있는 훌륭한 프로젝트입니다.

8. Jenkins 지문을 위한 외부 저장소

Jenkins는 지문 엔진을 통해 아티팩트, 자격 증명, 사용 기록 및 기타 관련 데이터를 저장합니다. 엔진에는 작업을 용이하게 하기 위해 다양한 WebUI가 있는 XML 데이터베이스가 있습니다. Jenkins Fingerprinting 엔진이 외부 저장소 데이터를 저장할 수 있도록 Jenkins 플러그인을 만들 수 있습니다.

많은 조직에서 다양한 이유로 데이터를 다른 스토리지로 내보내야 할 수 있습니다(예: 엔진의 스토리지 부족). 귀하의 솔루션을 사용하면 사용자가 엔진에서 데이터를 내보내고 다른 용도로 사용할 수 있습니다. 이 작업을 시작하기 전에 Jenkins 프로젝트 작업 경험이 있어야 합니다.

이 작업을 완료하려면 JavaScript, REST API 및 Java를 사용해야 합니다. 또한 이 프로젝트에서 작업할 때 데이터베이스 및 해당 작업에 대해 잘 알고 있어야 합니다.

9. Jenkins용 작업 변환기

Jenkins는 지속적 전달을 위한 도구이므로 효율성을 위해 파이프라인에 중점을 둡니다. 그러나 우리는 많은 작업이 파이프라인 기반이 아니라 자유형이라는 것을 알고 있습니다. 자유형 작업을 파이프라인 작업으로 변환하는 Jenkins용 도구를 빌드할 수 있습니다. 장치는 자유형 작업 데이터를 데이터베이스로 마이그레이션하고 파이프라인 작업으로 정렬해야 합니다.

초보자는 간단한 마이그레이션 및 변환 도구를 만들어 프로젝트를 단순하게 유지할 수 있습니다. 반면에 여러 자유형 작업을 마이그레이션하고 단일 파이프라인 작업으로 변환할 수 있도록 하여 더 어렵게 만들 수 있습니다.

도구에는 데이터 마이그레이션용 섹션과 변환용 섹션이 있습니다. 이 프로젝트에서 작업하려면 Groovy(Jenkins Pipeline을 담당하는 언어), Python, Java, XML 및 Jenkins Pipelines에 익숙해야 합니다.

Jenkins 및 지속적 배포에 대해 자세히 알아보기

목록의 끝에 도달했습니다. Jenkins 프로젝트 아이디어가 도움이 되었기를 바랍니다. 이러한 프로젝트에서 작업하면 더 나은 Jenkins 사용자 및 개발자가 되는 데 도움이 됩니다. 지속적 배포 구현에 대한 경험도 제공합니다. Jenkins 및 Continuous Delivery에 대해 자세히 알아보려면 블로그를 방문하는 것이 좋습니다. 우리 블로그에서 이와 같은 가치 있고 흥미로운 리소스를 많이 찾을 수 있습니다. 다음은 더 읽을 수 있는 두 가지입니다.

  • 인도의 Jenkins 급여
  • 젠킨스란? 역사, 건축 등
  • 젠킨스 인터뷰 질문

전체 스택 개발에 대해 자세히 알아보려면 upGrad & IIIT-B의 전체 스택 소프트웨어 개발 PG 디플로마를 확인하세요. 이 PG 디플로마는 일하는 전문가를 위해 설계되었으며 500시간 이상의 엄격한 교육, 9개 이상의 프로젝트 및 과제를 제공합니다. , IIIT-B 동문 자격, 실질적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.

이 기사에 대한 귀하의 생각은 무엇입니까? 어떤 프로젝트 아이디어가 가장 마음에 드셨나요? 아래 댓글 섹션에 알려주십시오.

소프트웨어 개발 코스 | 마스터 자바, C, Python 등‎

업계에서 신뢰하는 학습 - 실용 중심 과정 - 업계에서 인정하는 인증.
오늘 등록