-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
67 lines (57 loc) · 1.82 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
FROM nettworksevtooling/eis4d-buildcontainer:latest
MAINTAINER Yves Schumann <[email protected]>
# Configuration for Jenkins swarm
# Default values for potential build time parameters
ARG JENKINS_IP="localhost"
ARG JENKINS_TUNNEL=""
ARG USERNAME="admin"
ARG PASSWORD="admin"
ARG DESCRIPTION="Swarm node with eis4d sdk"
ARG LABELS="linux swarm eis4d"
ARG NAME="eis4d"
ARG UID="1058"
ARG GID="1007"
# Environment variables for swarm client
ENV JENKINS_URL=http://$JENKINS_IP \
JENKINS_TUNNEL=$JENKINS_TUNNEL \
JENKINS_USERNAME=$USERNAME \
JENKINS_PASSWORD=$PASSWORD \
EXECUTORS=1 \
DESCRIPTION=$DESCRIPTION \
LABELS=$LABELS \
NAME=$NAME \
SWARM_PLUGIN_VERSION=3.7 \
WORK_DIR=/data/work
# Setup jenkins account
# Create working directory
# Change user UID and GID
RUN groupadd --gid ${GID} jenkins \
&& useradd --create-home --home-dir /home/jenkins --shell /bin/bash --uid ${UID} --gid ${GID} jenkins \
&& echo "jenkins:jenkins" | chpasswd \
&& chown jenkins:jenkins /home/jenkins -R
# Install OpenJDK
RUN apt-get install -y \
openjdk-11-jdk \
&& apt-get clean
# Mount point for Jenkins .ssh folder
VOLUME /home/jenkins/.ssh
# Install swarm client
ADD "https://repo.jenkins-ci.org/releases/org/jenkins-ci/plugins/swarm-client/${SWARM_PLUGIN_VERSION}/swarm-client-${SWARM_PLUGIN_VERSION}.jar" /data/swarm-client.jar
RUN chown -R jenkins:jenkins /data
# Switch to user jenkins
USER jenkins
# Start ssh
#CMD ["/usr/sbin/sshd", "-D"]
CMD java \
-jar /data/swarm-client.jar \
-executors "${EXECUTORS}" \
-noRetryAfterConnected \
-description "${DESCRIPTION}" \
-fsroot "${WORK_DIR}" \
-master "${JENKINS_URL}" \
-tunnel "${JENKINS_TUNNEL}" \
-username "${JENKINS_USERNAME}" \
-password "${JENKINS_PASSWORD}" \
-labels "${LABELS}" \
-name "${NAME}" \
-sslFingerprints " "