diff --git a/Dockerfile b/Dockerfile index 1e3582e50bf11eff42fc7cdb35d57f00e93d721a..49e71ee58d4efa2f1ac0f164ab584ea16720cf02 100644 --- a/Dockerfile +++ b/Dockerfile @@ -26,11 +26,12 @@ RUN mkdir -p /var/run/sshd ENV JENKINS_HOME /var/lib/jenkins ADD init.sh /init.sh ADD install /tmp/install -RUN for INSTALLER in `ls /tmp/install/0*.sh | sort -n`; do /bin/bash $INSTALLER; done && rm -rf /tmp/install +RUN for INSTALLER in `ls /tmp/install/*.sh | sort -n`; do /bin/bash $INSTALLER; done && rm -rf /tmp/install # Start Jenkins Slave ENV SWARM_USER jenkins ENV SWARM_PASSWORD pC4oLhceTFo4fzzVugzZ +ENV SWARM_EXECUTORS 1 EXPOSE 22 VOLUME ["/var/lib/jenkins"] CMD ["/bin/bash", "/init.sh"] \ No newline at end of file diff --git a/init.sh b/init.sh index 2348671ede3df3b31a1fa9d26d74d2a20b85b633..b8091dd2c80df6d93ea14f846cac2726df5180e6 100644 --- a/init.sh +++ b/init.sh @@ -2,13 +2,15 @@ set -e # Exit on errors -# Check if required parameters are set -: ${SWARM_MASTER:?"Please use 'docker run -e SWARM_MASTER=...' to run this container!"} - -echo "-> Starting Jenkins Slave ..." -echo " - SWARM_MASTER: $SWARM_MASTER" -echo " - SWARM_USER: $SWARM_USER" -echo " - SWARM_PASSWORD: $SWARM_PASSWORD" - -/usr/sbin/sshd -su -l $JENKINS_USER --shell=/bin/bash -c "java -jar /var/lib/jenkins/tools/swarm/swarm-client.jar -master $SWARM_MASTER -username $SWARM_USER -password $SWARM_PASSWORD" +if [ ${SWARM_MASTER:+x} ]; then + echo "-> Starting SSH Daemon & Swarm Client ..." + echo " - SWARM_MASTER: $SWARM_MASTER" + echo " - SWARM_USER: $SWARM_USER" + echo " - SWARM_PASSWORD: $SWARM_PASSWORD" + echo " - SWARM_EXECUTORS: $SWARM_EXECUTORS" + /usr/sbin/sshd + su -l $JENKINS_USER --shell=/bin/bash -c "java -jar /var/lib/jenkins/tools/swarm/swarm-client.jar -executors $SWARM_EXECUTORS -master $SWARM_MASTER -username $SWARM_USER -password $SWARM_PASSWORD" +else + echo "-> Starting SSH Daemon ..." + /usr/sbin/sshd -e -D +fi