-
Bug
-
Resolution: Not A Defect
-
Minor
-
Linux rhel7, Jenkins 2.50, Kubernetes-Plugin 0.11
Hello developers,
i don't know if i use the plugin correct:
My jenkinsfile looks like:
podTemplate(label: 'mypod', containers: [ containerTemplate(name: 'maven', image: 'myOwnMavenImage:latest'', ttyEnabled: true, command: 'cat') ]) { node ('mypod') { stage 'Get a Maven project' git 'https://github.com/jenkinsci/kubernetes-plugin.git' container('maven') { stage 'Build a Maven project' sh 'mvn clean install' } } }
My Dockerfile uses a script-file as entrypoint:
run-script:
export JENKINS_HOME=/var/lib/jenkins # Setup nss_wrapper so the random user OpenShift will run this container # has an entry in /etc/passwd. # This is needed for 'git' and other tools to work properly. # export USER_ID=$(id -u) export GROUP_ID=$(id -g) envsubst < ${JENKINS_HOME}/passwd.template > ${JENKINS_HOME}/passwd export LD_PRELOAD=libnss_wrapper.so export NSS_WRAPPER_PASSWD=${JENKINS_HOME}/passwd export NSS_WRAPPER_GROUP=/etc/group exec "$@" *dockerfile:*
FROM openjdk8:stable ENV MAVEN_HOME /usr/share/maven ENV M2_HOME /usr/share/maven ENV JENKINS_HOME=/var/lib/jenkins COPY ./contrib/.m2 $JENKINS_HOME/.m2/ COPY ./contrib/maven $M2_HOME COPY ./contrib/fix-permissions /usr/local/bin/fix-permissions COPY ./contrib/passwd.template $JENKINS_HOME/passwd.template COPY ./contrib/run /var/lib/jenkins/run USER root RUN yum-config-manager --disable epel >/dev/null || : && \ yum-config-manager --enable rhel-7-server-ose-3.3-rpms || : && \ INSTALL_PKGS="nss_wrapper gettext git lsof rsync tar unzip which zip" && \ yum install -y --setopt=tsflags=nodocs install $INSTALL_PKGS && \ rpm -V $INSTALL_PKGS && \ yum clean all RUN localedef -f UTF-8 -i en_US en_US.UTF-8 RUN ln -s $M2_HOME/bin/mvn /usr/bin/mvn RUN chmod a+x /usr/local/bin/fix-permissions RUN chown -R 1001:0 $M2_HOME RUN chmod 775 $M2_HOME/bin/* RUN /usr/local/bin/fix-permissions $M2_HOME/bin RUN chown -R 1001:0 $JENKINS_HOME && \ chmod -R g+rw $JENKINS_HOME USER 1001 ENTRYPOINT ["/var/lib/jenkins/run"]
If i start the jenkins-job the pod is started with the jnlp- and the maven-container, but my shellscript in the maven-container is not used. I think thats because i use a cmd in the containertemplate of the maven-container.
If i delete the cmd an set tty to 'false' the shellskript is used but the container stops after executing the shell-skript in the maven-container.
Is there a posibility to have a long-running process in a container with executing a shell-script in the entrypoint of a container ?
Thank you for your help.