web-dev-qa-db-ja.com

Jenkins-env: ‘node’:そのようなファイルまたはディレクトリはありません

https://github.com/shierro/jenkins-docker-examples/tree/master/05-aws-ecs を使用して構成されたjenkinsサーバーがあります

単純なJenkinsfileと jenkins NodeJSプラグイン を使用して blue ocean パイプラインを実行しています

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が使用されています enter image description here

パイプラインがスクリプトsh "npm install"に到達すると、このエラーが発生しています enter image description here

これはコマンドecho $PATHの出力です enter image description here

だから私はそれが道の問題ではないと思います

また、グローバルパッケージを追加することもできませんでした enter image description here

役立つ可能性のある詳細情報:

  • Docker Jenkinsサーバー:FROM jenkins/jenkins:2.131-Alpine
  • ブルーオーシャンバージョン:1.7.0
  • NodeJSプラグイン:1.2.6
  • 複数のサーバーが既に再起動しています

jenkinsサーバーがノードの場所を知らない理由はありますか?

よろしくお願いします!

7
Theo

いくつかの洞察を@JoergSに感謝します!この場合の原因は次のとおりです:DockerベースとしてAlpineイメージを使用しますしたがって、jenkins/jenkins:2.131-Alpineからjenkins/jenkins:2.131 NodeJSプラグインの問題を解決しました。

5
Theo

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"
      }
    }
  }
}
1
Devops Anil

Jenkinsci/blueoceanでも同じ問題に直面しています。私はjenkinsプラグインではなく以下のコマンド(docker内)でnodejsをインストールすることでこれを解決しました

apk add nodejs

1
Jay Reddy