Я устанавливаю конвейер сборки Jenkins для приложения vue.У меня есть простой Dockerfile для сборки и запуска приложения VUE в качестве контейнера.Когда я пытаюсь собрать приложение на моем ПК, сборка Docker успешно завершается без ошибок.
Однако, как только процесс сборки Jenkins запущен, команда Dockerfile RUN npm install
возвращает ошибку, пока этап сборкив процессе.
Я проверил пространство подкачки сервера, ошибка не связана с этим.Вручную я выполнил установочный файл npm для файла package.json на сервере.
У кого-нибудь есть опыт выполнения команд npm на этапе конвейера Jenkins?
Вот оба файла Dockerfile иJenkinsfile, который я использовал
Dockerfile
# build stage
FROM node:lts-alpine as build-stage
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
# production stage
FROM nginx:stable-alpine as production-stage
COPY --from=build-stage /app/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
Jenkinsfile
#!/usr/bin/env groovy
pipeline {
options {
timeout(time: 1, unit: 'HOURS')
}
agent none
stages {
stage('Pre process') {
agent any
steps {
script {
...
}
...
}
}
stage('Build') {
agent any
steps {
sh 'docker build -t frontend'
}
}
stage('Run') {
agent any
steps {
sh 'docker run ..... '
}
}
stage('Update') {
agent any
steps {
e..
}
}
stage('Test & Clean-up') {
....
}
} // stages
} // pipeline
Сообщение об ошибке
Step 4/10 : RUN npm install
---> Running in 80e0beb9442a
> node-sass@4.11.0 install /app/node_modules/node-sass
> node scripts/install.js
Service 'frontend' failed to build: The command '/bin/sh -c npm install' returned a non-zero code: 1
script returned exit code 1