简体   繁体   中英

Jenkins is stoped using Dockerfile compose

Hello I built a image in docker with Jenkins, it creates a Jenkins and use a plugin to create pipelines remotely. My main problem is that the plugin needs that server running before you want to use it. For fix that problem I create a .sh that starts Jenkins, sleep for 2 minutes and then execute the pipeline. It works correctly but when I use Docker compose it starts the .sh file but at the end the Jenkins is stopped and I dont know why.

My docker-compose file:

replicate-jenkins:

 image: dockerfile:latest  ports: 
       - "8080:8080"  entrypoint: /bin/sh -c "/bin/bash -c \"$${@}\""  command: |
      /bin/bash -c "chmod 777 /etc/jenkins_jobs/script-to-execute.sh && ./etc/jenkins_jobs/script-to-execute.sh"

my .sh file:

#!/bin/bash

runJenkins(){
echo "Se pone en marcha jenkins"
./usr/local/bin/jenkins.sh &>/dev/null &
bg
}
runPipeline(){
sleep 60
echo "Se ejecuta el pipeline"
jenkins-jobs --conf /etc/jenkins_jobs/jenkins_jobs.ini update /etc/jenkins_jobs/scm_pipeline.yaml
}
clear
runJenkins
runPipeline

#chmod 777 /etc/jenkins_jobs/script.sh
#./etc/jenkins_jobs/script.sh

My docker file:

FROM foxylion/jenkins
MAINTAINER Mishel Uchuari <dmuchuari@hotmail.com>

RUN /usr/local/bin/install-plugins.sh workflow-remote-loader workflow-aggregator build-pipeline-plugin
ENV JENKINS_USER replicate
ENV JENKINS_PASS replicate

USER root
RUN apt-get -y update && apt-get -y upgrade
RUN apt-get install -y apt-utils
RUN apt-get install -y python-pip
RUN apt install -y linuxbrew-wrapper

RUN pip install jenkins-job-builder==2.0.0.0b2
RUN pip install PyYAML python-jenkins

RUN mkdir /etc/jenkins_jobs/
ADD jenkins_jobs.ini /etc/jenkins_jobs/
ADD scm_pipeline.yaml /etc/jenkins_jobs/
ADD script-to-execute.sh /etc/jenkins_jobs/

Have you any idea about what is the problem? Thank you for your attention.

Regards

