blob: 4364f1ad0cc3c5802c203a773bd51c1345763238 (
plain) (
blame)
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
|
ARG PYTHON_VERSION=${PYTHON_VERSION:-latest}
FROM astroconda/datb-tc-python:${PYTHON_VERSION}
# Declare environment
ENV OPT=/opt \
HOME=/home/jenkins \
PYTHONUNBUFFERED=1
# Toolchain
RUN yum update -y && yum install -y \
bzip2-devel \
curl \
git \
glibc-devel.i686 \
glibc-devel \
hg \
java-1.8.0-openjdk-devel \
kernel-devel \
libX11-devel \
mesa-libGL \
mesa-libGLU \
ncurses-devel \
openssh-server \
subversion \
sudo \
wget \
zlib-devel \
&& yum clean all
# SSH Server configuration
# Create 'jenkins' user
# Configure sudoers
RUN sed -i 's|#UseDNS.*|UseDNS no|' /etc/ssh/sshd_config \
&& ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N '' -t rsa \
&& ssh-keygen -f /etc/ssh/ssh_host_dsa_key -N '' -t dsa \
&& groupadd jenkins \
&& useradd -g jenkins -m -d $HOME -s /bin/bash jenkins \
&& echo "jenkins:jenkins" | chpasswd \
&& echo "jenkins ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers \
&& chown -R jenkins:jenkins ${TOOLCHAIN}
# Inject custom handlers
RUN curl -L https://github.com/krallin/tini/releases/download/v0.18.0/tini-static-amd64 > /usr/bin/tini \
&& chmod +x /usr/bin/tini
ADD with_env /usr/local/bin
ADD spawner.sh /usr/local/bin
WORKDIR ${HOME}
EXPOSE 22
ENTRYPOINT ["tini", "-g", "--", "spawner.sh"]
CMD ["/bin/bash"]
|