Сканирование TypeScript SonarQube в контейнере Docker - PullRequest
0 голосов
/ 28 апреля 2018

Я пытаюсь построить свое приложение 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, но он, похоже, не распознается:

enter image description here

1 Ответ

0 голосов
/ 05 июня 2018

У меня была такая же ошибка. Я не знаю причину этой ошибки, но в качестве обходного пути использовалась не-альпийская версия узла. Возможно, вы могли бы использовать многостадийную сборку докера , так что ваше окончательное изображение в любом случае основано на альпийской версии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...