Невозможно запустить узел с помощью подключаемого модуля Gradle. - PullRequest
0 голосов
/ 11 октября 2018

Мы используем плагин gradle node для построения нашего проекта узла из gradle.Выбранный нами шаблон gitlab ci использует изображение док-станции gradle: alpine.В нашей работе мы запускаем упаковщик Gradle.Сборка завершается с ошибкой «env: не может выполнить« узел »: нет такого файла или каталога».Он прекрасно работает на нашем Linux-устройстве.

Вот трассировка стека:

Caused by: java.io.IOException: Cannot run program "/builds/myueser/myproj/.gradle/nodejs/node-v10.11.0-linux-x64/bin/node" (in directory "/builds/myueser/myproj"): error=2, No such file or directory
    at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:25)
    ... 6 more
Caused by: java.io.IOException: error=2, No such file or directory

Вот соответствующее содержимое из gitlab-ci.yml:

image: gradle:alpine

variables:
 GRADLE_OPTS: "-Dorg.gradle.daemon=false"
 GIT_STRATEGY: clone

before_script:
 - export GRADLE_USER_HOME=`pwd`/.gradle
 - export PATH=`pwd`/.gradle/nodejs/node-v10.11.0-linux-x64/bin:$PATH

deploy-ui:
 stage: deploy
 script: ./gradlew --build-cache assemble deploymyprojWeb --debug
 cache:
   key: "$CI_COMMIT_REF_NAME"
   policy: pull
   paths:
     - build
     - .gradle

Кроме того, из файла build.gradle содержится следующее:

plugins {
  id "com.moowork.node" version "1.2.0"
  id 'com.adarshr.test-logger' version '1.5.0'
}

apply plugin: "java"
apply plugin: "groovy"

repositories {
    jcenter()
}

dependencies {
    testCompile(
            'junit:junit:4.12',
            'org.codehaus.groovy:groovy-all:2.4.15',
            'org.spockframework:spock-core:1.1-groovy-2.4',
            gradleTestKit()
    )
}

node {
    version = '10.11.0'
    download = true
}

npm_install {
    args = ["$project.projectDir/myproj", '--prefix',"$project.projectDir/myproj"]
}

task deploymyprojWeb(type: NpmTask) {
    args = ['run','deploy', '--prefix',"$project.projectDir/myproj"]
}
deploymyprojWeb.dependsOn npm_install

wrapper {
   gradleVersion = '4.10.2' //version required
}

Содержимое папки дистрибутива узла (/builds/myuser/myproj/.gradle/nodejs/node-v10.11.0-linux-x64/ bin):

/builds/myuser/myproj/.gradle/nodejs/node-v10.11.0-linux-x64/bin/npx
Exec: true
Write: true
Read: true
/builds/myuser/myproj/.gradle/nodejs/node-v10.11.0-linux-x64/bin/node
Exec: true
Write: true
Read: true
/builds/myuser/myproj/.gradle/nodejs/node-v10.11.0-linux-x64/bin/npm
Exec: true
Write: true
Read: true

Также в переменной PATH:

PATH=/builds/myuser/myproj/.gradle/nodejs/node-v10.11.0-linux-x64/bin:

1 Ответ

0 голосов
/ 21 апреля 2019

Изображение gradle:alpine имеет проблемы с работой с узлом.Я решил проблему, переключившись на изображение gradle:slim;который отлично работает с узлом и плагином узла Gradle.

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