Как работает ws () в Jenkins Groovy? - PullRequest
0 голосов
/ 06 марта 2019

Дело 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?

1 Ответ

2 голосов
/ 06 марта 2019

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

sh '''
npm install ||
npm rebuild node-sass ||
ng build --prod --configuration=cloud 
'''

Дайте мне знать, если работает!

...