Skip to content
Snippets Groups Projects
Unverified Commit 31902482 authored by Matteo Di Carlo's avatar Matteo Di Carlo Committed by GitHub
Browse files

Merge pull request #10 from ska-telescope/upgrade-to-buster

Update Dockerfiles to build with buster and TANGO 9.3.3
parents 7b0052e4 9391d0c7
Branches
Tags 0.2.0
No related merge requests found
Showing
with 146 additions and 119 deletions
......@@ -17,6 +17,7 @@ stages:
- build_4
- build_5
- test
- push
# https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#authenticating-to-the-container-registry
before_script:
......@@ -26,11 +27,10 @@ build_tango-builder:
retry: 2
stage: build_0
tags:
- docker-executor
- shell
script:
- cd docker/tango/tango-builder
- make DOCKER_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
- make DOCKER_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
only:
changes:
- docker/tango/tango-builder/**/*
......@@ -39,11 +39,10 @@ build_dependencies:
retry: 2
stage: build_1
tags:
- docker-executor
- shell
script:
- cd docker/tango/tango-dependencies
- make DOCKER_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
- make DOCKER_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
only:
changes:
- docker/tango/tango-dependencies/**/*
......@@ -52,11 +51,10 @@ build_tango-db:
retry: 2
stage: build_1
tags:
- docker-executor
- shell
script:
- cd docker/tango/tango-db
- make DOCKER_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
- make DOCKER_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
only:
changes:
- docker/tango/tango-db/**/*
......@@ -65,11 +63,10 @@ build_tango-cpp:
retry: 2
stage: build_2
tags:
- docker-executor
- shell
script:
- cd docker/tango/tango-cpp
- make DOCKER_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
- make DOCKER_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
only:
changes:
- docker/tango/tango-dependencies/**/*
......@@ -79,11 +76,10 @@ build_tango-java:
retry: 2
stage: build_2
tags:
- docker-executor
- shell
script:
- cd docker/tango/tango-java
- make DOCKER_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
- make DOCKER_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
only:
changes:
- docker/tango/tango-dependencies/**/*
......@@ -93,11 +89,10 @@ build_tango-dsconfig:
retry: 2
stage: build_3
tags:
- docker-executor
- shell
script:
- cd docker/tango/tango-dsconfig
- make DOCKER_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
- make DOCKER_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
only:
changes:
- docker/tango/tango-dependencies/**/*
......@@ -108,11 +103,10 @@ build_ska-python-buildenv:
retry: 2
stage: build_3
tags:
- docker-executor
- shell
script:
- cd docker/tango/ska-python-buildenv
- make DOCKER_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
- make DOCKER_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
only:
changes:
- docker/tango/tango-dependencies/**/*
......@@ -123,11 +117,10 @@ build_ska-python-runtime:
retry: 2
stage: build_4
tags:
- docker-executor
- shell
script:
- cd docker/tango/ska-python-runtime
- make DOCKER_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
- make DOCKER_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
only:
changes:
- docker/tango/tango-dependencies/**/*
......@@ -139,11 +132,10 @@ build_tango-rest:
retry: 2
stage: build_3
tags:
- docker-executor
- shell
script:
- cd docker/tango/tango-rest
- make DOCKER_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
- make DOCKER_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
only:
changes:
- docker/tango/tango-dependencies/**/*
......@@ -154,11 +146,10 @@ build_tango-itango:
retry: 2
stage: build_5
tags:
- docker-executor
- shell
script:
- cd docker/tango/tango-itango
- make DOCKER_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
- make DOCKER_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
only:
changes:
- docker/tango/tango-dependencies/**/*
......@@ -171,11 +162,10 @@ build_tango-pogo:
retry: 2
stage: build_3
tags:
- docker-executor
- shell
script:
- cd docker/tango/tango-pogo
- make DOCKER_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
- make DOCKER_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
only:
changes:
- docker/tango/tango-dependencies/**/*
......@@ -186,11 +176,10 @@ build_tango-starter:
retry: 2
stage: build_3
tags:
- docker-executor
- shell
script:
- cd docker/tango/tango-starter
- make DOCKER_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
- make DOCKER_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
only:
changes:
- docker/tango/tango-dependencies/**/*
......@@ -201,54 +190,70 @@ test-framework-tango-itango:
retry: 2
stage: test
tags:
- docker-executor
- shell
script:
- mkdir .public
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST -C docker/tango/tango-itango pull > .public/pull.txt
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST -C docker/tango/tango-itango test > .public/result.txt
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST -C docker/tango/tango-itango pull | tee .public/pull.txt
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST -C docker/tango/tango-itango test | tee .public/result.txt
- mv .public public
artifacts:
paths:
- public
# only:
# changes:
# - docker/tango/tango-dependencies/**/*
# - docker/tango/tango-cpp/**/*
# - docker/tango/tango-python/**/*
# - docker/tango/tango-itango/**/*
test-framework-tango-rest:
retry: 2
stage: test
tags:
- docker-executor
- shell
script:
- mkdir .public
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST -C docker/tango/tango-rest test > .public/result.txt
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST -C docker/tango/tango-rest test | tee .public/result.txt
- mv .public public
artifacts:
paths:
- public
# only:
# changes:
# - docker/tango/tango-dependencies/**/*
# - docker/tango/tango-cpp/**/*
# - docker/tango/tango-rest/**/*
allow_failure: true
test-framework-ska-python-buildenv:
retry: 2
stage: test
tags:
- docker-executor
- shell
script:
- mkdir .public
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST -C docker/tango/ska-python-buildenv test > .public/result.txt
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST -C docker/tango/ska-python-buildenv test | tee .public/result.txt
- mv .public public
artifacts:
paths:
- public
# only:
# changes:
# - docker/tango/tango-dependencies/**/*
# - docker/tango/tango-cpp/**/*
# - docker/tango/ska-python-buildenv/**/*
push:
stage: push
tags:
- shell
script:
- cd docker/tango/tango-builder
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
- cd ../../../docker/tango/tango-dependencies
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
- cd ../../../docker/tango/tango-db
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
- cd ../../../docker/tango/tango-cpp
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
- cd ../../../docker/tango/tango-java
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
- cd ../../../docker/tango/tango-dsconfig
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
- cd ../../../docker/tango/ska-python-buildenv
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
- cd ../../../docker/tango/ska-python-runtime
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
- cd ../../../docker/tango/tango-rest
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
- cd ../../../docker/tango/tango-itango
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
- cd ../../../docker/tango/tango-pogo
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
- cd ../../../docker/tango/tango-starter
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
when: manual
\ No newline at end of file
release=0.1.0
tag=ska-python-buildenv-0.1.0
release=0.2.0
tag=ska-python-buildenv-0.2.0
......@@ -65,7 +65,11 @@ COPY --chown=tango:tango Pipfile Pipfile
COPY --chown=tango:tango Pipfile.lock Pipfile.lock
# Install PyTango et al. into the virtual environment.
RUN pipenv install --dev
# for Debian buster - make sure the correct libboost_python named lib is present
RUN if [ -f "/usr/lib/x86_64-linux-gnu/libboost_python3-py37.so" ] && [ ! -f "/usr/lib/x86_64-linux-gnu/libboost_python-py37.so" ]; then \
ln -s /usr/lib/x86_64-linux-gnu/libboost_python3-py37.so /usr/lib/x86_64-linux-gnu/libboost_python-py37.so; \
fi; \
pipenv install --dev
# The following commands are executed when extending this image.
# Copy the Pipfile across to the image so that pipenv knows which dependencies
......
......@@ -5,7 +5,7 @@ name = "pypi"
[packages]
numpy = "==1.15.4"
pytango = "==9.2.5"
pytango = "==9.3.1"
[dev-packages]
docutils = "*"
......
release=0.1.0
tag=ska-python-runtime-0.1.0
release=0.2.0
tag=ska-python-runtime-0.2.0
......@@ -21,7 +21,7 @@ USER root
# * python3 is required as this image is intended for running Python Tango
# devices.
#
RUN runtimeDeps='libboost-python1.62.0 \
RUN runtimeDeps='libboost-python1.67.0 \
make \
python3' \
&& DOCKERHOST=`awk '/^[a-z]+[0-9]+\t00000000/ { printf("%d.%d.%d.%d", "0x" substr($3, 7, 2), "0x" substr($3, 5, 2), "0x" substr($3, 3, 2), "0x" substr($3, 1, 2)) }' < /proc/net/route` \
......
......@@ -5,7 +5,7 @@ name = "pypi"
[packages]
numpy = "==1.15.4"
pytango = "==9.2.5"
pytango = "==9.3.1"
[dev-packages]
docutils = "*"
......
release=0.1.0
tag=tango-cpp-0.1.0
release=0.2.0
tag=tango-cpp-0.2.0
......@@ -7,8 +7,7 @@ ARG DOCKER_REGISTRY_USER
ARG DOCKER_REGISTRY_HOST
FROM ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-dependencies:latest as buildenv
RUN TANGO_VERSION=9.2.5a \
&& TANGO_DOWNLOAD_URL=https://netcologne.dl.sourceforge.net/project/tango-cs/tango-$TANGO_VERSION.tar.gz \
RUN TANGO_DOWNLOAD_URL=https://nexus.engageska-portugal.pt/repository/raw/tango-cs/tango-9.3.3-rc2.tar.gz \
# Speed up image builds by adding apt proxy if detected on host
&& DOCKERHOST=`awk '/^[a-z]+[0-9]+\t00000000/ { printf("%d.%d.%d.%d", "0x" substr($3, 7, 2), "0x" substr($3, 5, 2), "0x" substr($3, 3, 2), "0x" substr($3, 1, 2)) }' < /proc/net/route` \
&& /usr/local/bin/wait-for-it.sh --host=$DOCKERHOST --port=3142 --timeout=3 --strict --quiet -- echo "Acquire::http::Proxy \"http://$DOCKERHOST:3142\";" > /etc/apt/apt.conf.d/30proxy \
......@@ -28,10 +27,10 @@ RUN TANGO_VERSION=9.2.5a \
&& apt-get purge -y --auto-remove $buildDeps \
&& rm -r /usr/src/tango
FROM debian:stretch-slim
FROM debian:buster-slim
COPY --from=buildenv /usr/local /usr/local
RUN runtimeDeps='libmariadbclient18 sudo' \
RUN runtimeDeps='libmariadb3 sudo' \
&& DOCKERHOST=`awk '/^[a-z]+[0-9]+\t00000000/ { printf("%d.%d.%d.%d", "0x" substr($3, 7, 2), "0x" substr($3, 5, 2), "0x" substr($3, 3, 2), "0x" substr($3, 1, 2)) }' < /proc/net/route` \
&& /usr/local/bin/wait-for-it.sh --host=$DOCKERHOST --port=3142 --timeout=3 --strict --quiet -- echo "Acquire::http::Proxy \"http://$DOCKERHOST:3142\";" > /etc/apt/apt.conf.d/30proxy \
&& echo "Proxy detected on docker host - using for this build" || echo "No proxy detected on docker host" \
......
FROM mariadb:10
ENV TANGO_VERSION=9.2.5a
ENV TANGO_DOWNLOAD_URL=https://netcologne.dl.sourceforge.net/project/tango-cs/tango-$TANGO_VERSION.tar.gz
ENV TANGO_DOWNLOAD_URL=https://nexus.engageska-portugal.pt/repository/raw/tango-cs/tango-9.3.3-rc2.tar.gz
RUN buildDeps='curl' \
RUN buildDeps='curl ca-certificates' \
&& DEBIAN_FRONTEND=noninteractive apt-get update \
&& apt-get -y install --no-install-recommends $buildDeps \
&& rm -rf /var/lib/apt/lists/* \
......
release=0.1.0
tag=tango-dependencies-0.1.0
release=0.2.0
tag=tango-dependencies-0.2.0
......@@ -3,7 +3,7 @@
# intermediate image, then creates a release image containing the compiled
# binaries.
#
FROM debian:stretch-slim as buildenv
FROM debian:buster-slim as buildenv
# Copy across files that are used to help orchestrate container compositions
# and test execution sequences
......@@ -14,40 +14,53 @@ RUN DOCKERHOST=`awk '/^[a-z]+[0-9]+\t00000000/ { printf("%d.%d.%d.%d", "0x" subs
&& /usr/local/bin/wait-for-it.sh --host=$DOCKERHOST --port=3142 --timeout=3 --strict --quiet -- echo "Acquire::http::Proxy \"http://$DOCKERHOST:3142\";" > /etc/apt/apt.conf.d/30proxy \
&& echo "Proxy detected on docker host - using for this build" || echo "No proxy detected on docker host"
RUN ZEROMQ_VERSION=4.0.5 \
&& ZEROMQ_DOWNLOAD_URL=https://archive.org/download/zeromq_$ZEROMQ_VERSION/zeromq-$ZEROMQ_VERSION.tar.gz \
RUN ZEROMQ_DOWNLOAD_URL=https://github.com/zeromq/libzmq/archive/v4.3.2.tar.gz \
&& buildDeps='autoconf automake build-essential ca-certificates curl libkrb5-dev libtool pkg-config unzip' \
&& DEBIAN_FRONTEND=noninteractive apt-get update \
&& apt-get -y install $buildDeps --no-install-recommends \
&& rm -rf /var/lib/apt/lists/* \
&& mkdir /usr/src/zeromq \
&& cd /usr/src/zeromq \
&& curl -fsSL "$ZEROMQ_DOWNLOAD_URL" -o zeromq.tar.gz \
&& curl -kfsSL "$ZEROMQ_DOWNLOAD_URL" -o zeromq.tar.gz \
&& tar xf zeromq.tar.gz -C /usr/src/zeromq --strip-components=1 \
&& ./autogen.sh \
&& ./configure --enable-static=no \
&& make -C /usr/src/zeromq -j$(nproc) \
&& make -C /usr/src/zeromq install \
&& apt-get purge -y --auto-remove $buildDeps \
&& rm -r /usr/src/zeromq
RUN OMNIORB_DOWNLOAD_URL=https://svwh.dl.sourceforge.net/project/omniorb/omniORB/omniORB-4.2.1/omniORB-4.2.1-2.tar.bz2 \
&& OMNIORB_PATCH_URL=http://ftp.esrf.fr/pub/cs/tango/Patches/dii_race.patch \
RUN CPPZMQ_DOWNLOAD_URL=https://github.com/zeromq/cppzmq/archive/v4.4.1.tar.gz \
&& buildDeps='autoconf automake build-essential ca-certificates curl libkrb5-dev libtool pkg-config unzip cmake' \
&& DEBIAN_FRONTEND=noninteractive apt-get update \
&& apt-get -y install $buildDeps --no-install-recommends \
&& rm -rf /var/lib/apt/lists/* \
&& mkdir /usr/src/cppzmq \
&& cd /usr/src/cppzmq \
&& curl -kfsSL "$CPPZMQ_DOWNLOAD_URL" -o cppzmq.tar.gz \
&& tar xf cppzmq.tar.gz -C /usr/src/cppzmq --strip-components=1 \
&& mkdir build \
&& cd build \
&& cmake .. \
&& make -j4 install \
&& apt-get purge -y --auto-remove $buildDeps \
&& rm -r /usr/src/cppzmq
RUN OMNIORB_DOWNLOAD_URL=https://nexus.engageska-portugal.pt/repository/raw/omniorb/omniORB-4.2.3.tar.bz2 \
&& buildDeps='build-essential ca-certificates curl python-dev python-pkgconfig' \
&& DEBIAN_FRONTEND=noninteractive apt-get update \
&& apt-get -y install --no-install-recommends $buildDeps \
&& rm -rf /var/lib/apt/lists/* \
&& mkdir -p /usr/src/omniorb \
&& cd /usr/src/omniorb \
&& curl -fsSL "$OMNIORB_DOWNLOAD_URL" -o omniorb.tar.bz2 \
&& curl -fsSL "$OMNIORB_PATCH_URL" -o dii_race.patch \
&& curl -kfsSL "$OMNIORB_DOWNLOAD_URL" -o omniorb.tar.bz2 \
&& tar xf omniorb.tar.bz2 -C /usr/src/omniorb --strip-components=1 \
&& patch -p0 < dii_race.patch \
&& ./configure --enable-static=no \
&& make -C /usr/src/omniorb -j$(nproc) \
&& make -C /usr/src/omniorb install \
&& apt-get purge -y --auto-remove $buildDeps \
&& rm -r /usr/src/omniorb
FROM debian:stretch-slim
FROM debian:buster-slim
COPY --from=buildenv /usr/local /usr/local
release=0.1.0
tag=tango-dsconfig-0.1.0
release=0.2.0
tag=tango-dsconfig-0.2.0
......@@ -16,7 +16,9 @@ RUN DOCKERHOST=`awk '/^[a-z]+[0-9]+\t00000000/ { printf("%d.%d.%d.%d", "0x" subs
# * pkg-config is used to locate required libraries
# * virtualenv is required to create a new Python virtualenv environment
#
RUN buildDeps='build-essential \
RUN ln -s /usr/lib/x86_64-linux-gnu/libboost_python27.so /usr/lib/x86_64-linux-gnu/libboost_python-py27.so; \
buildDeps='build-essential \
libboost-python-dev \
pkg-config \
git \
......
release=0.1.0
tag=tango-itango-0.1.0
release=0.2.0
tag=tango-itango-0.2.0
release=0.1.0
tag=tango-java-0.1.0
release=0.2.0
tag=tango-java-0.2.0
......@@ -5,21 +5,32 @@
#
ARG DOCKER_REGISTRY_USER
ARG DOCKER_REGISTRY_HOST
FROM ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-dependencies:latest as buildenv
FROM ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}/tango-dependencies:latest
RUN TANGO_VERSION=9.2.5a \
&& TANGO_DOWNLOAD_URL=https://netcologne.dl.sourceforge.net/project/tango-cs/tango-$TANGO_VERSION.tar.gz \
RUN JAVA_DOWNLOAD_URL=https://nexus.engageska-portugal.pt/repository/raw/java/jre-8u221-linux-x64.tar.gz \
&& mkdir /usr/java \
&& cd /usr/java \
&& buildDeps='wget sudo libxrender1 libxtst6 libxi6' \
&& DEBIAN_FRONTEND=noninteractive apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends $buildDeps \
&& wget --no-check-certificate "$JAVA_DOWNLOAD_URL" -O java.tar.gz \
&& tar zxvf java.tar.gz \
&& update-alternatives --install /usr/bin/java java /usr/java/jre1.8.0_221/bin/java 0 \
&& update-alternatives --set java /usr/java/jre1.8.0_221/bin/java \
&& rm /usr/java/java.tar.gz
RUN TANGO_DOWNLOAD_URL=https://nexus.engageska-portugal.pt/repository/raw/tango-cs/tango-9.3.3-rc2.tar.gz \
&& DOCKERHOST=`awk '/^[a-z]+[0-9]+\t00000000/ { printf("%d.%d.%d.%d", "0x" substr($3, 7, 2), "0x" substr($3, 5, 2), "0x" substr($3, 3, 2), "0x" substr($3, 1, 2)) }' < /proc/net/route` \
&& /usr/local/bin/wait-for-it.sh --host=$DOCKERHOST --port=3142 --timeout=3 --strict --quiet -- echo "Acquire::http::Proxy \"http://$DOCKERHOST:3142\";" > /etc/apt/apt.conf.d/30proxy \
&& echo "Proxy detected on docker host - using for this build" || echo "No proxy detected on docker host" \
&& mkdir -p /usr/share/man/man1 \
&& buildDeps='build-essential curl file libmariadbclient-dev libmariadbclient-dev-compat default-jdk pkg-config python' \
&& buildDeps='build-essential curl file libmariadbclient-dev libmariadbclient-dev-compat pkg-config python libmariadb3' \
&& DEBIAN_FRONTEND=noninteractive apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends $buildDeps \
&& rm -rf /var/lib/apt/lists/* \
&& mkdir -p /usr/src/tango \
&& cd /usr/src/tango \
&& curl -fsSL "$TANGO_DOWNLOAD_URL" -o tango.tar.gz \
&& curl -fsSL -k "$TANGO_DOWNLOAD_URL" -o tango.tar.gz \
&& tar xf tango.tar.gz -C /usr/src/tango --strip-components=1 \
&& ./configure --with-zmq=/usr/local --with-omni=/usr/local --with-mysqlclient-prefix=/usr --enable-static=no \
&& make -C /usr/src/tango -j$(nproc) \
......@@ -28,19 +39,13 @@ RUN TANGO_VERSION=9.2.5a \
&& apt-get purge -y --auto-remove $buildDeps \
&& rm -r /usr/src/tango
FROM debian:stretch-slim
COPY --from=buildenv /usr/local /usr/local
RUN runtimeDeps='default-jre-headless libmariadbclient18 sudo' \
&& mkdir -p /usr/share/man/man1 \
&& DOCKERHOST=`awk '/^[a-z]+[0-9]+\t00000000/ { printf("%d.%d.%d.%d", "0x" substr($3, 7, 2), "0x" substr($3, 5, 2), "0x" substr($3, 3, 2), "0x" substr($3, 1, 2)) }' < /proc/net/route` \
&& /usr/local/bin/wait-for-it.sh --host=$DOCKERHOST --port=3142 --timeout=3 --strict --quiet -- echo "Acquire::http::Proxy \"http://$DOCKERHOST:3142\";" > /etc/apt/apt.conf.d/30proxy \
&& echo "Proxy detected on docker host - using for this build" || echo "No proxy detected on docker host" \
&& DEBIAN_FRONTEND=noninteractive apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends $runtimeDeps \
&& rm -rf /var/lib/apt/lists/* /etc/apt/apt.conf.d/30proxy
RUN sed -i -e '/^assistive_technologies=/s/^/#/' /etc/java-*-openjdk/accessibility.properties
RUN LOG4J=https://nexus.engageska-portugal.pt/repository/raw/java/log4j-1.2.17.tar.gz \
&& cd /usr/java \
&& wget --no-check-certificate "$LOG4J" -O log4j.tar.gz \
&& tar zxvf log4j.tar.gz \
&& mv apache-log4j-1.2.17/log4j-1.2.17.jar /usr/local/share/java/log4j-1.2.17.jar \
&& apt-get purge -y --auto-remove wget \
&& rm /usr/java/log4j.tar.gz
RUN useradd --create-home --home-dir /home/tango tango
......
release=0.1.0
tag=tango-pogo-0.1.0
release=0.2.0
tag=tango-pogo-0.2.0
release=0.1.0
tag=tango-rest-0.1.0
release=0.2.0
tag=tango-rest-0.2.0
ARG DOCKER_REGISTRY_HOST
ARG DOCKER_REGISTRY_USER
FROM debian:stretch-slim as buildenv
FROM debian:buster-slim as buildenv
RUN MTANGOREST_VERSION=rc4-2.12 \
&& MTANGOREST_DOWNLOAD_URL=https://github.com/Ingvord/mtangorest.server/releases/download/mtangorest.server-$MTANGOREST_VERSION/mtangorest.server-$MTANGOREST_VERSION.jar \
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment