Jenkins - env: 'node': нет такого файла или каталога

У меня есть сервер jenkins, который настроен с использованием https://github.com/shierro/jenkins-docker-examples/tree/master/05-aws-ecs

Я запускаю трубопровод с синим океаном, используя простой Jenkinsfile и плагин jenkins NodeJS

pipeline { 
  agent any 

  tools {
    nodejs 'node10'
  }

  stages {
    stage ('Checkout Code') {
      steps {
        checkout scm
      }
    }
    stage ('Install dependencies') {
      steps {
        sh "echo $PATH"
        sh "npm install"
      }
    }
  }
}

Я убедился, чтобы добавить глобальный инструмент node10, а W / C используется выше

Когда конвейер попадает в сценарий sh "npm install" я пробегаю эту ошибку

это вывод команды echo $PATH

так что я думаю, что это не проблема пути

Кроме того, он также не смог добавить глобальный пакет

Больше информации, которая может помочь:

  • Докер Дженкинс сервер: FROM jenkins/jenkins:2.131-alpine
  • Версия с синим океаном: 1.7.0
  • Плагин NodeJS: 1.2.6
  • Несколько серверов уже перезагружается

Есть идеи, почему сервер jenkins не знает, где находится узел?

Большое спасибо заранее!

1 ответ

Решение

Спасибо @JoergS за понимание! Виновником в этом случае является: использование альпийского изображения в качестве основы докера. Так что переход от jenkins/jenkins:2.131-alpine в jenkins/jenkins:2.131 решил проблему с плагином NodeJS.

Я столкнулся с той же проблемой с jenkinsci/blueocean. Я решил это, установив nodejs с приведенной ниже командой (внутри Docker), а не как плагин jenkins

apk add nodejs

Я столкнулся с той же проблемой с jenkinsci/blueocean. Плагин jenkins nodejs не требуется.

pipeline { 
  agent any 

  stages {
    stage ('Checkout Code') {
      steps {
        checkout scm
      }
    }
    stage ('Install dependencies') {
      steps {
        sh "apk add nodejs"
        sh "echo $PATH"
        sh "npm install"
      }
    }
  }
}

Сделайте символьную ссылку вот так:

sudo ln -s /var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/node/bin/node /usr/bin/node

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

Моя проблема в конечном итоге была связана с изображением jenkinsci/blueocean. Мне удалось просто заменить это изображение на jenkins/jenkins:lts, ​​и плагин NodeJS начал работать, как ожидалось.

Другие вопросы по тегам