Use internal mirror repositories for Ubuntu docker containers

Depending on different external URLs makes our provisioning scripts flaky,
because they can fail if any one of the external servers goes down.
In this patch

* the docker images qt_ubuntu_16.04 and qt_ubuntu_18.04 are being built first,
  they apt-get from the internal ubuntu mirror

* all the existing docker images have been rebased to these two images, so
  they inherit this behavior

* images that fetch files from the internet have been modified to not do the
  fetching themselves; insted URLs are fetched in advance using "DownloadURL"
  which accepts internal mirrored URLs, and the downloaded files are ADDed to
  the images with a local copy

* previously existing git clone commands have been modified to fetch
  internally mirrored tarballs

Task-number: QTQAINFRA-3343
Change-Id: Ic4640a4f7776e38623edba90f0eba7cb68631223
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
This commit is contained in:
Dimitrios Apostolou
2019-11-05 18:21:19 +01:00
parent 302b228c7a
commit fe4a724a3e
23 changed files with 142 additions and 72 deletions

View File

@@ -1,20 +1,14 @@
FROM ubuntu:18.04
FROM qt_ubuntu_18.04
ARG packages="avahi-daemon autoconf automake libtool make libgnutls28-dev"
RUN apt-get update && apt-get -y install $packages
RUN apt-get update && apt-get -y install git avahi-daemon autoconf automake libtool make libgnutls28-dev
RUN mkdir -p /root/src/
# Get FreeCoAP test server
WORKDIR /root/src
RUN git clone https://github.com/keith-cullen/FreeCoAP.git
ADD FreeCoAP-*.tar.gz .
RUN mv FreeCoAP-* FreeCoAP
WORKDIR /root/src/FreeCoAP
RUN autoreconf --install
RUN ./configure
RUN autoreconf --install && ./configure && make && make install
WORKDIR sample/time_server
RUN make
RUN make install
WORKDIR /root/src/FreeCoAP/sample/time_server
RUN make
WORKDIR /
EXPOSE 5685/udp