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
No related branches found
No related tags found
No related merge requests found
Showing
with 146 additions and 119 deletions
...@@ -17,6 +17,7 @@ stages: ...@@ -17,6 +17,7 @@ stages:
- build_4 - build_4
- build_5 - build_5
- test - test
- push
# https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#authenticating-to-the-container-registry # https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#authenticating-to-the-container-registry
before_script: before_script:
...@@ -26,11 +27,10 @@ build_tango-builder: ...@@ -26,11 +27,10 @@ build_tango-builder:
retry: 2 retry: 2
stage: build_0 stage: build_0
tags: tags:
- docker-executor - shell
script: script:
- cd docker/tango/tango-builder - 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_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
only: only:
changes: changes:
- docker/tango/tango-builder/**/* - docker/tango/tango-builder/**/*
...@@ -39,11 +39,10 @@ build_dependencies: ...@@ -39,11 +39,10 @@ build_dependencies:
retry: 2 retry: 2
stage: build_1 stage: build_1
tags: tags:
- docker-executor - shell
script: script:
- cd docker/tango/tango-dependencies - 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_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
only: only:
changes: changes:
- docker/tango/tango-dependencies/**/* - docker/tango/tango-dependencies/**/*
...@@ -52,11 +51,10 @@ build_tango-db: ...@@ -52,11 +51,10 @@ build_tango-db:
retry: 2 retry: 2
stage: build_1 stage: build_1
tags: tags:
- docker-executor - shell
script: script:
- cd docker/tango/tango-db - 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_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
only: only:
changes: changes:
- docker/tango/tango-db/**/* - docker/tango/tango-db/**/*
...@@ -65,11 +63,10 @@ build_tango-cpp: ...@@ -65,11 +63,10 @@ build_tango-cpp:
retry: 2 retry: 2
stage: build_2 stage: build_2
tags: tags:
- docker-executor - shell
script: script:
- cd docker/tango/tango-cpp - 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_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
only: only:
changes: changes:
- docker/tango/tango-dependencies/**/* - docker/tango/tango-dependencies/**/*
...@@ -79,11 +76,10 @@ build_tango-java: ...@@ -79,11 +76,10 @@ build_tango-java:
retry: 2 retry: 2
stage: build_2 stage: build_2
tags: tags:
- docker-executor - shell
script: script:
- cd docker/tango/tango-java - 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_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
only: only:
changes: changes:
- docker/tango/tango-dependencies/**/* - docker/tango/tango-dependencies/**/*
...@@ -93,11 +89,10 @@ build_tango-dsconfig: ...@@ -93,11 +89,10 @@ build_tango-dsconfig:
retry: 2 retry: 2
stage: build_3 stage: build_3
tags: tags:
- docker-executor - shell
script: script:
- cd docker/tango/tango-dsconfig - 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_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
only: only:
changes: changes:
- docker/tango/tango-dependencies/**/* - docker/tango/tango-dependencies/**/*
...@@ -108,11 +103,10 @@ build_ska-python-buildenv: ...@@ -108,11 +103,10 @@ build_ska-python-buildenv:
retry: 2 retry: 2
stage: build_3 stage: build_3
tags: tags:
- docker-executor - shell
script: script:
- cd docker/tango/ska-python-buildenv - 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_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
only: only:
changes: changes:
- docker/tango/tango-dependencies/**/* - docker/tango/tango-dependencies/**/*
...@@ -123,11 +117,10 @@ build_ska-python-runtime: ...@@ -123,11 +117,10 @@ build_ska-python-runtime:
retry: 2 retry: 2
stage: build_4 stage: build_4
tags: tags:
- docker-executor - shell
script: script:
- cd docker/tango/ska-python-runtime - 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_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
only: only:
changes: changes:
- docker/tango/tango-dependencies/**/* - docker/tango/tango-dependencies/**/*
...@@ -139,11 +132,10 @@ build_tango-rest: ...@@ -139,11 +132,10 @@ build_tango-rest:
retry: 2 retry: 2
stage: build_3 stage: build_3
tags: tags:
- docker-executor - shell
script: script:
- cd docker/tango/tango-rest - 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_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
only: only:
changes: changes:
- docker/tango/tango-dependencies/**/* - docker/tango/tango-dependencies/**/*
...@@ -154,11 +146,10 @@ build_tango-itango: ...@@ -154,11 +146,10 @@ build_tango-itango:
retry: 2 retry: 2
stage: build_5 stage: build_5
tags: tags:
- docker-executor - shell
script: script:
- cd docker/tango/tango-itango - 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_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
only: only:
changes: changes:
- docker/tango/tango-dependencies/**/* - docker/tango/tango-dependencies/**/*
...@@ -171,11 +162,10 @@ build_tango-pogo: ...@@ -171,11 +162,10 @@ build_tango-pogo:
retry: 2 retry: 2
stage: build_3 stage: build_3
tags: tags:
- docker-executor - shell
script: script:
- cd docker/tango/tango-pogo - 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_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
only: only:
changes: changes:
- docker/tango/tango-dependencies/**/* - docker/tango/tango-dependencies/**/*
...@@ -186,11 +176,10 @@ build_tango-starter: ...@@ -186,11 +176,10 @@ build_tango-starter:
retry: 2 retry: 2
stage: build_3 stage: build_3
tags: tags:
- docker-executor - shell
script: script:
- cd docker/tango/tango-starter - 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_BUILD_ARGS="--no-cache" DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST build
- make DOCKER_REGISTRY_USER=$DOCKER_REGISTRY_FOLDER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST push
only: only:
changes: changes:
- docker/tango/tango-dependencies/**/* - docker/tango/tango-dependencies/**/*
...@@ -201,54 +190,70 @@ test-framework-tango-itango: ...@@ -201,54 +190,70 @@ test-framework-tango-itango:
retry: 2 retry: 2
stage: test stage: test
tags: tags:
- docker-executor - shell
script: script:
- mkdir .public - 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_USER DOCKER_REGISTRY_HOST=$DOCKER_REGISTRY_HOST -C docker/tango/tango-itango pull | tee .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 test | tee .public/result.txt
- mv .public public - mv .public public
artifacts: artifacts:
paths: paths:
- public - public
# only:
# changes:
# - docker/tango/tango-dependencies/**/*
# - docker/tango/tango-cpp/**/*
# - docker/tango/tango-python/**/*
# - docker/tango/tango-itango/**/*
test-framework-tango-rest: test-framework-tango-rest:
retry: 2 retry: 2
stage: test stage: test
tags: tags:
- docker-executor - shell
script: script:
- mkdir .public - 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 - mv .public public
artifacts: artifacts:
paths: paths:
- public - public
# only: allow_failure: true
# changes:
# - docker/tango/tango-dependencies/**/*
# - docker/tango/tango-cpp/**/*
# - docker/tango/tango-rest/**/*
test-framework-ska-python-buildenv: test-framework-ska-python-buildenv:
retry: 2 retry: 2
stage: test stage: test
tags: tags:
- docker-executor - shell
script: script:
- mkdir .public - 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 - mv .public public
artifacts: artifacts:
paths: paths:
- public - public
# only:
# changes: push:
# - docker/tango/tango-dependencies/**/* stage: push
# - docker/tango/tango-cpp/**/* tags:
# - docker/tango/ska-python-buildenv/**/* - 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 release=0.2.0
tag=ska-python-buildenv-0.1.0 tag=ska-python-buildenv-0.2.0
...@@ -65,7 +65,11 @@ COPY --chown=tango:tango Pipfile Pipfile ...@@ -65,7 +65,11 @@ COPY --chown=tango:tango Pipfile Pipfile
COPY --chown=tango:tango Pipfile.lock Pipfile.lock COPY --chown=tango:tango Pipfile.lock Pipfile.lock
# Install PyTango et al. into the virtual environment. # 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. # The following commands are executed when extending this image.
# Copy the Pipfile across to the image so that pipenv knows which dependencies # Copy the Pipfile across to the image so that pipenv knows which dependencies
......
...@@ -5,7 +5,7 @@ name = "pypi" ...@@ -5,7 +5,7 @@ name = "pypi"
[packages] [packages]
numpy = "==1.15.4" numpy = "==1.15.4"
pytango = "==9.2.5" pytango = "==9.3.1"
[dev-packages] [dev-packages]
docutils = "*" docutils = "*"
......
release=0.1.0 release=0.2.0
tag=ska-python-runtime-0.1.0 tag=ska-python-runtime-0.2.0
...@@ -21,7 +21,7 @@ USER root ...@@ -21,7 +21,7 @@ USER root
# * python3 is required as this image is intended for running Python Tango # * python3 is required as this image is intended for running Python Tango
# devices. # devices.
# #
RUN runtimeDeps='libboost-python1.62.0 \ RUN runtimeDeps='libboost-python1.67.0 \
make \ make \
python3' \ 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` \ && 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" ...@@ -5,7 +5,7 @@ name = "pypi"
[packages] [packages]
numpy = "==1.15.4" numpy = "==1.15.4"
pytango = "==9.2.5" pytango = "==9.3.1"
[dev-packages] [dev-packages]
docutils = "*" docutils = "*"
......
release=0.1.0 release=0.2.0
tag=tango-cpp-0.1.0 tag=tango-cpp-0.2.0
...@@ -7,8 +7,7 @@ ARG DOCKER_REGISTRY_USER ...@@ -7,8 +7,7 @@ ARG DOCKER_REGISTRY_USER
ARG DOCKER_REGISTRY_HOST 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 as buildenv
RUN TANGO_VERSION=9.2.5a \ RUN TANGO_DOWNLOAD_URL=https://nexus.engageska-portugal.pt/repository/raw/tango-cs/tango-9.3.3-rc2.tar.gz \
&& TANGO_DOWNLOAD_URL=https://netcologne.dl.sourceforge.net/project/tango-cs/tango-$TANGO_VERSION.tar.gz \
# Speed up image builds by adding apt proxy if detected on host # 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` \ && 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 \ && /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 \ ...@@ -28,10 +27,10 @@ RUN TANGO_VERSION=9.2.5a \
&& apt-get purge -y --auto-remove $buildDeps \ && apt-get purge -y --auto-remove $buildDeps \
&& rm -r /usr/src/tango && rm -r /usr/src/tango
FROM debian:stretch-slim FROM debian:buster-slim
COPY --from=buildenv /usr/local /usr/local 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` \ && 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 \ && /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" \ && echo "Proxy detected on docker host - using for this build" || echo "No proxy detected on docker host" \
......
FROM mariadb:10 FROM mariadb:10
ENV TANGO_VERSION=9.2.5a ENV TANGO_DOWNLOAD_URL=https://nexus.engageska-portugal.pt/repository/raw/tango-cs/tango-9.3.3-rc2.tar.gz
ENV TANGO_DOWNLOAD_URL=https://netcologne.dl.sourceforge.net/project/tango-cs/tango-$TANGO_VERSION.tar.gz
RUN buildDeps='curl' \ RUN buildDeps='curl ca-certificates' \
&& DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get update \
&& apt-get -y install --no-install-recommends $buildDeps \ && apt-get -y install --no-install-recommends $buildDeps \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
......
release=0.1.0 release=0.2.0
tag=tango-dependencies-0.1.0 tag=tango-dependencies-0.2.0
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
# intermediate image, then creates a release image containing the compiled # intermediate image, then creates a release image containing the compiled
# binaries. # binaries.
# #
FROM debian:stretch-slim as buildenv FROM debian:buster-slim as buildenv
# Copy across files that are used to help orchestrate container compositions # Copy across files that are used to help orchestrate container compositions
# and test execution sequences # and test execution sequences
...@@ -14,40 +14,53 @@ RUN DOCKERHOST=`awk '/^[a-z]+[0-9]+\t00000000/ { printf("%d.%d.%d.%d", "0x" subs ...@@ -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 \ && /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" && echo "Proxy detected on docker host - using for this build" || echo "No proxy detected on docker host"
RUN ZEROMQ_VERSION=4.0.5 \ RUN ZEROMQ_DOWNLOAD_URL=https://github.com/zeromq/libzmq/archive/v4.3.2.tar.gz \
&& ZEROMQ_DOWNLOAD_URL=https://archive.org/download/zeromq_$ZEROMQ_VERSION/zeromq-$ZEROMQ_VERSION.tar.gz \
&& buildDeps='autoconf automake build-essential ca-certificates curl libkrb5-dev libtool pkg-config unzip' \ && buildDeps='autoconf automake build-essential ca-certificates curl libkrb5-dev libtool pkg-config unzip' \
&& DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get update \
&& apt-get -y install $buildDeps --no-install-recommends \ && apt-get -y install $buildDeps --no-install-recommends \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
&& mkdir /usr/src/zeromq \ && mkdir /usr/src/zeromq \
&& cd /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 \ && tar xf zeromq.tar.gz -C /usr/src/zeromq --strip-components=1 \
&& ./autogen.sh \
&& ./configure --enable-static=no \ && ./configure --enable-static=no \
&& make -C /usr/src/zeromq -j$(nproc) \ && make -C /usr/src/zeromq -j$(nproc) \
&& make -C /usr/src/zeromq install \ && make -C /usr/src/zeromq install \
&& apt-get purge -y --auto-remove $buildDeps \
&& rm -r /usr/src/zeromq && 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' \ && buildDeps='build-essential ca-certificates curl python-dev python-pkgconfig' \
&& DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get update \
&& apt-get -y install --no-install-recommends $buildDeps \ && apt-get -y install --no-install-recommends $buildDeps \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
&& mkdir -p /usr/src/omniorb \ && mkdir -p /usr/src/omniorb \
&& cd /usr/src/omniorb \ && cd /usr/src/omniorb \
&& curl -fsSL "$OMNIORB_DOWNLOAD_URL" -o omniorb.tar.bz2 \ && curl -kfsSL "$OMNIORB_DOWNLOAD_URL" -o omniorb.tar.bz2 \
&& curl -fsSL "$OMNIORB_PATCH_URL" -o dii_race.patch \
&& tar xf omniorb.tar.bz2 -C /usr/src/omniorb --strip-components=1 \ && tar xf omniorb.tar.bz2 -C /usr/src/omniorb --strip-components=1 \
&& patch -p0 < dii_race.patch \
&& ./configure --enable-static=no \ && ./configure --enable-static=no \
&& make -C /usr/src/omniorb -j$(nproc) \ && make -C /usr/src/omniorb -j$(nproc) \
&& make -C /usr/src/omniorb install \ && make -C /usr/src/omniorb install \
&& apt-get purge -y --auto-remove $buildDeps \ && apt-get purge -y --auto-remove $buildDeps \
&& rm -r /usr/src/omniorb && rm -r /usr/src/omniorb
FROM debian:stretch-slim FROM debian:buster-slim
COPY --from=buildenv /usr/local /usr/local COPY --from=buildenv /usr/local /usr/local
release=0.1.0 release=0.2.0
tag=tango-dsconfig-0.1.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 ...@@ -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 # * pkg-config is used to locate required libraries
# * virtualenv is required to create a new Python virtualenv environment # * 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 \ libboost-python-dev \
pkg-config \ pkg-config \
git \ git \
......
release=0.1.0 release=0.2.0
tag=tango-itango-0.1.0 tag=tango-itango-0.2.0
release=0.1.0 release=0.2.0
tag=tango-java-0.1.0 tag=tango-java-0.2.0
...@@ -5,21 +5,32 @@ ...@@ -5,21 +5,32 @@
# #
ARG DOCKER_REGISTRY_USER ARG DOCKER_REGISTRY_USER
ARG DOCKER_REGISTRY_HOST 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 \ RUN JAVA_DOWNLOAD_URL=https://nexus.engageska-portugal.pt/repository/raw/java/jre-8u221-linux-x64.tar.gz \
&& TANGO_DOWNLOAD_URL=https://netcologne.dl.sourceforge.net/project/tango-cs/tango-$TANGO_VERSION.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` \ && 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 \ && /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" \ && echo "Proxy detected on docker host - using for this build" || echo "No proxy detected on docker host" \
&& mkdir -p /usr/share/man/man1 \ && 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 update \
&& DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends $buildDeps \ && DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends $buildDeps \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
&& mkdir -p /usr/src/tango \ && mkdir -p /usr/src/tango \
&& cd /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 \ && 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 \ && ./configure --with-zmq=/usr/local --with-omni=/usr/local --with-mysqlclient-prefix=/usr --enable-static=no \
&& make -C /usr/src/tango -j$(nproc) \ && make -C /usr/src/tango -j$(nproc) \
...@@ -28,19 +39,13 @@ RUN TANGO_VERSION=9.2.5a \ ...@@ -28,19 +39,13 @@ RUN TANGO_VERSION=9.2.5a \
&& apt-get purge -y --auto-remove $buildDeps \ && apt-get purge -y --auto-remove $buildDeps \
&& rm -r /usr/src/tango && rm -r /usr/src/tango
FROM debian:stretch-slim RUN LOG4J=https://nexus.engageska-portugal.pt/repository/raw/java/log4j-1.2.17.tar.gz \
COPY --from=buildenv /usr/local /usr/local && cd /usr/java \
&& wget --no-check-certificate "$LOG4J" -O log4j.tar.gz \
RUN runtimeDeps='default-jre-headless libmariadbclient18 sudo' \ && tar zxvf log4j.tar.gz \
&& mkdir -p /usr/share/man/man1 \ && mv apache-log4j-1.2.17/log4j-1.2.17.jar /usr/local/share/java/log4j-1.2.17.jar \
&& 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` \ && apt-get purge -y --auto-remove wget \
&& /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 \ && rm /usr/java/log4j.tar.gz
&& 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 useradd --create-home --home-dir /home/tango tango RUN useradd --create-home --home-dir /home/tango tango
......
release=0.1.0 release=0.2.0
tag=tango-pogo-0.1.0 tag=tango-pogo-0.2.0
release=0.1.0 release=0.2.0
tag=tango-rest-0.1.0 tag=tango-rest-0.2.0
ARG DOCKER_REGISTRY_HOST ARG DOCKER_REGISTRY_HOST
ARG DOCKER_REGISTRY_USER ARG DOCKER_REGISTRY_USER
FROM debian:stretch-slim as buildenv FROM debian:buster-slim as buildenv
RUN MTANGOREST_VERSION=rc4-2.12 \ 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 \ && 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