Я пытаюсь построить свое приложение TypeScript через конвейер Jenkins. Для управления сборкой, тестированием и проверкой качества кода у меня есть Jenkins использование агента Docker на основе узла: 7-alpine.
Dockerfile для моего контейнера:
FROM node:7-alpine
RUN npm install -g gulp sonarqube-scanner
Мой файл Дженкинса выглядит так:
pipeline {
agent {
dockerfile { dir 'build-image' }
}
stages {
stage('Build') {
steps {
sh 'npm install'
sh 'npm run build'
}
}
stage("SonarQube Analysis") {
steps{
sh 'gulp sonar'
}
}
Кажется, все будет в порядке, пока не будет запущен сонар. Когда он запускается, я получаю ошибку:
[- 47-get-web-client-building-LUNCQQ5SQOUXXUXPT5TJDVBCFON3OPD2COBIW6WPU3J3ZRFFTYJQ] Запуск сценария оболочки
[03:00:14] Использование gulpfile
/var/jenkins_home/workspace/-47-get-web-client-building-LUNCQQ5SQOUXXUXPT5TJDVBCFON3OPD2COBIW6WPU3J3ZRFFTYJQ/gulpfile.js
[03:00:14] Запуск «сонара» ...
[03:00:14] Запуск анализа SonarQube ...
[03:00:14] Проверка наличия исполняемого файла:
/home/node/.sonar/native-sonar-scanner/sonar-scanner-3.0.3.778-linux/bin/sonar-scanner
[03:00:14] Не удалось найти исполняемый файл в
«/home/node/.sonar/native-sonar-scanner'.
[03:00:14] Продолжите загрузку двоичных файлов платформы для
Сканер SonarQube ...
[03:00:14] Создание /home/node/.sonar/native-sonar-scanner
[03:00:14] Загрузка с
https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.0.3.778-linux.zip
[03:00:14] (исполняемый файл будет сохранен в папке кэша:
/home/node/.sonar/native-sonar-scanner)
/ дом / узел / .sonar / родной эхолот-сканер / сонар-сканер-3.0.3.778-линукс / бен / сонар-сканер:
exec: строка 73:
/home/node/.sonar/native-sonar-scanner/sonar-scanner-3.0.3.778-linux/jre/bin/java:
не найдено
child_process.js: 504
throw err;
^
Я играл только с нодом: контейнер 7-альпийский, и я получаю ту же ошибку. Странно, что в контейнере есть исполняемый файл java, но он, похоже, не распознается: