Pull to refresh
2
0
Олег Ненашев @oleg-nenashev

User

Send message

Из Невшателя вид на Альпы гораздо хуже, так что для КДПВ не подошло :) Люцерн действительно находится далеко от Невшателя по местным меркам, аж 2 часа на поезде/машине. В Швейцарии ездить в другой город на работу/отдых — это вполне нормально. Обычно такая поездка требует меньше времени, чем на другой конец Питера или Москвы доехать, особенно на общественное транспорте.


P.S: Если кому интересно, все снимки из подборки лежат тут.

Наиболее простой способ начать с Pipeline — это Declarative Pipeline + Pipeline Editor в Blue Ocean. В этом случае многое можно собрать в UI, вообще не занимаясь написанием кода вручную.
В защиту Jenkins скажу, что доклад был рассчитан на большие проекты, где реально требуется шаринг кода между задачами и построение фреймворков. Для этого порог входа действительно высок. Для простых кейсов («чекаут/запустить Maven/опубликовать отчет») всё это не нужно, можно писать Pipeline-scripted/declarative скрипты на несколько строк. Об этом я говорил в дисклеймере и начале доклада, но видимо получилось нечётко.

Вот тут есть пример, как через Groovy Boot Hook у меня для папки инициализируются несколько Pipeline Library. В UI всё примерно так же выглядит, просто ещё одна секция в конфиге.
Наиболее интересно звучит Folder-level libraries. Но в статье есть лишь упоминание, без конкретики и примеров.


Там особо много не расскажешь. Объявления делаются не глобально, а на уровне Folder'ов. Поведение примерно такое же. Но это позволяет управлять наборами библиотек/версий для проектов и при необходимости делать CI/CD для библиотек на том же инстансе. Я у себя глобальных библиотек не держу, только в фолдерах.

В идеале в Declarative Pipeline было бы полезно и удобно иметь возможность организовывать набор из стэйджев


Сейчас это можно сделать, если стейджи описаны на Scripted Pipeline (например, в той же библиотеке). Будет что-то типа:

stage("my stage") {
  steps {
    describe-environment()
  }
}

Добрый вечер,

Начну с конца. Pipeline сейчас — не единый продукт, а open-source экосистема, которая делается многими компаниями и независимыми разработчиками. В «ядре» Pipeline есть вектор развития на стабилизацию/performance и Declarative, но на периферии все происходит довольно спонтанно. В особенности это касается Pipeline-интеграций в плагинах.

По вопросам:

как разработчики Declarative Pipeline видят в будущем структуризацию groovy кода?.. Текущее решение, использующее чекаут Git репозитория для подключения библиотек, многими воспринимается как неудобное и усложненное

Не берусь ответить за разработчиков Declarative. Есть идеи о поддержке Declarative-блоки внутри библиотек, я бы в ближайшем будущем не ожидал новых движков для шаринга кода. Собственно, а чем Вам неудобны библиотеки? Их не обязательно в Git держать, через другие плагины их можно хоть локально на мастере держать (через alpha-версию Filesystem SCM Plugin)

Подходит ли Pipeline концепт к мультирепозиторным проектам?

Подходит. В этом случае все равно надо где-то хранить код Pipeline (в самой задаче или в Jenkinsfile в одном из репозиториев), но другие репозитории могут подтягиваться через шаги типа git(). И webhook'и на все репозитории вешать можно. Более сложную логику триггеринга, конечно, будет писать тяжелее.

есть ли планы более плотной интеграции с Gradle?

AFAIK планов в roadmap нет. Есть висящий pull-request в Gradle Plugin. Он близок к завершению, и любая помощь там приветствуется (ревью/тестирование). Форвардну вопрос тем, кто сейчас разработкой Pipeline занимается.

Есть ли планы разработки плагинов для Intellij Idea с полноценной поддержкой Jenkinsfile?

Публичных планов, к сожалению, нет. А вот потребность в этом есть. Я на митапе про интеграцию с IDE немного говорил (начало слайдов). Сейчас есть условно-рабочая поддержка автодополнения и документации через GDSL, но на этом интеграции без хаков заканчиваются. Написать плагины можно (даже отладчик), были бы контрибьюторы.

Information

Rating
Does not participate
Location
Neuchâtel, Neuchâtel, Швейцария
Registered
Activity