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.