aboutsummaryrefslogtreecommitdiff
path: root/xenial-amd64-tf-m-build/Dockerfile
blob: 59e933ed0abf1511fc2f02075a27a364cd6e0fce (plain)
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
68
69
70
71
FROM ubuntu:xenial

# Can be overriden at build time
ARG BUILDSLAVE_PASSWORD=buildslave

RUN apt-get update \
 && DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y \
 && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
 build-essential \
 curl \
 git \
 openjdk-8-jdk \
 openssh-server \
 perl \
 python \
 python-dev \
 python-pip \
 python-psutil \
 python3-crypto \
 python3-pip \
 python3-psutil \
 python3-pyasn1 \
 python3-setuptools \
 srecord \
 sudo \
 tree \
 unzip \
 virtualenv \
 wget \
 zip \
 && apt-get clean \
 && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

ADD requirements_*.txt /opt/

RUN pip  -q install -r /opt/requirements_python2.txt \
 && pip3 -q install -r /opt/requirements_python3.txt

RUN wget "http://github.com/danmar/cppcheck/releases/download/1.81/cppcheck-1.81.tar.gz" \
 -q -O /tmp/cppcheck.tar.gz \
 && tar -C /opt -xzf /tmp/cppcheck.tar.gz \
 && cd /opt/cppcheck-1.81 \
 && make CFGDIR=/opt/cppcheck-1.81/cfg \
 && make install \
 && rm -rf /tmp/cppcheck.tar.gz

RUN useradd -md /home/buildslave -s /bin/bash buildslave \
 && echo "buildslave:$BUILDSLAVE_PASSWORD" | chpasswd \
 && echo 'buildslave ALL = NOPASSWD: ALL' > /etc/sudoers.d/jenkins \
 && chmod 0440 /etc/sudoers.d/jenkins \
 && mkdir -p /var/run/sshd

USER buildslave

RUN mkdir -p /home/buildslave/tools \
 && curl -L 'https://developer.arm.com/-/media/Files/downloads/gnu-rm/6-2017q2/gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2?revision=2cc92fb5-3e0e-402d-9197-bdfc8224d8a5?product=GNU%20Arm%20Embedded%20Toolchain,64-bit,,Linux,6-2017-q2-update' | tar -xj -C /home/buildslave/tools --strip-components=1 \
 && curl -L 'https://cmake.org/files/v3.7/cmake-3.7.2-Linux-x86_64.tar.gz' | tar -xz -C /home/buildslave/tools --strip-components=1

ENV PATH=/home/buildslave/tools/bin:${PATH}

USER root

ARG VERSION=3.28
RUN curl --create-dirs -fsSLo /usr/share/jenkins/slave.jar https://repo.jenkins-ci.org/public/org/jenkins-ci/main/remoting/${VERSION}/remoting-${VERSION}.jar \
  && chmod 755 /usr/share/jenkins \
  && chmod 644 /usr/share/jenkins/slave.jar

COPY jenkins-slave /usr/local/bin/jenkins-slave
RUN chmod 755 /usr/local/bin/jenkins-slave

ENTRYPOINT ["/usr/local/bin/jenkins-slave"]