Автор оригинала: Piyusha.
Согласно официальной информации Дженкинса Вики, проект Jenkins Freestyle — это типичная работа по сборке или задаче. Это может быть так же просто, как построение или упаковка приложения, прохождения тестов, строящихся или отправка отчета или даже просто работает несколько команд. Собирающиеся данные для тестов также могут быть сделаны Jenkins.
Например, в реальном мире сценарий может включать в себя Jenkins, позволяющие вам представить отчеты для управления журналом на любом указанном этапе, касающемся управления, что может включать в себя подробную информацию об артефактах или журналах приложений доставки. Чтобы получить лучшее понимание, мы погрузимся глубже в том, как создать работу в Дженкинс и в конце концов, проект Jenkins Freestyle.
Давайте узнаем больше о работе Jenkins Build, прежде чем мы начнем создать проект Freestyle.
Что такое работа построения?
Работа по сборке находятся в основе любых процессов сборки Jenkins. Чтобы ясно поставить, представьте, что Jenkins создают работу в качестве определенной задачи или найдите весь процесс сборки. Задача или шаг могут включать в себя просто составление исходного кода и запустить тесты устройства. Или вы можете настроить задание сборки, чтобы выполнить другие задачи, связанные с сотрудничеством, например,
- Измерение кода покрытие или метрики качества кода.
- Запуск ваших тестов интеграции.
- Генерация технической документации.
- И даже развертывание приложения на веб-сервер.
Как правило, реальный проект требует многих раздельных, но связанных заданий по сборке в цикле CI или DEVOPS.
Давайте сначала понять, что проект Дженкинс Freestyle и как мы можем создать его.
Что такое проект Jenkins Freestyle?
Дженкинс поддерживает различные типы строительных рабочих мест. Два наиболее часто используются задания по сборке Jenkins
- Фристайл сборки
- Maven 2/3 сборки
Лучшая часть о проекте Jenkins Freestyle состоит в том, что он позволяет настроить только какие-либо задание по сборке, что делает их очень гибкими и настраиваемыми. Maven 2/3 сборки, с другой стороны, понять структуру проекта Maven и позвольте вам быстро настроить рабочие места сборки Maven с дополнительными функциями.
В работе Freestyle Build вы можете сломать свою работу по сборке на несколько меньших этапов сборки, что облегчает организацию сборки на отдельные этапы. E.G., на одном этапе, сборка может запускать набор функциональных тестов, а затем поместить сборку на втором этапе, если все функциональные тесты успешно. Может быть целесообразно вызывать задачу Ant или Maven Target или запустить сценарий оболочки в техновом этапе сборки.
Различные другие плагины Jenkins также позволяют использовать дополнительные типы шагов сборки. Они вовлекают грейлей, Гэнт, Грак, Грейл, Рубил, MSBUILD и т. Д. Но что подчеркивает проект Jenkins Freestyle, заключается в том, что он позволяет создавать задания по сборке общего назначения с максимальной гибкостью.
Таким образом, нижняя строка — это проекты Freestyle позволяют вам настроить только какую-либо работу по сборке.
Проект Jenkins включает в себя действия и потенциальные действия и является повторяемой работой сборки. Существуют ограничения в видах действий, которые вы можете выполнить в шаге построения или после сборки. В рамках проекта Jenkins Freestyle есть несколько стандартных плагинов, которые помогут вам преодолеть эту проблему. Эти плагины позволяют вам настроить построить триггеры и предлагать проектную безопасность для проекта Jenkins.
Когда использовать проект Jenkins Freestyle?
Доступ к оболочке или пакетной среде распространяет высокий уровень доступа безопасности для проекта Jenkins Freestyle. В средах Preestyle Project удобно создавать сценарий, который указывает на работу Jenkins Freestyle Freestyle на FTP файл с одного сервера в другое, компилируйте каталог кода Java или даже запустить тест Sonarqube. Jenkins Freestyle Wain может быть таким же мощным и сложным, как и любая работа по сборке, построенной с трубопроводом Дженкинса или Groovy DSL. Но единственным недостатком проектов Freestyle является то, что пользователь должен знать, как сценарию все эти действия, и разработчики должны научиться управлять этими сценариями.
Плагины, такие как Git, Maven, и Sonarqube, являются предпочтительным способом доступа к ресурсам. И технологически, каждый разработчик может написать скрипт для доступа к этим ресурсам в проекте Jenkins Freestyle. Тем не менее, рекомендуется, чтобы каждый разработчик в команде разработки должен следить за лучшими практиками в области безопасности и ингибировать от адаптации сценаризованного подхода.
Создание фристайла строить работу
Чтобы установить проекты Freestyle с использованием Jenkins, нам нужно убедиться, что у нас установлены Jenkins и up и работает. Кроме того, обязательно быть аутентифицирован как «администратор». Вы можете обратиться к нашим практическим лицам Учебное пособие в Дженкинс Узнать больше.
Как только у вас есть Дженкинс и готовы, давайте создадим Jenkins Freestyle Road.
Шаг 1.
- Войдите в систему на вашу панель Jenkins через путь установки Jenkins.
- Если вы не определили частный хозяин, он будет размещен на Localhost по адресу http://localhost: 8080.
- Если ваши Jenkins установлены на другом пути, обязательно используйте соответствующий URL для доступа к приборной панели.
Шаг 2 Отказ Перейдите в опцию « Новый пункт » в верхней левой части вашей главной приборной панели.
Шаг 3 Отказ На следующем экране,
- Вот введите имя элемента, который вы хотите создать. Давайте будем использовать «Hello World».
- Выберите « » Фристайл проект «Как вариант для этого нового предмета.
- Нажмите Хорошо Отказ
Когда мы ударили в порядке, Jenkins автоматически отвечает нам на вид конфигурации проекта, где нам нужно настроить данные нашего проекта. Кроме того, мы можем предоставить сложные детали через параметры вкладки.
Первая вкладка — общие детали проекта. Таким образом, следующий шаг — ввести детали проекта.
Шаг 4. Введите данные проекта в Общие Вкладка, включая имя и описание проекта, который необходимо проверить.
Далее давайте понять, что Управление исходным кодом вкладка делает. Он проверяет код из хостов управления версиями, что подразумевает, что если ваш код размещен на GitHub или любые другие репозитории, вы должны добавить детали репозитория. Дженкинс клонирует хранилище.
Значки синего вопроса, присутствующие на правой нижней стороне, обслуживают нас с быстрыми советами, и они могут быть очень находчивыми и иногда предоставляют больше разъяснений.
Шаг 5 Отказ Под Управление исходным кодом (SCM) вкладка,
- Выберите Гит В качестве источника репозитория и введите свой Git Репозиторий URL Отказ
- Если у вас есть ваш репозиторий, созданный локально, допустимо использовать локальный репозиторий.
- Предположим, что репозиторий GitHub, который вы используете, является частным. В этом случае Jenkins проверит учетные данные входа в систему с GitHub, а после успешной проверки он будет потянуть исходный код с вашего репозитория GitHUB.
После того, как вы предоставили все детали проекта и репо, следующая часть — построить код. Вы можете управлять настройками под разделом Build To построить код в желаемое время. Вы можете даже запланировать сборку для периодической работы, если это необходимо.
Шаг 6 Отказ Перейти к Построить Раздел и нажмите на Добавить сборку шаг.
Под построить раздел,
- Нажмите на « Добавить шаг сборки ».
- Затем, « Выполнить команду Windows Batch » и добавьте команды, которые вы хотите выполнить во время процесса сборки.
E.G., Java Compile Batch команды.
Шаг 7 Отказ Когда вы ввели все данные,
- Нажмите Применить Отказ
- Сохранить проэкт.
Шаг 8 Отказ На левой панели на спине нажмите Построить сейчас Кнопка для создания исходного кода.
Шаг 9 Отказ Мы можем увидеть статус сборки под История сборки Отказ
Шаг 10 Отказ Мы можем проверить историю выполненной сборки в истории сборки, нажав номер сборки. Нажав на Номер сборки -> Вывод консоли Он должен показать вам сообщение об успехе или неудаче в зависимости от того, как работала работа.
Подводя итог, мы провели программу «Helloworld» на Github. Дженкин подтянул исходный код из удаленного репозитория и постоянно построил его на частоте, которую вы определяете.
Jenkins Freestyle Project для докеровских контейнеров изображений
Ниже демонстрация состоит в том, чтобы создать проект Jenkins Freestyle, который сначала создает изображение докера, а затем сканирует его на любые уязвимости и проблемы соответствия в качестве теста.
- Перейдите на верхнюю страницу Дженкинса.
- Создайте новый проект.
- Нажмите на ‘ Новый товар . ‘
- Введите имя для вашего проекта « » Введите имя элемента . ‘
- Выберите « » Фристайл проект . ‘
- Затем нажмите, Хорошо Отказ
- Далее добавьте шаг сборки.
- В Построить раздел → Добавить шаг сборки → Выберите Выполнить оболочку → Команда Отказ
- Введите команду ниже в Команда текстовое окно.
echo "Creating Dockerfile..." echo "FROM imiell/bad-dockerfile:latest" > Dockerfile docker build --no-cache -t test/test-image:0.1 .
- Включите шаг сборки, который будет сканировать для уязвимостей в контейнерных изображениях (ых).
- Выберите Сканировать Prisma облачные изображения В Добавить создать фазу выпадающий список.
- Выберите изображение, которое должно быть отсканировано в поле изображения, указав репозиторий и тег.
- Если изображение, которое вы хотите сканировать, генерируется за пределы этого сборки, или если вы хотите сканировать изображение для каждого сборки, даже если новый образ не создается по сборке, то Нажмите Продвинутый а также Выберите Игнорировать время разработки изображения Отказ
- Чтобы напрямую публиковать результаты сканирования в Jenkins, добавьте действие после сборки.
Этот шаг пост-сборки зависит от файла, созданного предыдущим шагом сборки сканирования, который содержит результаты сканирования. В инструменте Build jenkins этот шаг явно делает результаты доступными для обзора. Обратите внимание, что результаты уже были опубликованы в консоли во время последней фазы сканирования, и они готовы к анализу там.
- Выберите Опубликовать Prisma Облако анализ результатов из раскрывающегося меню под добавлением действий после сборки.
- Примите значение по умолчанию в папках результатов сканирования.
- Этап издательства не удаляет файлы результатов из сканирования. В рабочем пространстве они остаются.
- Нажмите Сохранить Тогда Построить сейчас Отказ
- Осмотрите результаты после завершения сборки. В следующих местах доступны отчеты о сканировании:
- Prisma Cloud Console: войти в консоль, перейдите в Монитор -> Уязвимости – > Изображения -> Кабинет .
- Дженкинс: прокрутите вниз на работу на сборку -> затем нажмите Уязвимости изображения Чтобы увидеть подробный отчет.
Jenkins Freestyle Project для неверных функций
Похоже на процедуру контейнерных изображений для настройки Jenkins для сканирования функций без сервеса, за исключением того, что вы можете использовать Scan Prisma Cloud Function Shump.
Здесь:
- Функциональный путь — Путь к ZIP-архиву функции для сканирования.
- Имя функции — (Это необязательно) Строка идентификатора для выравнивания правил политики в консоли с отсканированными функциями. При создании правил политики в консоли имени функции будут направлены на конкретные правила к определенным функциям. Если это поле остается неопределенным, плагин соответствует первой функции правила, где название функции является подстановочным кардиодом.
- AWS CloudFormation Шаблон шаблона — (Это необязательно) Путь к файлу шаблона в формате JSON, либо YAML с CloudFormation. Prisma Cloud Проверяет исходный код функции для используемых API AWS, которые используются API, сравнивает API, используемые с разрешениями функции, и отчеты, когда функции имеют разрешения для API, которые им не нужны.
Преобразование проекта в проекте Jenkins Freestyle на декларативный трубопровод
В Дженкинсах управление фристайлом рабочие места громоздки. Декларативные трубопроводы предлагают более современное и предложенное решение. Однако потребляет время и ошибка, если попытаться преобразовать рабочие места Freestyle в декларативные трубопроводы вручную. Вы можете использовать административный плагин по миграции, чтобы оптимизировать эту операцию. Во время преобразования декларативный помощник по трубопроводам использует подход к лучшему усилию: поддерживаемые конфигурации автоматически преобразуются в проектах Freestyle, а этапы заполнения генерируются для плагинов, которые еще не поддерживаются.
Декларативные преимущества помощника миграции трубопровода включают в себя:
- Создание Jenkinsfile из проекта для фристайла.
- Настройка jenkinsfile.
- Создание проекта трубопровода Jenkins и вставка файла Jenkins.
Генерируя jenkinsfile из проекта для фристайла
Централизованный файл конфигурации, называемый jenkinsfile, является основой для трубопроводов или многосветных трубопроводных проектов. В текстовом редакторе или GUI можно сформировать JenkinsFile. Файл поддерживается либо с кодом проекта или, например, инструментом управления конфигурацией программного обеспечения (SCM), как Git в отдельном репозитории. Использование SCM для хранения файла дает файл конфигурации централизованного местоположения, включает проверку кода и обеспечивает аудиторскую тропу для трубопровода. Чтобы построить первоначальный jenkinsfile, декларативный миграционный трубопровод использует информацию из проекта Freestyle.
Декларативный помощник по миграции трубопровода доступен только от UI Jenkins UI, а не из Дженкинса Кли.
См. Определение трубопровода Для получения дополнительной информации о трубопроводах.
Предпосылки: два плагина, а именно
- Плагины трубопроводов
- Декларативный помощник миграции трубопровода
Шаги для генерации Jenkinsfile из проекта Freestyle
- Перейти к -> Фристайл проект Отказ
- С вкладке проекта Freestyle выберите Декларативно из левого навигационного меню.
Jenkinsfile будет поставляться на просмотр после завершения преобразования.
В настоящее время декларативный плагин миграции по трубопроводам поддерживает небольшое количество плагинов. Он не мог конвертировать: если преобразование перечислено предупреждение для плагинов,
- Плагин не совместим с трубопроводами. Вы должны просмотреть документацию плагина, чтобы посмотреть, является ли он совместимым трубопроводом. Используйте шаг оболочки в качестве опции замены, если плагин не совместим с трубопроводом.
- Плагин совместим с трубопроводом и появляется в генераторе фрагментов. (См. Таблицу ниже для списка совместимых плагинов.) Чтобы построить правильный синтаксис, используйте генератор фрагмента.
- Плагин совместим с трубопроводом и не появится в генераторе фрагмента. Для получения более подробной информации о реализации плагина см. Документацию по трубопроводу; Смотрите настройку jenkinsfile.
- Вы можете писать плагины для декларативного помощника миграции трубопровода для повторного использования; См. Расширение плагина для декларативного помощника миграции трубопровода.
В таблице ниже представлена список поддерживаемых плагинов.
Тип | Шаг |
сразу | портить |
шаг | шаг раковины |
шаг | пакетный шаг |
шаг | Maven Build шаг |
Создать обертку | Плагин конфигурации файлов |
Создать обертку | секрет (конвертировать в привязку учетных данных) |
Создать обертку | Создайте плагин Timeout |
вакансия | Плагин блокируемых ресурсов |
вакансия | Построить параметры |
вакансия | Создать конфигурацию откуда |
построить триггер | upstream проекты триггер |
построить триггер | SCM объединение |
построить триггер | Триггер таймера |
Создание окружающей среды | Предоставить файлы конфигурации |
Создание окружающей среды | Используйте секретные тексты или файлы (ы) |
действие пост-сборки | Junit Plugin |
действие пост-сборки | HTML Плагин издателя |
действие пост-сборки | вызвать другой проект |
действие пост-сборки | Уведомление по почте |
действие пост-сборки | Не потерпеть неудачу, если архивирование ничего не возвращается |
действие пост-сборки | архивные артефакты, только если сборка успешна |
действие пост-сборки | Отпечаток пальцев Все архивные проекты |
Индивидуальная настройка Jenkinsfile
После создания Jenkinsfile из проекта Freestyle у вас есть несколько вариантов.
- Вы можете либо скопировать — вставьте jenkinsfile в текстовый файл.
- Или вы можете загрузить предоставленный текстовый файл и откройте его в текстовом редакторе.
- Затем выполнить те же задачи, выполняемые проектом Freestyle, просмотрите Jenkinsfile и отредактируйте по мере необходимости для нового проекта трубопровода.
Создание проекта трубопровода в Дженкинсах и добавление JenkinsFile
Следующим ходом является добавление JenkinsFile в качестве файла конфигурации в трубопроводный или мультибрианч-проект трубопровода после создания JenkinsFile из проекта Freestyle и редактирования JenkinsFile. Сначала создание проекта трубопровода Дженкинса. Затем, копируя и вставляя jenkinsfile в редактор трубопровода или хранение его в SCM, как GitHub, и связывая репозиторий в проект трубопровода, добавьте JenkinsFile в ваш проект.
Шаги для создания проекта трубопровода и добавления JenkinsFile:
Шаг 1: В Jenkins создайте проект трубопровода и скопируйте и вставьте текст Jenkinsfile в редактор трубопровода.
Шаг 2: Храните jenkinsfile в репозитории для SCM, такого как GitHub и:
или
Расширение декларативной миграции по трубопроводу ассистент
Небольшое количество плагинов в настоящее время поддерживается декларативным плагином миграции по трубопроводу. Для списка поддержанных плагинов см. В таблице выше.
Помимо этого списка, если вы хотите добавить поддержку для определенного плагина, который в настоящее время не поддерживается, он включает в себя прикрепление зависимости API для преобразователя и создания расширения.
Добавление зависимости конвертера API
Следующий фрагмент кода иллюстрирует, как добавить зависимость от API преобразователя:
org.jenkins-ci.plugins.to-declarative declarative-pipeline-migration-assistant-api
Создание расширения
Следующий фрагмент кода — это иллюстрация того, как создать расширение:
@Extension public class ShellConverter extends SingleTypedConverter@Override public boolean convert( ConverterRequest request, ConverterResult result, Object target ) { Shell shell = (Shell) target; /* Do some work to generate a new stage . . . */ ModelASTStage stage = new ModelASTStage( this ); // use a utility method to add the stage to the pipeline model ModelASTUtils.addStage( request.getModelASTPipelineDef(), stage); // true for success, false for failure return true; }
Пример преобразования
Синглетка абстрактного класса
- BuilderConverter: конвертировать Builder
- BuildWrapperConverter: конвертировать BuildWrapper
- JobPropertyConverter: конвертировать JobProperty
- PublisherConverter: конвертировать издательство
- SCMConverter: конвертировать SCM
- TrigggerConverter: конвертировать BuildTriggers
Пример Конвертации шага Создания
Следующий фрагмент кода — это иллюстрация того, как преобразовать сценарий Shell Freestyle Step, используя API:
@Extension public class ShellConverter extends SingleTypedConverter{ @Override public boolean convert (ConerterRequest request, ConverterRequest result, Object target ) { Shell shell = (Shell) target; ModelASTStage stage = new ModelASTStage( this ); int stageNumber = request.getAndIncrement( SHELL_NUMBER_KEY ); stage.setName( "Shell script " + stageNumber ); ModelASTBranch branch = new ModelASTBranch( this ); stage.setBranches( Arrays.asList( branch ) ); ModelASTStep step = new ModelASTStep( this ); step.setName( "sh" ); ModelASTSingleArgument singleArgument = new ModelASTSingleArgument( this ); singleArgument.setValue( ModelASTValue.fromConstant( shell.getCommand(), this ) ); step.setArgs( singleArgument ); ModelASTUtils.wrapBranch(result, step, branch); ModelASTUtils.addStage(result.getModelASTPipelineDef(), stage); return true; } }
Пример конвертации оболочки сборки
В следующем примере преобразуется сборка Freestyle FreeStyle Freestyle, используя API. Это преобразование использует метод помощника, чтобы добавить обертку вокруг всех будущих преобразований шагов по сборке.
// This was to not have the config-file-provider plugin as a required dependency // But you can use (as you use your plugin) @OptionalExtension(requirePlugins = { "config-file-provider" }) public class ConfigFileBuildWrapperConverter extends SingleTypedConverter{ private Logger LOGGER = LoggerFactory.getLogger( ConfigFileBuildWrapperConverter.class ); @Override public boolean convert(ConverterRequest request, ConverterResult result, Object target) { ConfigFileBuildWrapper configFileBuildWrapper = (ConfigFileBuildWrapper) target; if(configFileBuildWrapper.getManagedFiles() == null || configFileBuildWrapper.getManagedFiles().isEmpty() ) { return true; } result.addWrappingTreeStep( () -> build( configFileBuildWrapper) ); return true; } private ModelASTTreeStep build(ConfigFileBuildWrapper configFileBuildWrapper) { ModelASTTreeStep configFileProvider = new ModelASTTreeStep( this ); configFileProvider.setName( "configFileProvider" ); ModelASTSingleArgument singleArgument = new ModelASTSingleArgument( null ); configFileProvider.setArgs( singleArgument ); ManagedFile managedFile = configFileBuildWrapper.getManagedFiles().get( 0 ); StringBuilder gstring = new StringBuilder( "[configFile(fileId:'" ); gstring.append( managedFile.getFileId()); gstring.append( "', targetLocation: '" ); gstring.append( managedFile.getTargetLocation() ); gstring.append( "')]" ); singleArgument.setValue( ModelASTValue.fromGString( gstring.toString(), this ) ); return configFileProvider; } }
Пример преобразования издателя
В следующем примере преобразуется шаг Post-Build Artifactarkiver Freestyle, используя API. Это преобразование изменяет модель, чтобы добавить некоторые условия сборки.
@Extension public class ArtifactArchiverConverter extends SingleTypedConverter{ @Override public boolean convert(ConverterRequest request, ConverterResult result, Object target) { ArtifactArchiver artifactArchiver = (ArtifactArchiver) target; ModelASTBuildCondition buildCondition; if(artifactArchiver.isOnlyIfSuccessful()) { buildCondition = ModelASTUtils.buildOrFindBuildCondition( result.getModelASTPipelineDef(), "success" ); } else { buildCondition = ModelASTUtils.buildOrFindBuildCondition( result.getModelASTPipelineDef(), "always" ); } ModelASTStep archiveArtifacts = ModelASTUtils.buildGenericStep(artifactArchiver, this); ModelASTUtils.addStep(buildCondition, archiveArtifacts); return true; } }
В зависимости от того, какое условие необходимо выполнить артефакт, мы добавляем шаг к условию сборки.
Пример преобразования SCM
В следующем примере преобразуется стадия Git SCM Freestyle с использованием API. Это преобразование добавляет этап к модели трубопровода.
@OptionalExtension(requirePlugins = { "git"}) public class GitScmConverter extends SingleTypedConverter{ @Override public boolean convert(ConverterRequest request, ConverterResult result, Object target) { List repoList = ( (GitSCM) target ).getUserRemoteConfigs(); if(repoList.isEmpty()){ return true; } ModelASTStage stage = new ModelASTStage( this ); stage.setName( "Checkout Scm" ); List steps = new ArrayList<>(); // a step will be created per remote repository for( UserRemoteConfig userRemoteConfig : repoList) { ModelASTStep git = new ModelASTStep( null ); git.setName( "git" ); Map args = new HashMap<>(); { ModelASTKey url = new ModelASTKey( this ); url.setKey( "url" ); ModelASTValue urlValue = ModelASTValue.fromConstant( userRemoteConfig.getUrl(), this ); args.put( url, urlValue ); } ... ModelASTNamedArgumentList stepArgs = new ModelASTNamedArgumentList( null); stepArgs.setArguments( args ); git.setArgs( stepArgs ); steps.add( git ); } ModelASTBranch branch = new ModelASTBranch( this ); branch.setSteps(steps); stage.setBranches( Arrays.asList( branch ) ); ModelASTUtils.addStage(result.getModelASTPipelineDef(), stage ); return true; } }
- Создайте новый этап.
- Шаги будут сгенерированы как: — Git URL: «», филиал: «, изменение:», CredgancySid: «, Бассейн:»
- Шаг создается на основе каждого удаленного репозитория.
- Создайте шаг Git.
- Добавить параметры — URL.
- В исходном коде добавьте больше параметров.
- Настроить аргументы шага.
- Создайте ветку для сцены.
- Используйте метод утилиты, чтобы добавить стадию в модель трубопровода.
Пример Создание конверсии триггера
Используя API, в следующем примере преобразует триггер Cron. Режим трубопровода изменяется этим преобразованием для добавления свойства триггера через коммунальный процесс.
@Extension public class TimerTriggerConverter extends SingleTypedConverter{ @Override public boolean convert(ConverterRequest request, ConverterResult result, Object target) { TimerTrigger timerTrigger = (TimerTrigger) target; String cronValue = timerTrigger.getSpec(); ModelASTTrigger modelASTTrigger = new ModelASTTrigger( this ); modelASTTrigger.setName( "cron" ); modelASTTrigger.setArgs( Arrays.asList(ModelASTValue.fromConstant( cronValue, this )) ); ModelASTUtils.addTrigger( result.getModelASTPipelineDef(), modelASTTrigger ); return true; } }
Вот как вы можете создать свои собственные трубопроводные проекты!
Удаление!
В этом блоге мы видели центральную особенность Дженкинс Обучение того, как создать работу в Дженкинсах, Дженкинс построить работу и создание трубопроводных проектов. Через проект Jenkins Freestyle вы можете создать свой проект, комбинировать любой SCM с любой системой сборки. Мы также увидели несколько расширений вольных проектов Freestyle, таких как изображения Docker Container. Преобразование объектов Freestyle в декларативные трубопроводы предлагает более современное и предложенное решение.
Дайте нам знать, что вы относитесь к этому блогу в комментариях ниже. Попробуйте воспроизводить шаги для Jenkins, чтобы создать и построить работу, чтобы узнать на ходу.
Счастливое тестирование!
Оригинал: «https://www.codementor.io/@piyusha80/how-to-create-run-a-job-in-jenkins-using-jenkins-freestyle-project-1i2kjhjyht»