Служба Windows Jenkins не работает с OpenJDK 21
Это проблема с решением.
Я вернулся в Jenkins после многих лет поиска простого инструмента CI/CD, который я мог бы запускать локально на своем компьютере с Windows для разработчиков.
Я загрузил последнюю LTS-версию Jenkins (2.414.2) и поддерживаемую в настоящее время версию OpenJDK (21), но служба Windows не запускается.
Запуск войны из командной строки дал понять, почему:
Running with Java 21 from C:\Program Files\Java\jdk-21, which is not yet fully supported.
Run the command again with the --enable-future-java flag to enable preview support for future Java versions.
Supported Java versions are: [11, 17]
Это немного ограничивает, поскольку OpenJDK 17 устарел, и я не хочу устанавливать устаревшие двоичные файлы Java. Кроме того, на странице установки Jenkins утверждается, что она поддерживает OpenJDK21, поэтому я не уверен, что происходит со службой Windows (возможно, требуется обновление).
Исправление
Чтобы сохранить самую последнюю версию JDK и запустить службу Jenkins, отредактируйте файл jenkins.xml, который обычно находится здесь:C:\Program Files\Jenkins\jenkins.xml
И измените тег <аргументы>, добавив флаг--enable-future-java
Ваш тег аргумента должен выглядеть примерно так:
<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "C:\Program Files\Jenkins\jenkins.war" --httpPort=8080 --webroot="%LocalAppData%\Jenkins\war" --enable-future-java </arguments>
Сохраните файл, и вы сможете запустить службу без проблем.
Надеемся, что это заставит вашу службу Jenkins работать.