Accoding to the docker log everithing it is Ok.

 replicate-jenkins_1  | TERM environment variable not set.
    replicate-jenkins_1  | Se pone en marcha jenkins
    replicate-jenkins_1  | Running from: /usr/share/jenkins/jenkins.war
    replicate-jenkins_1  | webroot: EnvVars.masterEnvVars.get("JENKINS_HOME")
    replicate-jenkins_1  | Dec 27, 2017 1:57:37 PM Main deleteWinstoneTempContents
    replicate-jenkins_1  | WARNING: Failed to delete the temporary Winstone file /tmp/winstone/jenkins.war
    replicate-jenkins_1  | Dec 27, 2017 1:57:37 PM org.eclipse.jetty.util.log.Log initialized
    replicate-jenkins_1  | INFO: Logging initialized @722ms to org.eclipse.jetty.util.log.JavaUtilLog
    replicate-jenkins_1  | Dec 27, 2017 1:57:37 PM winstone.Logger logInternal
    replicate-jenkins_1  | INFO: Beginning extraction from war file
    replicate-jenkins_1  | Dec 27, 2017 1:57:37 PM org.eclipse.jetty.server.handler.ContextHandler setContextPath
    replicate-jenkins_1  | WARNING: Empty contextPath
    replicate-jenkins_1  | Dec 27, 2017 1:57:37 PM org.eclipse.jetty.server.Server doStart
    replicate-jenkins_1  | INFO: jetty-9.4.z-SNAPSHOT
    replicate-jenkins_1  | Dec 27, 2017 1:57:38 PM org.eclipse.jetty.webapp.StandardDescriptorProcessor visitServlet
    replicate-jenkins_1  | INFO: NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet
    replicate-jenkins_1  | Dec 27, 2017 1:57:38 PM org.eclipse.jetty.server.session.DefaultSessionIdManager doStart
    replicate-jenkins_1  | INFO: DefaultSessionIdManager workerName=node0
    replicate-jenkins_1  | Dec 27, 2017 1:57:38 PM org.eclipse.jetty.server.session.DefaultSessionIdManager doStart
    replicate-jenkins_1  | INFO: No SessionScavenger set, using defaults
    replicate-jenkins_1  | Dec 27, 2017 1:57:38 PM org.eclipse.jetty.server.session.HouseKeeper startScavenging
    replicate-jenkins_1  | INFO: Scavenging every 600000ms
    replicate-jenkins_1  | Jenkins home directory: /var/jenkins_home found at: EnvVars.masterEnvVars.get("JENKINS_HOME")
    replicate-jenkins_1  | Dec 27, 2017 1:57:39 PM org.eclipse.jetty.server.handler.ContextHandler doStart
    replicate-jenkins_1  | INFO: Started w.@1c742ed4{/,file:///var/jenkins_home/war/,AVAILABLE}{/var/jenkins_home/war}
    replicate-jenkins_1  | Dec 27, 2017 1:57:39 PM org.eclipse.jetty.server.AbstractConnector doStart
    replicate-jenkins_1  | INFO: Started ServerConnector@47caedad{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
    replicate-jenkins_1  | Dec 27, 2017 1:57:39 PM org.eclipse.jetty.server.Server doStart
    replicate-jenkins_1  | INFO: Started @2790ms
    replicate-jenkins_1  | Dec 27, 2017 1:57:39 PM winstone.Logger logInternal
    replicate-jenkins_1  | INFO: Winstone Servlet Engine v4.0 running: controlPort=disabled
    replicate-jenkins_1  | Dec 27, 2017 1:57:40 PM jenkins.InitReactorRunner$1 onAttained
    replicate-jenkins_1  | INFO: Started initialization
    replicate-jenkins_1  | Dec 27, 2017 1:57:46 PM jenkins.InitReactorRunner$1 onAttained
    replicate-jenkins_1  | INFO: Listed all plugins
    replicate-jenkins_1  | Dec 27, 2017 1:57:56 PM jenkins.InitReactorRunner$1 onAttained
    replicate-jenkins_1  | INFO: Prepared all plugins
    replicate-jenkins_1  | Dec 27, 2017 1:57:56 PM jenkins.InitReactorRunner$1 onAttained
    replicate-jenkins_1  | INFO: Started all plugins
    replicate-jenkins_1  | Dec 27, 2017 1:57:59 PM jenkins.InitReactorRunner$1 onAttained
    replicate-jenkins_1  | INFO: Augmented all extensions
    replicate-jenkins_1  | Dec 27, 2017 1:58:00 PM jenkins.InitReactorRunner$1 onAttained
    replicate-jenkins_1  | INFO: Loaded all jobs
    replicate-jenkins_1  | Dec 27, 2017 1:58:00 PM jenkins.util.groovy.GroovyHookScript execute
    replicate-jenkins_1  | INFO: Executing /var/jenkins_home/init.groovy.d/default-user.groovy
    replicate-jenkins_1  | Dec 27, 2017 1:58:01 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
    replicate-jenkins_1  | INFO: Refreshing org.springframework.web.context.support.StaticWebApplicationContext@623c4753: display name [Root WebApplicationContext]; startup date [Wed Dec 27 13:58:01 UTC 2017]; root of context hierarchy
    replicate-jenkins_1  | Dec 27, 2017 1:58:01 PM org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
    replicate-jenkins_1  | INFO: Bean factory for application context [org.springframework.web.context.support.StaticWebApplicationContext@623c4753]: org.springframework.beans.factory.support.DefaultListableBeanFactory@2a432dc6
    replicate-jenkins_1  | Dec 27, 2017 1:58:01 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
    replicate-jenkins_1  | INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@2a432dc6: defining beans [authenticationManager]; root of factory hierarchy
    replicate-jenkins_1  | Dec 27, 2017 1:58:02 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
    replicate-jenkins_1  | INFO: Refreshing org.springframework.web.context.support.StaticWebApplicationContext@3d119c58: display name [Root WebApplicationContext]; startup date [Wed Dec 27 13:58:02 UTC 2017]; root of context hierarchy
    replicate-jenkins_1  | Dec 27, 2017 1:58:02 PM org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
    replicate-jenkins_1  | INFO: Bean factory for application context [org.springframework.web.context.support.StaticWebApplicationContext@3d119c58]: org.springframework.beans.factory.support.DefaultListableBeanFactory@428a754e
    replicate-jenkins_1  | Dec 27, 2017 1:58:02 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
    replicate-jenkins_1  | INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@428a754e: defining beans [authenticationManager]; root of factory hierarchy
    replicate-jenkins_1  | Dec 27, 2017 1:58:02 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
    replicate-jenkins_1  | INFO: Refreshing org.springframework.web.context.support.StaticWebApplicationContext@fa9f5b3: display name [Root WebApplicationContext]; startup date [Wed Dec 27 13:58:02 UTC 2017]; root of context hierarchy
    replicate-jenkins_1  | Dec 27, 2017 1:58:02 PM org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
    replicate-jenkins_1  | INFO: Bean factory for application context [org.springframework.web.context.support.StaticWebApplicationContext@fa9f5b3]: org.springframework.beans.factory.support.DefaultListableBeanFactory@5a459bf4
    replicate-jenkins_1  | Dec 27, 2017 1:58:02 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
    replicate-jenkins_1  | INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@5a459bf4: defining beans [filter,legacy]; root of factory hierarchy
    replicate-jenkins_1  | Dec 27, 2017 1:58:02 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
    replicate-jenkins_1  | INFO: Refreshing org.springframework.web.context.support.StaticWebApplicationContext@906ed37: display name [Root WebApplicationContext]; startup date [Wed Dec 27 13:58:02 UTC 2017]; root of context hierarchy
    replicate-jenkins_1  | Dec 27, 2017 1:58:02 PM org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
    replicate-jenkins_1  | INFO: Bean factory for application context [org.springframework.web.context.support.StaticWebApplicationContext@906ed37]: org.springframework.beans.factory.support.DefaultListableBeanFactory@79ae4271
    replicate-jenkins_1  | Dec 27, 2017 1:58:02 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
    replicate-jenkins_1  | INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@79ae4271: defining beans [filter,legacy]; root of factory hierarchy
    replicate-jenkins_1  | Dec 27, 2017 1:58:02 PM hudson.model.AsyncPeriodicWork$1 run
    replicate-jenkins_1  | INFO: Started Download metadata
    replicate-jenkins_1  | Dec 27, 2017 1:58:02 PM hudson.model.AsyncPeriodicWork$1 run
    replicate-jenkins_1  | INFO: Finished Download metadata. 53 ms
    replicate-jenkins_1  | Dec 27, 2017 1:58:03 PM jenkins.util.groovy.GroovyHookScript execute
    replicate-jenkins_1  | INFO: Executing /var/jenkins_home/init.groovy.d/executors.groovy
    replicate-jenkins_1  | Dec 27, 2017 1:58:03 PM jenkins.util.groovy.GroovyHookScript execute
    replicate-jenkins_1  | INFO: Executing /var/jenkins_home/init.groovy.d/tcp-slave-agent-port.groovy
    replicate-jenkins_1  | Dec 27, 2017 1:58:03 PM jenkins.InitReactorRunner$1 onAttained
    replicate-jenkins_1  | INFO: Completed initialization
    replicate-jenkins_1  | Dec 27, 2017 1:58:07 PM hudson.WebAppMain$3 run
    replicate-jenkins_1  | INFO: Jenkins is fully up and running
    replicate-jenkins_1  | --> setting agent port for jnlp
    replicate-jenkins_1  | --> setting agent port for jnlp... done
    replicate-jenkins_1  | Se ejecuta el pipeline
    replicate-jenkins_1  | INFO:jenkins_jobs.cli.subcommand.update:Updating jobs in ['/etc/jenkins_jobs/scm_pipeline.yaml'] ([])
    replicate-jenkins_1  | INFO:jenkins_jobs.builder:Number of jobs generated:  1
    replicate-jenkins_1  | INFO:jenkins_jobs.builder:Reconfiguring jenkins job Replicate-Pipeline
    replicate-jenkins_1  | INFO:jenkins_jobs.cli.subcommand.update:Number of jobs updated: 1
    replicate-jenkins_1  | INFO:jenkins_jobs.builder:Number of views generated:  0
    replicate-jenkins_1  | INFO:jenkins_jobs.cli.subcommand.update:Number of views updated: 0
    replicatejenkins_replicate-jenkins_1 exited with code 0

I can't see the Jenkins logs because when the script ends, the container is stopped and I cant acces to the image bash.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM