LINUX.ORG.RU

Woodpecker CI 3.17

 , woodpecker


0

1

31 июля 2026 года опубликован выпуск Woodpecker CI 3.17.0 — свободной системы непрерывной интеграции и доставки, предназначенной для самостоятельного размещения. Woodpecker выполняет описанные в YAML-файлах конвейеры на отдельных агентах и поддерживает контейнерные исполнители Docker и Kubernetes. Исходный код проекта написан преимущественно на Go и распространяется под лицензией Apache 2.0.

Основное внимание в новой версии уделено безопасности агентов, разграничению доступа в Kubernetes и диагностике ошибок выполнения.

Основные изменения Woodpecker CI 3.17:

  • Автоматическое создание общего секрета gRPC. Если администратор не задал WOODPECKER_GRPC_SECRET, сервер теперь генерирует случайный ключ самостоятельно. Агенты также научились повторно проходить аутентификацию после смены ключа и отклонения сохранённого JWT. При развёртывании нескольких экземпляров сервера за балансировщиком секрет по-прежнему необходимо задавать явно и одинаково для всех реплик, иначе каждый сервер создаст собственный ключ.

  • Ограничено использование nodeSelector из конвейеров Kubernetes. Ранее пользователь с правом записи в репозиторий мог указать в задании nodeSelector и направить контейнер конвейера на выбранные узлы кластера. Теперь такая возможность по умолчанию отключена и разрешается администратором агента через WOODPECKER_BACKEND_K8S_POD_NODE_SELECTOR_ALLOW_FROM_STEP. Изменение особенно важно для кластеров, в которых арендаторы разделяются при помощи меток узлов.

  • Добавлена поддержка профилей AppArmor для Docker. Администратор может назначить контейнерам заданий собственный профиль через параметр WOODPECKER_BACKEND_DOCKER_APPARMOR_PROFILE. Если параметр не указан, сохраняется стандартное поведение Docker. Возможность предназначена для систем, где профиль по умолчанию запрещает необходимые конвейеру операции, например создание Unix-сокетов PostgreSQL.

  • Ошибки выполнения появились в веб-интерфейсе. Woodpecker теперь показывает runtime-ошибки workflow на отдельной странице ошибок конвейера. Они отделены от проблем разбора, компиляции и проверки конфигурации, благодаря чему причину остановки задания не требуется искать только в журналах агента.

  • Секреты повторно загружаются при перезапуске конвейера. При повторном запуске Woodpecker теперь запрашивает актуальные значения секретов, а не использует сохранённые данные первоначального запуска. Это позволяет применять обновлённые ключи, пароли и токены без создания нового конвейера.

  • Добавлены доверенные метки для заданий Kubernetes. Контейнеры получают внутренние метки woodpecker-ci.org/commit-branch и woodpecker-ci.org/event, содержащие ветку и тип события, запустившего конвейер. Их можно использовать в политиках допуска Kubernetes, например чтобы разрешать доступ к чувствительной учётной записи только сборкам основной ветки, но не конвейерам запросов на слияние.

  • Расширены метрики Prometheus. В метрики отдельных этапов добавлена метка с типом шага, позволяющая раздельно наблюдать за обычными заданиями, службами и другими категориями выполняемых операций.

  • Настраиваются права доступа к Unix-сокету сервера. Для HTTP-слушателей вида unix:// появился параметр WOODPECKER_UNIX_SOCKET_PERMISSION. Он задаёт режим доступа к созданному сокету и упрощает размещение Woodpecker за локальным обратным прокси без дополнительных команд chmod.

  • Стабилизирован порядок матричных сборок. Перестановки осей в заданиях matrix теперь создаются в детерминированном порядке. Одинаковая конфигурация должна формировать одинаковую последовательность вариантов, что упрощает сопоставление запусков и анализ результатов.

  • Изменена переменная предварительного выпуска. Переменная CI_COMMIT_PRERELEASE переименована в CI_PIPELINE_RELEASE_PRE, чтобы параметры, связанные с релизом, имели общий префикс. Пользователям, обращающимся к старому имени в сценариях и плагинах, необходимо обновить конфигурацию.

Кроме того, исправлена проверка циклов в графе зависимостей при отфильтрованных необязательных этапах, запрещён нулевой тайм-аут, ограничена глубина разбора YAML, устранён бесконечный переход по страницам тегов в обработчике релизов GitHub и исправлена работа с пустыми репозиториями Forgejo. Полный перечень изменений приведён в официальном описании Woodpecker CI 3.17.0.

На странице выпуска доступны готовые архивы, пакеты DEB и RPM, контрольные суммы, а также сборки сервера, агента и командного клиента для нескольких операционных систем и архитектур. Основной ссылкой для публикации следует использовать страницу релиза Woodpecker CI 3.17.0.

>>> Источник

★★★★★

Проверено: cetjs2 ()

Понял что ничего не понял.

zanac1
()

«свободной системы непрерывной интеграции и доставки, предназначенной для самостоятельного размещения.»

Серьезная хрень. как же мы без нее раньше самостоятельно размещались?

Ааааа… я понял. Это новое название для «Самоходного Программного Обеспечения» что-ли? Ну, пусть будет.

vvb333007
()
Последнее исправление: vvb333007 (всего исправлений: 1)
Ответ на: комментарий от the_real_kinik

Полагал на форуме найдётся кто-то кто знает ответ, но версия этого кода уже 3.17, возможно какие-то задачи оно решает где-нибудь

unclestephen ★★★★★
() автор топика
Ответ на: комментарий от the_real_kinik

Нет, не хватит. Предпочитаю self-hosted.

Про сабж, впрочем, не слышал. Чем оно лучше того же древнего Jenkins?

skyman ★★★★★
()
Ответ на: комментарий от skyman

Чем оно лучше того же древнего Jenkins?

Дженкинс написан на Джаве, а Дятел - на гошке…

seiken ★★★★★
()
Последнее исправление: seiken (всего исправлений: 1)

Сначала показалось что это прорамма исправления написания различных слов:)) WordSpellChecker

REDDERa
()
Ответ на: комментарий от skyman

всё что ты перечислил существует в self-hosted… хорошая попытка, но нет

unclestephen ★★★★★
() автор топика
Ответ на: комментарий от REDDERa

Эх молодёжь. Уже и древних мультиков не знаете.

Folko85
()
Ответ на: комментарий от bsnick

Я писал про GitHub actions.

То, что дятел может быть self-hosted - это прекрасно, и посмотрю на него, как на замену Jenkins.

skyman ★★★★★
()
Ответ на: комментарий от sparkie

Того, что непрерывно интегрировали и доставляли:

«непрерывной интеграции и доставки»

Так бывает, когда бездумно переводишь с английского на русский текст, до этого написанный ИИшкой: («Чатик, налей воды на четыре-пять параграфов про Вудпекер»)

vvb333007
()

qwen, что пытается сказать этот лаовай?

Если коротко: он просто перевел официальный changelog (список изменений) новой версии Woodpecker CI и запостил его в новости.

Никакой скрытой философии, тайных смыслов или подколов автор топика (старожил ЛОРа unclestephen / «Дядя Стёпа») не закладывает. А «лаоваем» он кажется исключительно из-за тяжелого, канцелярского и местами неестественного стиля, который получается при дословном переводе английских пресс-релизов (или при их суммаризации нейросетью).

Irma ★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.