diff --git a/Dockerfile b/Dockerfile index 973478682602cac1009758f42b5100e0281278cf..1e3582e50bf11eff42fc7cdb35d57f00e93d721a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,10 +24,13 @@ RUN mkdir -p /var/run/sshd # Run install scripts ENV JENKINS_HOME /var/lib/jenkins +ADD init.sh /init.sh ADD install /tmp/install -RUN for INSTALLER in `ls /tmp/install/*.sh | sort -n`; do /bin/bash $INSTALLER; done && rm -rf /tmp/install +RUN for INSTALLER in `ls /tmp/install/0*.sh | sort -n`; do /bin/bash $INSTALLER; done && rm -rf /tmp/install -# Start SSH Daemon +# Start Jenkins Slave +ENV SWARM_USER jenkins +ENV SWARM_PASSWORD pC4oLhceTFo4fzzVugzZ EXPOSE 22 VOLUME ["/var/lib/jenkins"] -CMD ["/usr/sbin/sshd", "-e", "-D"] \ No newline at end of file +CMD ["/bin/bash", "/init.sh"] \ No newline at end of file diff --git a/init.sh b/init.sh new file mode 100644 index 0000000000000000000000000000000000000000..2348671ede3df3b31a1fa9d26d74d2a20b85b633 --- /dev/null +++ b/init.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +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" diff --git a/install/02_swarm_client.sh b/install/02_swarm_client.sh new file mode 100644 index 0000000000000000000000000000000000000000..f3567acd961313b4de6e39a51d41f31fbdbe8cc6 --- /dev/null +++ b/install/02_swarm_client.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -e # Exit on errors + +mkdir -p $JENKINS_HOME/tools/swarm +cp ${0%/*}/swarm/swarm-client-1.15-jar-with-dependencies.jar $JENKINS_HOME/tools/swarm/swarm-client.jar +chmod 644 $JENKINS_HOME/tools/swarm/swarm-client.jar diff --git a/install/swarm/swarm-client-1.15-jar-with-dependencies.jar b/install/swarm/swarm-client-1.15-jar-with-dependencies.jar new file mode 100644 index 0000000000000000000000000000000000000000..2c2a06d60ef879297aa2b4a173bcde89990c6745 Binary files /dev/null and b/install/swarm/swarm-client-1.15-jar-with-dependencies.jar differ