Jenkins - Соберите собственный установщик JavaFX с Maven на Mac - PullRequest
0 голосов
/ 11 сентября 2018

У меня проблема с созданием Jenkins собственного установщика JavaFX с maven на Mac.

Моя цель - автоматически создать собственный установщик моего приложения JavaFX на Mac (создать файлы * .dmg и * .pkg).

У меня настроен сервер Mac с Jenkins, и я могу построить проект с помощью задачи Jenkins (он получает источники из GIT и вызывает mvn clean deploy source:jar -e -U -T 1C).

Я также могу собрать собственный установщик * .pkg вручную, вызвав mvn clean install -f ./javafx-gui/pom.xml -Pbuild-distribution jfx:native из консоли ssh .

Проблема возникает, когда я пытаюсь запустить вышеупомянутую задачу (для сборки собственного установщика) из Jenkins, где в конце javafx-maven-plugin: 8.8.3: собственный плагин говорит:

10: 00: 32 [INFO] Пропуск 'Установщика DMG' из-за ошибки конфигурации 'Невозможно определить, какой JRE / JDK существует в указанном каталоге времени выполнения.'

10: 00: 32 Совет по исправлению: укажите каталог времени выполнения на один из корня JDK / JRE, каталог Contents / Home этого корня или каталог Contents / Home / jre JDK.

Я попытался установить переменные окружения JAVA_HOME, JRE_HOME, JDK_HOME, JAVA_JRE в ~ / .bash_profile и в ~ / .profile (переменные устанавливаются при повторном входе - нет проблем здесь, я полагаю).

Server009:~ jenkins$ cat .bash_profile
export JAVA_HOME=$(/usr/libexec/java_home)
export JAVA_JRE=/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/
export JDK_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/
export JRE_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/

Кроме этого, я не мог придумать, что еще можно изменить.

Примечание: я не пользователь Mac, обычно я работаю в Linux

Logfile:

  ...
10:00:32 [INFO] --- javafx-maven-plugin:8.8.3:native (default-cli) @ javafx-gui ---
10:00:32 [INFO] Building Native Installers
10:00:32 [INFO] Add /Users/jenkins/workspace/(Mac) EasyClient dev CreateInstaller/./javafx-gui/target/jfx/app/config.xml file to application resources.
  ...
10:00:32 [INFO] Add /Users/jenkins/workspace/(Mac) EasyClient dev CreateInstaller/./javafx-gui/target/jfx/app/config.xsd file to application resources.
10:00:32 [INFO] Skipping 'Mac Application Image' because of configuration error 'Cannot determine which JRE/JDK exists in the specified runtime directory.'
10:00:32 Advice to fix: Point the runtime directory to one of the JDK/JRE root, the Contents/Home directory of that root, or the Contents/Home/jre directory of the JDK.
10:00:32 [INFO] Skipping 'DMG Installer' because of configuration error 'Cannot determine which JRE/JDK exists in the specified runtime directory.'
10:00:32 Advice to fix: Point the runtime directory to one of the JDK/JRE root, the Contents/Home directory of that root, or the Contents/Home/jre directory of the JDK.
10:00:32 [INFO] Skipping 'PKG Installer' because of configuration error 'Cannot determine which JRE/JDK exists in the specified runtime directory.'
10:00:32 Advice to fix: Point the runtime directory to one of the JDK/JRE root, the Contents/Home directory of that root, or the Contents/Home/jre directory of the JDK.
10:00:32 [INFO] Skipping 'Mac App Store Ready Bundler' because of configuration error 'Cannot determine which JRE/JDK exists in the specified runtime directory.'
10:00:32 Advice to fix: Point the runtime directory to one of the JDK/JRE root, the Contents/Home directory of that root, or the Contents/Home/jre directory of the JDK.
10:00:32 [INFO] Skipping 'WebStart JNLP Bundler' because of configuration error 'No OutFile Specificed'
10:00:32 Advice to fix: Please specify the name of the JNLP Outut file in 'jnlp.outfile'
10:00:32 [INFO] ------------------------------------------------------------------------
10:00:32 [INFO] BUILD SUCCESS
10:00:32 [INFO] ------------------------------------------------------------------------
10:00:32 [INFO] Total time: 5.919 s
10:00:32 [INFO] Finished at: 2018-09-11T10:00:32+02:00
10:00:32 [INFO] ------------------------------------------------------------------------
10:00:32 Finished: SUCCESS

1 Ответ

0 голосов
/ 11 сентября 2018

Итак, я нашел решение - Дженкинс предоставил свой собственный JDK.Поэтому исправление устанавливало комбинированный список JDK на (system).Или в сценарии конвейера удалите "jdk 'JDK1.8'" .Проблема возникла из-за копирования задачи Jenkins, где это было установлено и работало ..

    tools {
        maven 'M3.5.4'
        jdk 'JDK1.8'  # delete this
    }
...