Jenkins (программное обеспечение) — Jenkins (software)
Дженкинс это бесплатный и открытый исходный код сервер автоматизации. Это помогает автоматизировать части разработка программного обеспечения относится к строительство, тестирование, и развертывание, облегчая непрерывная интеграция и непрерывная доставка. Это серверная система, работающая в контейнеры сервлетов Такие как Apache Tomcat. Он поддерживает управление версиями инструменты, в том числе AccuRev, CVS, Subversion, Git, Mercurial, Волей случая, ClearCase и RTC, и может выполнить Apache Ant, Apache Maven и сбт основанные проекты, а также произвольные сценарии оболочки и Windows пакетные команды.
- 1 История
- 2 Строит
- 3 Плагины
- 3.1 Почтовая программа
- 3.2 Реквизиты для входа
- 3.3 Мониторинг внешних вакансий
- 3.4 Агенты SSH
- 3.5 Javadoc
- 3.6 Онлайн-объяснение
История
Первоначально проект Jenkins назывался Hudson, и был переименован после спора с Oracle, который имел раздвоенный проект и заявленные права на название проекта. Вилка Oracle, Hudson, продолжали разрабатываться какое-то время, прежде чем были переданы в дар Фонд Затмения. Oracle’s Hudson больше не поддерживается [6] [7] и был объявлен устаревшим в феврале 2017 года. [8]
Примерно в 2007 году Хадсон стал известен как лучшая альтернатива Круиз-контроль и другие серверы сборки с открытым исходным кодом. [1] [9] На JavaOne На конференции в мае 2008 г. программное обеспечение получило награду Duke’s Choice Award в категории «Решения для разработчиков». [10]
В ноябре 2010 г. после приобретения Sun Microsystems компанией Oracle, в сообществе Hudson возникла проблема, связанная с используемой инфраструктурой, которая разрослась и стала включать в себя вопросы, касающиеся управления и контроля со стороны Oracle. [11] Состоялись переговоры между основными участниками проекта и Oracle, и, хотя было много областей согласия, ключевым камнем преткновения была товарный знак имя «Hudson» после того, как Oracle заявила право на имя и подала заявку на регистрацию товарного знака в декабре 2010 года. В результате 11 января 2011 года был проведен призыв к голосованию за изменение названия проекта с «Hudson» на «Jenkins» . » Предложение было одобрено большинством голосов сообщества 29 января 2011 года, в результате чего был создан проект Jenkins. [12]
1 февраля 2011 года Oracle заявила, что намерена продолжить разработку Hudson, и считает Jenkins скорее форком, чем переименованием. Таким образом, Дженкинс и Хадсон продолжили как два независимых проекта. [13] каждый утверждает, что другой — это вилка. По состоянию на июнь 2019 года организация Jenkins на GitHub 667 участников проекта и около 2200 публичных репозиториев, [14] по сравнению с 28 участниками проекта Hudson и 20 общедоступными репозиториями с последним обновлением в 2016 году. [15]
В 2011 году создатель Косуке Кавагути получил Премия O’Reilly за открытый исходный код за его работу над проектом Хадсон / Дженкинс. [16]
20 апреля 2016 года вышла версия 2 с Трубопровод плагин включен по умолчанию. [17] Плагин позволяет писать инструкции по сборке на языке предметной области на основе Apache Groovy.
Дженкинс заменил Хадсона с 8 февраля 2017 года в Eclipse. [8]
В марте 2018 г. Дженкинс Икс программный проект для Kubernetes был публично представлен, [18] с поддержкой различных облачных провайдеров, в том числе AWS EKS. [19]
Строит
Строит может запускаться разными способами, например:
- веб-перехватчик, который срабатывает при нажатии совершает в системе контроля версий
- планирование через cron -подобный механизм
- запрос конкретной сборки URL.
- после завершения других сборок в очереди
- вызывается другими сборками
Плагины
Плагины были выпущены для Jenkins, которые распространяют его использование на проекты, написанные на языках, отличных от Ява. Доступны плагины для интеграции Jenkins с большинством систем контроля версий и баз данных ошибок. Многие инструменты сборки поддерживаются соответствующими плагинами. Плагины также могут изменить внешний вид Jenkins или добавить новые функции.
Существует набор плагинов, предназначенных для модульного тестирования, которые генерируют отчеты о тестировании в различных форматах (например, JUnit в комплекте с Jenkins, MSTest, NUnit, так далее. [20] ) и автоматизированное тестирование который поддерживает автоматические тесты. Сборки могут создавать отчеты о тестировании в различных форматах, поддерживаемых плагинами (JUnit поддержка в настоящее время включена), а Jenkins может отображать отчеты и генерировать тенденции и отображать их в графическом интерфейсе.
Почтовая программа
Позволяет настроить уведомления по электронной почте о результатах сборки. [21] Jenkins будет отправлять электронные письма указанным получателям всякий раз, когда происходит определенное важное событие, например:
- Неудачная сборка.
- Нестабильная сборка.
- Успешная сборка после неудачной сборки, указывающая на то, что кризис закончился
- Нестабильная сборка после успешной, указывающая на регресс
Реквизиты для входа
Позволяет хранить учетные данные в Jenkins. Предоставляет стандартизированный API для других плагинов для хранения и извлечения различных типов учетных данных. [22]
Мониторинг внешних вакансий
Добавляет возможность отслеживать результат выполняемых извне заданий. [23]
Агенты SSH
Этот плагин позволяет управлять агентами (ранее называемыми рабами). [24] работает на машинах * nix через SSH. [25] Он добавляет новый тип метода запуска агента. Этот метод запуска будет
- Откройте SSH-соединение с указанным хостом под указанным именем пользователя,
- Проверьте версию Java по умолчанию для этого пользователя,
- [еще не реализовано] Если версия по умолчанию несовместима с Jenkins agent.jar, попробуйте найти подходящую версию Java
- Как только у него будет подходящая версия Java, скопируйте последнюю agent.jar через SFTP (возврат к scp, если SFTP недоступен),
- Запустите процесс агента.
Javadoc
Этот плагин добавляет поддержку Javadoc в Jenkins. Раньше эта функция была частью ядра, но начиная с Jenkins 1.431 она была разделена на отдельные плагины. [26]
Плагин позволяет выбрать «Опубликовать Javadoc» в качестве действия после сборки, указав каталог, в котором будет собираться Javadoc, и если ожидается сохранение для каждой успешной сборки. [27]
Онлайн-объяснение
Jenkins можно использовать для планирования и мониторинга запуска сценария оболочки через пользовательский интерфейс вместо командной строки.
Безопасность
Безопасность Jenkins зависит от двух факторов: контроля доступа и защиты от внешних угроз. Контроль доступа можно настроить двумя способами: аутентификация пользователя и
Опубликовано: 06.11.2020
бесплатная программа, позволяющая организовать процесс непрерывной интеграции (CI или Continuous Integration) и доставки (CD или Continuous Delivery) программного продукта (постоянное объединение рабочих копий в основную ветку разработки). Разработана на Java и является веб-приложением. Для своей работы требует веб-сервер Tomcat.
Скачать программу можно на официальном сайте. Jenkins можно установить на все популярные операционные системы — Windows, Linux, Mac OS и другие. Поддерживается установка на саму систему или в виде контейнера Docker. В Linux также можно установить из репозитория. Системные требования не высокие:
- JDK 1,5 или выше.
- От 256 Мб ОЗУ (рекомендуется от 2 Гб).
- Дисковое пространство, достаточное для хранение проектов.
Получить документацию также можно на официальном сайте. Также можно просмотреть онлайн курс для начинающих (на русском) на YouTube канале ADV-IT.
Функциональные возможности системы можно значительно расширить с помощью плагинов. Например, Pipeline позволяет разбить доставку программного обеспечения на стадии, каждую из которых можно контролировать.
Среди аналогов можно отметить:
- Bamboo.
- GitLab CI/CD.
- TeamCity
- circleci.
Подробнее о Jenkins на Википедии.
Источник: www.dmosk.ru
Jenkins (программное обеспечение) — Jenkins (software)
Дженкинс это бесплатный и открытый исходный код сервер автоматизации. Это помогает автоматизировать части разработка программного обеспечения относится к строительство, тестирование, и развертывание, облегчая непрерывная интеграция и непрерывная доставка. Это серверная система, работающая в контейнеры сервлетов Такие как Apache Tomcat. Он поддерживает управление версиями инструменты, в том числе AccuRev, CVS, Subversion, Git, Mercurial, Волей случая, ClearCase и RTC, и может выполнить Apache Ant, Apache Maven и сбт основанные проекты, а также произвольные сценарии оболочки и Windows пакетные команды.
- 1 История
- 2 Строит
- 3 Плагины
- 3.1 Почтовая программа
- 3.2 Реквизиты для входа
- 3.3 Мониторинг внешних вакансий
- 3.4 Агенты SSH
- 3.5 Javadoc
- 3.6 Онлайн-объяснение
История
Первоначально проект Jenkins назывался Hudson, и был переименован после спора с Oracle, который имел раздвоенный проект и заявленные права на название проекта. Вилка Oracle, Hudson, продолжали разрабатываться какое-то время, прежде чем были переданы в дар Фонд Затмения. Oracle’s Hudson больше не поддерживается [6] [7] и был объявлен устаревшим в феврале 2017 года. [8]
Примерно в 2007 году Хадсон стал известен как лучшая альтернатива Круиз-контроль и другие серверы сборки с открытым исходным кодом. [1] [9] На JavaOne На конференции в мае 2008 г. программное обеспечение получило награду Duke’s Choice Award в категории «Решения для разработчиков». [10]
В ноябре 2010 г. после приобретения Sun Microsystems компанией Oracle, в сообществе Hudson возникла проблема, связанная с используемой инфраструктурой, которая разрослась и стала включать в себя вопросы, касающиеся управления и контроля со стороны Oracle. [11] Состоялись переговоры между основными участниками проекта и Oracle, и, хотя было много областей согласия, ключевым камнем преткновения была товарный знак имя «Hudson» после того, как Oracle заявила право на имя и подала заявку на регистрацию товарного знака в декабре 2010 года. В результате 11 января 2011 года был проведен призыв к голосованию за изменение названия проекта с «Hudson» на «Jenkins» . » Предложение было одобрено большинством голосов сообщества 29 января 2011 года, в результате чего был создан проект Jenkins. [12]
1 февраля 2011 года Oracle заявила, что намерена продолжить разработку Hudson, и считает Jenkins скорее форком, чем переименованием. Таким образом, Дженкинс и Хадсон продолжили как два независимых проекта. [13] каждый утверждает, что другой — это вилка. По состоянию на июнь 2019 года организация Jenkins на GitHub 667 участников проекта и около 2200 публичных репозиториев, [14] по сравнению с 28 участниками проекта Hudson и 20 общедоступными репозиториями с последним обновлением в 2016 году. [15]
В 2011 году создатель Косуке Кавагути получил Премия O’Reilly за открытый исходный код за его работу над проектом Хадсон / Дженкинс. [16]
20 апреля 2016 года вышла версия 2 с Трубопровод плагин включен по умолчанию. [17] Плагин позволяет писать инструкции по сборке на языке предметной области на основе Apache Groovy.
Дженкинс заменил Хадсона с 8 февраля 2017 года в Eclipse. [8]
В марте 2018 г. Дженкинс Икс программный проект для Kubernetes был публично представлен, [18] с поддержкой различных облачных провайдеров, в том числе AWS EKS. [19]
Строит
Строит может запускаться разными способами, например:
- веб-перехватчик, который срабатывает при нажатии совершает в системе контроля версий
- планирование через cron -подобный механизм
- запрос конкретной сборки URL.
- после завершения других сборок в очереди
- вызывается другими сборками
Плагины
Плагины были выпущены для Jenkins, которые распространяют его использование на проекты, написанные на языках, отличных от Ява. Доступны плагины для интеграции Jenkins с большинством систем контроля версий и баз данных ошибок. Многие инструменты сборки поддерживаются соответствующими плагинами. Плагины также могут изменить внешний вид Jenkins или добавить новые функции.
Существует набор плагинов, предназначенных для модульного тестирования, которые генерируют отчеты о тестировании в различных форматах (например, JUnit в комплекте с Jenkins, MSTest, NUnit, так далее. [20] ) и автоматизированное тестирование который поддерживает автоматические тесты. Сборки могут создавать отчеты о тестировании в различных форматах, поддерживаемых плагинами (JUnit поддержка в настоящее время включена), а Jenkins может отображать отчеты и генерировать тенденции и отображать их в графическом интерфейсе.
Почтовая программа
Позволяет настроить уведомления по электронной почте о результатах сборки. [21] Jenkins будет отправлять электронные письма указанным получателям всякий раз, когда происходит определенное важное событие, например:
- Неудачная сборка.
- Нестабильная сборка.
- Успешная сборка после неудачной сборки, указывающая на то, что кризис закончился
- Нестабильная сборка после успешной, указывающая на регресс
Реквизиты для входа
Позволяет хранить учетные данные в Jenkins. Предоставляет стандартизированный API для других плагинов для хранения и извлечения различных типов учетных данных. [22]
Мониторинг внешних вакансий
Добавляет возможность отслеживать результат выполняемых извне заданий. [23]
Агенты SSH
Этот плагин позволяет управлять агентами (ранее называемыми рабами). [24] работает на машинах * nix через SSH. [25] Он добавляет новый тип метода запуска агента. Этот метод запуска будет
- Откройте SSH-соединение с указанным хостом под указанным именем пользователя,
- Проверьте версию Java по умолчанию для этого пользователя,
- [еще не реализовано] Если версия по умолчанию несовместима с Jenkins agent.jar, попробуйте найти подходящую версию Java
- Как только у него будет подходящая версия Java, скопируйте последнюю agent.jar через SFTP (возврат к scp, если SFTP недоступен),
- Запустите процесс агента.
Javadoc
Этот плагин добавляет поддержку Javadoc в Jenkins. Раньше эта функция была частью ядра, но начиная с Jenkins 1.431 она была разделена на отдельные плагины. [26]
Плагин позволяет выбрать «Опубликовать Javadoc» в качестве действия после сборки, указав каталог, в котором будет собираться Javadoc, и если ожидается сохранение для каждой успешной сборки. [27]
Онлайн-объяснение
Jenkins можно использовать для планирования и мониторинга запуска сценария оболочки через пользовательский интерфейс вместо командной строки.
Безопасность
Безопасность Jenkins зависит от двух факторов: контроля доступа и защиты от внешних угроз. Контроль доступа можно настроить двумя способами: аутентификация пользователя и авторизация. Защита от внешних угроз, таких как CSRF также поддерживаются атаки и вредоносные сборки. [28]
Награды и признание
- InfoWorld Премия Bossie (Лучшее программное обеспечение с открытым исходным кодом) в 2011 году. [29]
- Получил награду Geek Choice Award в 2014 году. [29]
Смотрите также
- Портал бесплатного программного обеспечения с открытым исходным кодом
Рекомендации
- ^ аб Дэн Дайер. «Почему вы все еще не используете Гудзон?» . Получено 2008-05-21 .
- ^Выпущен Jenkins 1.396, Опубликован первый выпуск Jenkins, Косуке Кавагути
- ^«Список релизов». github.com . Получено 2020-12-03 .
- ^»LICENSE.txt». Дженкинси / Дженкинс (репозиторий исходного кода). GitHub (опубликовано 11 сентября 2011 г.). 2008-02-12. В архиве из оригинала от 18.10.2016 . Получено 2016-10-18 .
- ^ Кавагути, Косукэ; и другие. «Использовать Хадсон: Лицензия». Архивировано из оригинал 7 февраля 2009 г. . Получено 30 января, 2011 .
- ^»О Дженкинсе». Eclipse Wiki: Дженкинс . Получено 6 августа 2017 .
- ^»О Дженкинсе». Wayback Machine: Eclipse Wiki, впервые доступна 6 августа 2017 г.. Архивировано из оригинал 4 сентября 2018 г. . Получено 3 сентября 2018 .
- ^ аб»О Дженкинсе». История Eclipse Wiki.
- ^ Джеффри Фредрик. [имя пользователя]. «В чем разница между Hudson и CruiseControl для проектов Java?». Переполнение стека . Получено 17 января, 2011 .
- ^ Duboscq, Женевьева (2008). «Конференция JavaOne 2008 года: победители конкурса Duke’s Choice Awards 2008 года». Конференция Java One 2008 г.. java.sun.com . Получено 21 мая, 2008 .
- ^ Родригес, Савио (3 декабря 2010 г.). «Ошибки Oracle с открытым исходным кодом продолжаются в проекте Hudson». InfoWorld . Получено 31 мая, 2018 .
- ^ Проффитт, Брайан (2 февраля 2011 г.). «Разработчики Hudson голосуют за изменение названия; Oracle объявляет форк». ITWorld . Получено 31 мая, 2018 .
- ^ Криль, Пол (4 мая 2011 г.). «Oracle передает Хадсона Eclipse, но вилка Дженкинса кажется постоянной». InfoWorld . Получено 31 мая, 2018 .
- ^»Организация Дженкинса на GitHub» . Получено 31 мая, 2018 .
- ^»Организация Hudson на Github» . Получено 31 мая, 2018 .
- ^ Моррис, Ричард (17 июля 2012 г.). «Косуке Кавагути: Компьютерщик недели» . Получено 31 мая, 2018 .
- ^«Что нового в Jenkins 2.0». 24 августа 2016 г.
- ^«Представляем Jenkins X: решение CI / CD для современных облачных приложений в Kubernetes». Представляем Jenkins X: решение CI / CD для современных облачных приложений на Kubernetes.
- ^«Непрерывная доставка с Amazon EKS и Jenkins X». Веб-сервисы Amazon. 7 ноября 2018.
- ^»Плагины — Jenkins — Jenkins Wiki».
- ^»Мейлер — Дженкинс — Дженкинс Вики». wiki.jenkins.io . Получено 26 ноября, 2017 .
- ^»Плагин учетных данных — Jenkins — Jenkins Wiki». wiki.jenkins-ci.org . Получено 26 ноября, 2017 .
- ^«Мониторинг внешних рабочих мест — Jenkins — Jenkins Wiki». wiki.jenkins.io . Получено 26 ноября, 2017 .
- ^»Исходный код Дженкинса». GitHub . Получено 2018-05-19 .
- ^«Агент сборки SSH — плагин Jenkins». plugins.jenkins.io . Получено 12 июня, 2020 .
- ^»Плагин Javadoc — Jenkins — Jenkins Wiki». wiki.jenkins.io . Получено 26 ноября, 2017 .
- ^«Сгенерируйте и опубликуйте edoc в Jenkins с помощью плагина Javadoc | Erlanger».
- ^»Обеспечение безопасности Дженкинса». jenkins.io . Получено 2016-09-13 .
- ^ аб«Награды — Jenkins — Jenkins Wiki». wiki.jenkins-ci.org . Получено 2016-09-13 .
внешняя ссылка
- Официальный веб-сайт
- Мозер, Манфред; О’Брайен, Тим (25 ноября 2011 г.). Бесплатная книга Hudson (PDF) . Oracle, Inc.
- Косуке Кавагути (08.02.2011). «Создатель Jenkins Косуке Кавагути в подкасте The Changelog рассказывает о происхождении проекта и изменении названия». журнал изменений . Получено 2016-03-03 .
- Косуке Кавагути (15.02.2015). «7 способов оптимизации Jenkins / Hudson (от его основателя)» (PDF) . CloudBees. Архивировано из оригинал (PDF) на 2011-10-27 . Получено 2016-03-03 .
- Ассаф Лави (2017-03-01). «Создание Docker с Дженкинсом». cloudshare.com.
- Нимават, Каришма. «Учебное пособие по созданию конвейера Jenkins для автоматического тестирования Selenium». Как построить конвейер Jenkins для автоматического тестирования Selenium?. Программное обеспечение NEX.
- Мартин Михлмайр (Президент)
- Бдейл Гарби
Источник: wikidea.ru