9 интересных идей и тем для проекта Jenkins [для начинающих и опытных]
Опубликовано: 2020-09-10Jenkins — это инструмент с открытым исходным кодом, популярный среди профессионалов DevOps. Это облегчает непрерывную интеграцию и построено на Java. Если вы изучаете DevOps и автоматизацию, вы должны знать о Jenkins, поскольку это один из самых известных инструментов команд DevOps. Команды DevOps используют этот инструмент на протяжении всего цикла разработки программного продукта.
Лучший способ узнать о таком инструменте, как Jenkins, — это поработать над его проектами. Вот почему в этой статье мы обсудим наши лучшие идеи проекта Jenkins. Наши проекты предназначены для разных уровней квалификации, поэтому вы можете выбрать в соответствии со своими интересами и опытом. Давай начнем:
Оглавление
Наши лучшие идеи проекта Дженкинса
Предпосылки
Обратите внимание, что прежде чем вы начнете работать над любым из следующих проектов Jenkins, вы должны иметь достаточные знания Java. Jenkins основан на Java, поэтому вы должны быть знакомы с его синтаксисом и реализациями. В противном случае вам будет сложно завершить некоторые из проектов, которые мы обсудили ниже. Некоторые проекты требуют дополнительных навыков.
1. Синий океан
Это проект, о котором вы должны узнать, работая с Дженкинсом. Blue Ocean позволяет пользователям создавать, диагностировать и визуализировать конвейеры CD (непрерывной доставки) с помощью графики. Он упрощает использование Jenkins, предлагая уникальный и простой в использовании графический интерфейс. Независимо от того, являетесь ли вы новичком в конвейерах непрерывной доставки или имеете некоторый опыт, вам будет относительно легко научиться.
Blue Ocean стал неотъемлемой частью Jenkins с момента его появления, и поэтому вы должны узнать о его работе. Изучение Blue Ocean позволит вам узнать, как работает Jenkins и как вы можете использовать его для непрерывной доставки. Его функции визуализации позволяют вам представлять пайплайны таким образом, чтобы вы могли показывать их и нетехническим пользователям. Простое представление также облегчает диагностику проблем. Вы можете легко найти ошибки с помощью визуализации и быстро их исправить.
В общем, знакомство с Blue Ocean очень поможет вам познакомиться с Дженкинсом.

2. Инфраструктура Дженкинса
Jenkins — это технология с открытым исходным кодом. Это означает, что его код открыт для всех. Если вы опытный программист и хотите продемонстрировать свой опыт, вы можете внести свой вклад в его инфраструктуру. Это будет отлично смотреться в вашем резюме и поможет вам узнать много нового о совместных задачах. Вы также узнаете, как улучшаются технологии с открытым исходным кодом, помогая Дженкинсу становиться лучше.
Есть разные способы внести свой вклад в инфраструктуру Jenkins. Вы можете внести свой вклад в их веб-сайт или основную инфраструктуру технологии. Чтобы внести свой вклад в развитие сайта, вам придется использовать HTML, а для внесения вклада в инфраструктуру вам потребуется реализовать Ruby. У него есть процветающее сообщество разработчиков и участников, которые с радостью помогут вам, если у вас возникнут какие-либо проблемы. Вы можете перейти сюда, чтобы узнать больше об инфраструктуре Jenkins .
3. Проект удаленного взаимодействия Дженкинса
Это отличная идея проекта для нетворкинга студентов и энтузиастов. Это позволит вам изучить сетевые приложения Jenkins и увидеть, как вы можете улучшить их реализацию. Jenkins Remoting — это архив и библиотека для реализации коммуникационного уровня. У него есть протоколы TCP, потоковая передача данных, вызовы процедур и т. д. Поскольку он основан на протоколах TCP, сбой одного из них приводит к сбою соединения агента. Протоколы также создают помехи, когда через них общаются несколько агентов. Эти недостатки влияют на масштаб и стабильность Jenkins.
Итак, в этом проекте вы можете улучшить Jenkins Remoting. Вы можете сделать это, сделав его совместимым с технологией шины/очереди сообщений (ActiveMQ или RabbitMQ). Он может выступать в качестве отказоустойчивого слоя для Jenkins. Чтобы выполнить этот проект, вы должны быть знакомы с основами работы с сетями, очередями сообщений и Java.
4. Улучшить ATH Дженкинса
Jenkins ATH (Acceptance Test Harness) — это инструмент для тестирования библиотек DSL и Jenkinsfiles перед их развертыванием. Однако у старой версии этого инструмента есть несколько недостатков:
- Он должен загружать полный экземпляр для каждого метода тестирования, поэтому его производительность относительно низкая.
- Реальные среды обычно требуют точного набора плагинов и их версий.
Вы можете улучшить Jenkins ATH, устранив обе эти проблемы. Если вы раньше не работали над какими-либо проектами Jenkins, вы можете сначала решить одну из этих проблем, а затем перейти к решению следующей. Чтобы выполнить этот проект, вы должны быть знакомы с Docker и Selenium, а также с Java.
5. Плагин для шага «Отменить сборку»
В этом проекте вам нужно создать подключаемый модуль, который даст пользователям возможность более адекватно управлять своей политикой хранения данных. Плагин должен позволять пользователям реализовывать политику для создания артефактов, историй и рабочих пространств. Обычно эту проблему должны решать администраторы задачи, но более подходящим было бы предоставление участникам проекта возможности реализовать свою политику хранения данных. Ваш подключаемый модуль должен позволять пользователям создавать и определять свою политику хранения данных с помощью этапа сборки конвейера.

