Дело 1
Приведенный ниже сценарий конвейерного кода работает с workSpace
как рабочее пространство для процесса сборки npm, где npm install
может найти package.json
файл в workSpace
ws(workSpace){
def commandString = "npm install ; npm rebuild node-sass ; ng build"
executeCommand(commandString, repositoryName)
}
, где executeCommand()
,
def executeCommand(commandString, component){
BUILD_FULL = sh (
script: commandString,
returnStatus: true
) == 0
echo " Build status for ${component}: ${BUILD_FULL}"
}
Дело 2
Но, ниже код с тем же workSpace
, что и рабочее пространство, используемое для процесса сборки npm, но npm install
не может найти package.json
в workSpace
ws(workSpace){
buildStatus = sh (
returnStdout: true,
script: '''
npm install // Install dependencies
npm rebuild node-sass // Convert scss to css native
ng build --prod --configuration=cloud // Build
'''
) == 0
print "User@ Build status for ${repositoryName} is ${buildStatus}"
} // end ws()
ниже приведена ошибка в случае 2
+ npm install // Install dependencies
npm ERR! code ENOLOCAL
npm ERR! Could not install from "../../../../../.." as it does not contain a package.json file.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/jenkins/.npm/_logs/2019-01-07T16_20_20_339Z-debug.log
Как ws()
работает в Groovy?