Woodpecker CI 3.17

1000px.jpg

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.

>>> Источник

©  Linux.org.ru