Вы можете улучшить средство Discard Old Builds и сделать его более подходящим для кода. Вы можете сосредоточиться на предоставлении большего количества функций, чем предлагает текущая функция Discard Old Builds. Работа вашего плагина может быть в двух разделах. Во-первых, он выберет сборки, которые необходимо отбросить, в соответствии с историей конкретного задания. Затем он должен отбросить сборки, которые он добавил в свой список.
Это один из самых интересных проектов Дженкинса, и вы многому научитесь, завершив его. Вы можете использовать плагин Run Selector в качестве основы для своего проекта.
6. Покрытие кода
Вы можете создать плагин, который выполняет покрытие кода. Хотя это одна из наиболее распространенных идей проекта Jenkins, вы можете сделать еще один шаг вперед, сделав свой инструмент покрытия кода уникальным и мощным. Например, вы можете объединить несколько инструментов покрытия кода в один и сделать свой плагин более универсальным и практичным. Если вы новичок, вы можете создать только простой плагин покрытия кода. С другой стороны, если вы опытный программист Jenkins, вы можете усложнить проект, следуя изложенной здесь идее, т. е. объединяя разные плагины в один.
Помимо Java, в этом проекте вам также придется реализовать HTML и CSS. Они помогут вам сделать структуру и внешний вид вашего инструмента лучше и привлекательнее.
7. Инструменты САПР
Инструменты Electronic Design Automation (сокращенно EDA) довольно популярны среди инженеров из-за различных преимуществ. Вы можете создать плагин, который интегрирует один инструмент EDA с Jenkins, повышая производительность обоих из них одновременно. Интеграция EDA-инструмента с Jenkins позволит пользователям выполнять многие задачи, с которыми они раньше не могли справиться. Например, они могут публиковать отчеты о времени, использовать другие плагины Jenkins в соответствии со своими требованиями, запускать конвейерные задания с шагами и т. д.
На рынке доступно множество инструментов EDA с открытым исходным кодом. Вы можете выбрать любой из этих инструментов с открытым исходным кодом (FuseSoC, icetools, Yosys и т. д.) или выбрать другие средства по своему вкусу. Если вы новичок, вы можете начать с одного инструмента EDA и интегрировать его с Jenkins. С другой стороны, вы можете усложнить эту задачу, интегрировав различные инструменты EDA с различными плагинами Jenkins. Это отличный проект для изучения применения Jenkins в области машиностроения.
8. Внешнее хранилище для отпечатков пальцев Дженкинса
Jenkins хранит артефакты, учетные данные, историю их использования и другие важные данные с помощью механизма Fingerprinting. Движок имеет базу данных XML с различными веб-интерфейсами для облегчения его работы. Вы можете создать плагин Jenkins, который позволяет механизму Jenkins Fingerprinting хранить данные внешнего хранилища.
Многим организациям может потребоваться экспортировать свои данные в другое хранилище по разным причинам (например, из-за нехватки памяти в движке). Ваше решение позволит пользователям экспортировать свои данные из движка и использовать их для других целей. У вас должен быть некоторый опыт работы над проектами Jenkins, прежде чем вы начнете работать над этим.
Для выполнения этой задачи вам придется использовать JavaScript, REST API и Java. Вы также должны быть знакомы с базами данных и их операциями, поскольку вы будете работать с ними в этом проекте.
9. Конвертер вакансий для Дженкинса
Jenkins — это инструмент для непрерывной доставки, поэтому для повышения эффективности он фокусируется на конвейерах. Тем не менее, мы все знаем, что многие рабочие места являются свободными, а не основанными на Pipeline. Вы можете создать инструмент для Jenkins, который преобразует задания свободного стиля в конвейерные задания. Устройство должно будет перенести данные о задании фристайл в свою базу данных и упорядочить их в задании Pipeline.

Как новичок, вы можете упростить проект, создав простой инструмент миграции и преобразования. С другой стороны, вы можете усложнить задачу, сделав ее способной переносить несколько произвольных заданий и преобразовывать их в одно конвейерное задание.
Ваш инструмент будет иметь два раздела: один для переноса данных, а другой для преобразования. Для работы над этим проектом вы должны быть знакомы с Groovy (язык, отвечающий за Jenkins Pipeline), Python, Java, XML и Jenkins Pipelines.
Узнайте больше о Jenkins и непрерывной доставке
Мы достигли конца нашего списка. Мы надеемся, что наши идеи проекта Jenkins были вам полезны. Работа над этими проектами поможет вам стать лучшим пользователем и разработчиком Jenkins. Это также даст вам опыт реализации непрерывной доставки. Если вы хотите узнать больше о Jenkins и непрерывной доставке, рекомендуем посетить наш блог. В нашем блоге вы найдете много ценных и интересных ресурсов (таких как этот). Вот два для дальнейшего чтения:
- Заработная плата Дженкинса в Индии
- Что такое Дженкинс? История, архитектура и многое другое
- Дженкинс вопросы интервью
Если вам интересно узнать больше о разработке полного стека, ознакомьтесь с дипломом PG upGrad & IIIT-B по разработке программного обеспечения с полным стеком, который предназначен для работающих профессионалов и предлагает более 500 часов тщательного обучения, более 9 проектов и заданий. , статус выпускника IIIT-B, практические практические проекты и помощь в трудоустройстве в ведущих фирмах.
Что вы думаете об этой статье? Какая идея проекта вам понравилась больше всего? Дайте нам знать в разделе комментариев ниже.