2020-01-30 15:29:08 +00:00
|
|
|
ARG USER
|
2020-03-12 15:29:27 +00:00
|
|
|
FROM $USER/debian-stretch-jenkins
|
2020-11-18 16:52:56 +00:00
|
|
|
# Arguments used after FROM must be specified again
|
|
|
|
ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org"
|
2020-01-30 15:29:08 +00:00
|
|
|
|
|
|
|
MAINTAINER Pau Espin Pedrol <pespin@sysmocom.de>
|
|
|
|
|
|
|
|
# Create jenkins user
|
|
|
|
RUN useradd -ms /bin/bash jenkins
|
|
|
|
# Create osmo-gsm-tester group and add user to it
|
|
|
|
RUN groupadd osmo-gsm-tester
|
|
|
|
RUN usermod -a -G osmo-gsm-tester jenkins
|
|
|
|
|
|
|
|
# install osmo-gsm-tester dependencies
|
|
|
|
RUN apt-get update && \
|
|
|
|
apt-get install -y --no-install-recommends \
|
|
|
|
dbus \
|
|
|
|
tcpdump \
|
|
|
|
sqlite3 \
|
|
|
|
python3 \
|
|
|
|
python3-setuptools \
|
|
|
|
python3-yaml \
|
|
|
|
python3-mako \
|
|
|
|
python3-gi \
|
2020-03-02 15:39:53 +00:00
|
|
|
python3-numpy \
|
2020-01-30 15:29:08 +00:00
|
|
|
python3-wheel \
|
2020-11-10 16:26:44 +00:00
|
|
|
python3-watchdog \
|
2020-01-30 15:29:08 +00:00
|
|
|
ofono \
|
|
|
|
patchelf \
|
|
|
|
sudo \
|
|
|
|
libcap2-bin \
|
|
|
|
python3-pip \
|
|
|
|
udhcpc \
|
|
|
|
iperf3 \
|
|
|
|
locales
|
|
|
|
|
|
|
|
# install osmo-gsm-tester pip dependencies
|
|
|
|
RUN pip3 install \
|
|
|
|
"git+https://github.com/podshumok/python-smpplib.git@master#egg=smpplib" \
|
|
|
|
pydbus \
|
|
|
|
pyusb \
|
|
|
|
pysispm
|
|
|
|
|
|
|
|
# Intall sshd:
|
|
|
|
RUN apt-get update && apt-get install -y openssh-server
|
|
|
|
RUN mkdir /var/run/sshd
|
|
|
|
COPY ssh /root/.ssh
|
|
|
|
COPY --chown=jenkins:jenkins ssh /home/jenkins/.ssh
|
|
|
|
RUN chmod -R 0700 /home/jenkins/.ssh /root/.ssh
|
|
|
|
|
|
|
|
# Create directories for slaves with correct file permissions:
|
|
|
|
RUN mkdir -p /osmo-gsm-tester-srsue \
|
|
|
|
/osmo-gsm-tester-srsenb \
|
|
|
|
/osmo-gsm-tester-srsepc \
|
2020-10-19 16:43:12 +00:00
|
|
|
/osmo-gsm-tester-trx \
|
|
|
|
/osmo-gsm-tester-grbroker
|
2020-01-30 15:29:08 +00:00
|
|
|
RUN chown -R jenkins:jenkins \
|
|
|
|
/osmo-gsm-tester-srsue \
|
|
|
|
/osmo-gsm-tester-srsenb \
|
|
|
|
/osmo-gsm-tester-srsepc \
|
2020-10-19 16:43:12 +00:00
|
|
|
/osmo-gsm-tester-trx \
|
|
|
|
/osmo-gsm-tester-grbroker
|
2020-01-30 15:29:08 +00:00
|
|
|
|
|
|
|
# Set a UTF-8 locale
|
|
|
|
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
|
|
|
|
dpkg-reconfigure --frontend=noninteractive locales && \
|
|
|
|
update-locale LANG=en_US.UTF-8
|
|
|
|
ENV LANG en_US.UTF-8
|
|
|
|
|
2020-10-05 10:42:09 +00:00
|
|
|
# We require a newer patchelf 0.11 (OS#4389)
|
|
|
|
ADD https://github.com/NixOS/patchelf/archive/0.11.tar.gz /tmp/patchelf-0.11.tar.gz
|
2020-01-30 15:29:08 +00:00
|
|
|
RUN cd /tmp && \
|
2020-10-05 10:42:09 +00:00
|
|
|
tar -zxf /tmp/patchelf-0.11.tar.gz && \
|
|
|
|
cd patchelf-0.11 && \
|
|
|
|
autoreconf -fi && \
|
|
|
|
./configure --prefix=/usr/local && \
|
2020-01-30 15:29:08 +00:00
|
|
|
make && \
|
2020-10-05 10:42:09 +00:00
|
|
|
make install
|
2020-01-30 15:29:08 +00:00
|
|
|
|
2020-11-18 16:52:56 +00:00
|
|
|
ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/"
|
2020-01-30 15:29:08 +00:00
|
|
|
|
2021-03-09 23:58:55 +00:00
|
|
|
COPY .common/Release.key /tmp/Release.key
|
2020-01-30 15:29:08 +00:00
|
|
|
|
|
|
|
RUN apt-key add /tmp/Release.key && \
|
|
|
|
rm /tmp/Release.key && \
|
|
|
|
echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list
|
|
|
|
|
|
|
|
ADD $OSMOCOM_REPO/Release /tmp/Release
|
|
|
|
RUN apt-get update && \
|
|
|
|
apt-get install -y --no-install-recommends \
|
|
|
|
telnet \
|
|
|
|
libosmocore-dev \
|
|
|
|
libosmo-abis-dev \
|
|
|
|
libosmo-gsup-client-dev \
|
|
|
|
libosmo-netif-dev \
|
|
|
|
libosmo-ranap-dev \
|
|
|
|
libosmo-sccp-dev \
|
|
|
|
libosmo-sigtran-dev \
|
|
|
|
libsmpp34-dev \
|
|
|
|
libgtp-dev \
|
|
|
|
libasn1c-dev && \
|
|
|
|
apt-get clean
|
|
|
|
|
2020-03-02 16:27:08 +00:00
|
|
|
# install srsLTE runtime dependencies
|
|
|
|
RUN apt-get update && \
|
|
|
|
apt-get install -y --no-install-recommends \
|
|
|
|
cmake \
|
|
|
|
libfftw3-dev \
|
|
|
|
libmbedtls-dev \
|
|
|
|
libboost-program-options-dev \
|
|
|
|
libconfig++-dev \
|
|
|
|
libsctp-dev \
|
|
|
|
libpcsclite-dev \
|
|
|
|
libuhd-dev \
|
|
|
|
libczmq-dev \
|
|
|
|
libsoapysdr-dev \
|
|
|
|
soapysdr0.7-module-lms7 && \
|
|
|
|
apt-get clean
|
|
|
|
|
2020-10-16 14:13:13 +00:00
|
|
|
# install gnuradio runtime dependencies
|
|
|
|
RUN apt-get update && \
|
|
|
|
apt-get install -y --no-install-recommends \
|
|
|
|
gnuradio && \
|
|
|
|
apt-get clean
|
|
|
|
|
2020-01-30 15:29:08 +00:00
|
|
|
WORKDIR /tmp
|
|
|
|
|
|
|
|
ARG OSMO_GSM_TESTER_BRANCH="master"
|
|
|
|
|
|
|
|
RUN git clone git://git.osmocom.org/osmo-gsm-tester.git
|
|
|
|
ADD http://git.osmocom.org/osmo-gsm-tester/patch?h=$OSMO_GSM_TESTER_BRANCH /tmp/commit
|
|
|
|
|
|
|
|
RUN cd osmo-gsm-tester && \
|
|
|
|
git fetch && git checkout $OSMO_GSM_TESTER_BRANCH && \
|
|
|
|
(git symbolic-ref -q HEAD && git reset --hard origin/$OSMO_GSM_TESTER_BRANCH || exit 1); \
|
|
|
|
git rev-parse --abbrev-ref HEAD && git rev-parse HEAD
|
|
|
|
|
2021-01-11 13:42:07 +00:00
|
|
|
# Install osmo-ci.git/scripts to /usr/local/bin
|
|
|
|
ADD http://git.osmocom.org/osmo-ci/patch /tmp/osmo-ci-commit
|
|
|
|
RUN git clone https://git.osmocom.org/osmo-ci osmo-ci && \
|
|
|
|
cp -v $(find osmo-ci/scripts \
|
|
|
|
-maxdepth 1 \
|
|
|
|
-type f ) \
|
2021-01-12 12:10:37 +00:00
|
|
|
/usr/local/bin
|
2021-01-11 13:42:07 +00:00
|
|
|
|
2020-01-30 15:29:08 +00:00
|
|
|
# Copy several scripts and permission for osmo-gsm-tester:
|
|
|
|
RUN mkdir -p /usr/local/bin/ && cp osmo-gsm-tester/utils/bin/* /usr/local/bin/
|
|
|
|
RUN mkdir -p /etc/sudoers.d/ && cp osmo-gsm-tester/utils/sudoers.d/* /etc/sudoers.d/
|
2020-03-02 17:04:19 +00:00
|
|
|
RUN mkdir -p /etc/security/limits.d/ && cp osmo-gsm-tester/utils/limits.d/* /etc/security/limits.d/
|
2020-01-30 15:29:08 +00:00
|
|
|
|
|
|
|
VOLUME /data
|
2020-04-10 19:02:41 +00:00
|
|
|
COPY resources.conf /tmp/osmo-gsm-tester/sysmocom/resources.conf
|
2020-01-30 15:29:08 +00:00
|
|
|
|
|
|
|
WORKDIR /data
|
2020-03-02 16:25:05 +00:00
|
|
|
CMD ["/bin/sh", "-c", "/data/osmo-gsm-tester-master.sh >/data/osmo-gsm-tester.log 2>&1"]
|
2020-01-30 15:29:08 +00:00
|
|
|
|
|
|
|
EXPOSE 22/tcp
|