Jenkins K8s plugin - PodTemplate fails to create a Nodejs container

101 views
Skip to first unread message

gil blau

unread,
Aug 12, 2018, 4:28:54 AM8/12/18
to jenkins...@googlegroups.com

Trying to tun a podTemaplate with the following containerTemplate, we get the following error:

npm ERR! path /home/jenkins/package.json
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall open
npm ERR! enoent ENOENT: no such file or directory, open '/home/jenkins/package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! A complete log of this run can be found in:
npm ERR! /home/jenkins/.npm/_logs/2018-07-18T10_27_32_822Z-debug.log

 

Configurations:

Jenkinsfile PodTemplate:

 
deftestpod="testpod-${UUID.randomUUID().toString()}"
podTemplate(label: testpod, containers: [
containerTemplate(
name: 'myContainer',
image: 'gcr.io/xxx/xxxs/zzz:latest',
alwaysPullImage: true
)],
volumes: [
hostPathVolume(hostPath: '/var/run/docker.sock', mountPath: '/var/run/docker.sock')
])
    {
try{
node(testpod) {
stage ("checkout") {
container('myContainer')

{ checkout scm }

}
...
 
zzz dockerfile:

FROM node:8.9.4-alpine
RUN mkdir -p /usr/src/app

WORKDIR /usr/src/app

COPY package.json /usr/src/app/
ARG NODE_ENV
ENV NODE_ENV $NODE_ENV

  1. Add packages needed to build native dependencies
    RUN apk add --no-cache --virtual .gyp \
    python \
    make \
    g++ \
    git \
    && npm install --quit && npm cache clean --force \
    && apk del .gyp

RUN apk add --no-cache vim curl
COPY . .

EXPOSE 8888
CMD [ "npm", "start"]



*****

/home/jenkins is mounted as a volume


1. Why this mounted volume effects the container?

2. Does the plugin do anything besides "docker run <docker id>"? I am asking this because I don't understand why it is running "nmp install"...

3. Can you please suggest how can this be fixed?


FYI - 

If I add a working directory to the containerTemplate I get the same error with the working directory path:

working directory configuration:
workingDir: '/usr/src/app',
 

Err msg:

kubectl logs -f -c workers jenkins-slave-4tfz2-3nw6d -n jenkins
npm ERR! path /usr/src/app/package.json
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall open
npm ERR! enoent ENOENT: no such file or directory, open '/usr/src/app/package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent




gil

unread,
Aug 22, 2018, 7:08:03 AM8/22/18
to Jenkins Users
Anyone?

Jan Monterrubio

unread,
Aug 22, 2018, 9:04:16 PM8/22/18
to jenkins...@googlegroups.com
Does the container work on its own? 

Looks like you have this part in the container:


"RUN apk add --no-cache --virtual .gyp \
python \
make \
g++ \
git \
&& npm install --quit && npm cache clean --force \
&& apk del .gyp"

Which runs npm install

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/eaaf1ea1-698a-4712-9776-95a3ecea46d0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

gil blau

unread,
Aug 27, 2018, 7:36:25 AM8/27/18
to jenkins...@googlegroups.com
Hi Jan,

Thank you for assisting.
Yes the container runs on its own, only when I try to run the container image with Jenkins it fails.

Any idea what I can do to resolve this?

Thanks,
--Gil.

To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscribe@googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "Jenkins Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jenkinsci-users/mauO_28wUOI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jenkinsci-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CADgiF9KsvXCcFr2vfuE%3DUVR5EcNBrivVmQnUc-rK%3DJ8upviRRg%40mail.gmail.com.

Blau Gil

unread,
Sep 17, 2018, 4:57:41 AM9/17/18
to jenkins...@googlegroups.com
Hi Jan,

Thank you for assisting.
Yes the container runs on its own, only when I try to run the container image with Jenkins it fails.

Any idea what I can do to resolve this?

Thanks,
--Gil.

You received this message because you are subscribed to a topic in the Google Groups "Jenkins Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jenkinsci-users/mauO_28wUOI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jenkinsci-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CADgiF9KsvXCcFr2vfuE%3DUVR5EcNBrivVmQnUc-rK%3DJ8upviRRg%40mail.gmail.com.

Jan Monterrubio

unread,
Sep 18, 2018, 12:23:25 PM9/18/18
to jenkins...@googlegroups.com
I don’t have any more ideas since I haven’t played with containers much :( 

Feels like the NPM command is not being ran on the container. Does it work if you remove the NPM stuff? 

Reply all
Reply to author
Forward
0 new messages