diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 00b6e89eb3ce8e5f819761107aff681a2ef00e2d..6462d3c6f33569cbb65ac4d9602c075b77a1db91 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,7 +7,6 @@ variables: cache: paths: - .cache/pip - - /var/lib/docker stages: - remote_images # - building @@ -16,8 +15,8 @@ stages: # - unit-tests # - integration-tests # - packaging -# - images -.base_docker_store_images: + - images +.base_docker_images: stage: remote_images image: docker:latest tags: @@ -29,7 +28,6 @@ stages: before_script: - apk add --update make bash - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - script: - touch /root/.Xauthority # Hack BASH_SOURCE into sourced files, docker its sh shell won't set this - export BASH_SOURCE=$(pwd)/bootstrap/etc/lofar20rc.sh @@ -37,21 +35,81 @@ stages: - . bootstrap/etc/lofar20rc.sh || true # Allow docker image script test to execute - chmod u+x $CI_PROJECT_DIR/sbin/tag_and_push_docker_image.sh +.base_docker_store_images: + extends: .base_docker_images + script: # Do not remove 'bash' or statement will be ignored by primitive docker shell - bash $CI_PROJECT_DIR/sbin/tag_and_push_docker_image.sh docker_store_images_master_tag: extends: .base_docker_store_images only: - - tags - - master + refs: + - tags + - master docker_store_images_changes: extends: .base_docker_store_images only: changes: - docker-compose/.env except: - - tags - - master + refs: + - tags + - master +docker_build_image_elk: + extends: .base_docker_images + only: + changes: + - docker-compose/elk.yml + - docker-compose/elk/* + - docker-compose/elk-configure-host/* + script: + # Do not remove 'bash' or statement will be ignored by primitive docker shell + - bash $CI_PROJECT_DIR/sbin/tag_and_push_docker_image.sh elk + - bash $CI_PROJECT_DIR/sbin/tag_and_push_docker_image.sh elk-configure-host +docker_build_image_lofar_device_base: + extends: .base_docker_images + only: + changes: + - docker-compose/lofar-device-base.yml + - docker-compose/lofar-device-base/* + script: + # Do not remove 'bash' or statement will be ignored by primitive docker shell + - bash $CI_PROJECT_DIR/sbin/tag_and_push_docker_image.sh lofar-device-base +docker_build_image_prometheus: + extends: .base_docker_images + only: + changes: + - docker-compose/prometheus.yml + - docker-compose/prometheus/* + script: + # Do not remove 'bash' or statement will be ignored by primitive docker shell + - bash $CI_PROJECT_DIR/sbin/tag_and_push_docker_image.sh prometheus +#docker_build_image_docker-compose_itango: +# extends: .base_docker_images +# only: +# changes: +# - docker-compose/itango.yml +# script: +# # Do not remove 'bash' or statement will be ignored by primitive docker shell +# - bash $CI_PROJECT_DIR/sbin/tag_and_push_docker_image.sh itango +docker_build_image_grafana: + extends: .base_docker_images + only: + changes: + - docker-compose/grafana.yml + - docker-compose/grafana/* + script: + # Do not remove 'bash' or statement will be ignored by primitive docker shell + - bash $CI_PROJECT_DIR/sbin/tag_and_push_docker_image.sh grafana +docker_build_image_jupyter: + extends: .base_docker_images + only: + changes: + - docker-compose/jupyter.yml + - docker-compose/jupyter/* + script: + # Do not remove 'bash' or statement will be ignored by primitive docker shell + - bash $CI_PROJECT_DIR/sbin/tag_and_push_docker_image.sh jupyter #newline_at_eof: # stage: linting # before_script: @@ -132,4 +190,4 @@ docker_store_images_changes: # - pip3 install -r docker-compose/itango/lofar-requirements.txt # script: # - cd tangostationcontrol -# - python setup.py bdist_wheel +# - python setup.py bdist_wheel \ No newline at end of file diff --git a/docker-compose/archiver.yml b/docker-compose/archiver.yml index 1a56516c707ba965486432e753e45e24c14cbdc0..1cc661f079638a56741edd9e00b344cef387accc 100644 --- a/docker-compose/archiver.yml +++ b/docker-compose/archiver.yml @@ -75,7 +75,7 @@ services: tag: "{{.Name}}" dsconfig: - image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-dsconfig:${TANGO_DSCONFIG_VERSION} + image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-dsconfig:${TANGO_DSCONFIG_VERSION} container_name: ${CONTAINER_NAME_PREFIX}dsconfig networks: - control diff --git a/docker-compose/astor.yml b/docker-compose/astor.yml index 7010a82afa2fbcf5cb3dd797bda384bb516354f8..502472fc4eedd022388cd13d76e74135e00ff3db 100644 --- a/docker-compose/astor.yml +++ b/docker-compose/astor.yml @@ -13,7 +13,7 @@ version: '2' services: astor: - image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-java:${TANGO_JAVA_VERSION} + image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-java:${TANGO_JAVA_VERSION} container_name: ${CONTAINER_NAME_PREFIX}astor networks: - control diff --git a/docker-compose/device-apsct.yml b/docker-compose/device-apsct.yml index 60f65fc47ed81822242282fc743846221acec2d9..0e258fecdb3a96c3a73714ae2c28cf2e847457a1 100644 --- a/docker-compose/device-apsct.yml +++ b/docker-compose/device-apsct.yml @@ -20,7 +20,7 @@ services: build: context: lofar-device-base args: - SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION} + SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION} container_name: ${CONTAINER_NAME_PREFIX}device-apsct networks: - control diff --git a/docker-compose/device-apspu.yml b/docker-compose/device-apspu.yml index b694b09518215e293d19e1ff551f4f608e6f818d..5f325b19fb357e83ab3d35e3acfa1a5cbbb2896a 100644 --- a/docker-compose/device-apspu.yml +++ b/docker-compose/device-apspu.yml @@ -20,7 +20,7 @@ services: build: context: lofar-device-base args: - SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION} + SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION} container_name: ${CONTAINER_NAME_PREFIX}device-apspu networks: - control diff --git a/docker-compose/device-boot.yml b/docker-compose/device-boot.yml index 3db111410fafde9901fd8f91cb40a1c3560e4242..330cb723ed3bb5ee8ccd50bf4cb933da4e1fe09c 100644 --- a/docker-compose/device-boot.yml +++ b/docker-compose/device-boot.yml @@ -19,7 +19,7 @@ services: build: context: lofar-device-base args: - SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION} + SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION} container_name: ${CONTAINER_NAME_PREFIX}device-boot networks: - control diff --git a/docker-compose/device-docker.yml b/docker-compose/device-docker.yml index 5a2641e9871f163f27ed7a60d872d30d4fe855e1..a9e4ccfdd6f66eda66f05ea5244fcf0fd732a382 100644 --- a/docker-compose/device-docker.yml +++ b/docker-compose/device-docker.yml @@ -20,7 +20,7 @@ services: build: context: lofar-device-base args: - SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION} + SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION} container_name: ${CONTAINER_NAME_PREFIX}device-docker networks: - control diff --git a/docker-compose/device-observation_control.yml b/docker-compose/device-observation_control.yml index 33fb0d066fd76b8eb4a9c7753266f16d04157726..d4f6f15d1f4eb80d02cd0c5738dc0a011b9dfc72 100644 --- a/docker-compose/device-observation_control.yml +++ b/docker-compose/device-observation_control.yml @@ -19,7 +19,7 @@ services: build: context: lofar-device-base args: - SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION} + SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION} container_name: ${CONTAINER_NAME_PREFIX}device-observation_control networks: - control diff --git a/docker-compose/device-recv.yml b/docker-compose/device-recv.yml index a08f566e7b39e095403f00cb5b086420b689d66b..25e767726f139ff532dbe649ccb230fabbec0602 100644 --- a/docker-compose/device-recv.yml +++ b/docker-compose/device-recv.yml @@ -20,7 +20,7 @@ services: build: context: lofar-device-base args: - SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION} + SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION} container_name: ${CONTAINER_NAME_PREFIX}device-recv networks: - control diff --git a/docker-compose/device-sdp.yml b/docker-compose/device-sdp.yml index f32c34394475c6a7483cb98cd03def1f62cf9ff0..06a523f606d67811986bd7a13b9a3202cb74e91d 100644 --- a/docker-compose/device-sdp.yml +++ b/docker-compose/device-sdp.yml @@ -20,7 +20,7 @@ services: build: context: lofar-device-base args: - SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION} + SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION} container_name: ${CONTAINER_NAME_PREFIX}device-sdp networks: - control diff --git a/docker-compose/device-sst.yml b/docker-compose/device-sst.yml index 7464cb01f45e584ab705fe9098e0229a1b762295..86651c7878d844646528b41fb0969dfd19af6eea 100644 --- a/docker-compose/device-sst.yml +++ b/docker-compose/device-sst.yml @@ -20,7 +20,7 @@ services: build: context: lofar-device-base args: - SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION} + SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION} container_name: ${CONTAINER_NAME_PREFIX}device-sst networks: - control diff --git a/docker-compose/device-unb2.yml b/docker-compose/device-unb2.yml index af1329d21a905f3c150c092529978e17f0c0ee37..2b9b47146a405440ebd36fd84162935fb6b8a56d 100644 --- a/docker-compose/device-unb2.yml +++ b/docker-compose/device-unb2.yml @@ -20,7 +20,7 @@ services: build: context: lofar-device-base args: - SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION} + SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION} container_name: ${CONTAINER_NAME_PREFIX}device-unb2 networks: - control diff --git a/docker-compose/device-xst.yml b/docker-compose/device-xst.yml index c4ea684fd94e34fcaaa857a5717ca47745eccc72..54ca5a21f911084160d2cec772df06da55ef5cf1 100644 --- a/docker-compose/device-xst.yml +++ b/docker-compose/device-xst.yml @@ -20,7 +20,7 @@ services: build: context: lofar-device-base args: - SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION} + SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION} container_name: ${CONTAINER_NAME_PREFIX}device-xst networks: - control diff --git a/docker-compose/integration-test.yml b/docker-compose/integration-test.yml index defb45e3c3183516131795b283372ca784635d8c..e2be9144ef7d73b7108609a917529c019e109c62 100644 --- a/docker-compose/integration-test.yml +++ b/docker-compose/integration-test.yml @@ -11,7 +11,7 @@ services: build: context: itango args: - SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION} + SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION} container_name: ${CONTAINER_NAME_PREFIX}integration-test networks: - control diff --git a/docker-compose/itango.yml b/docker-compose/itango.yml index 9b01c4ea25e2abc5849c9a98c29cc7601ba1115f..02d6801bd8a2f748a4b3d3336352891c78d4882b 100644 --- a/docker-compose/itango.yml +++ b/docker-compose/itango.yml @@ -17,7 +17,7 @@ services: build: context: itango args: - SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION} + SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION} container_name: ${CONTAINER_NAME_PREFIX}itango networks: - control diff --git a/docker-compose/jive.yml b/docker-compose/jive.yml index 456ae1fc96771bad1ab6b99e52e3b0c9c046c20c..5a2caea9a1d9d6fb19d235781abc33a3230412e8 100644 --- a/docker-compose/jive.yml +++ b/docker-compose/jive.yml @@ -18,7 +18,7 @@ version: '2' services: jive: - image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-java:${TANGO_JAVA_VERSION} + image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-java:${TANGO_JAVA_VERSION} container_name: ${CONTAINER_NAME_PREFIX}jive network_mode: host volumes: diff --git a/docker-compose/jupyter.yml b/docker-compose/jupyter.yml index 1e1deea6f0e22299544f988602efc676bbe6200c..3c09c0c54d1f0321b81ab7b0fb26a3ea17eea24c 100644 --- a/docker-compose/jupyter.yml +++ b/docker-compose/jupyter.yml @@ -15,7 +15,7 @@ services: context: jupyter args: CONTAINER_EXECUTION_UID: ${CONTAINER_EXECUTION_UID} - SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION} + SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION} container_name: ${CONTAINER_NAME_PREFIX}jupyter networks: - control diff --git a/docker-compose/lofar-device-base.yml b/docker-compose/lofar-device-base.yml index ce110ed85ba0cfb20b607ab7d08e70505d2392e8..f27969fbe6f26cba44086d6362556138654deea9 100644 --- a/docker-compose/lofar-device-base.yml +++ b/docker-compose/lofar-device-base.yml @@ -18,7 +18,7 @@ services: build: context: lofar-device-base args: - SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION} + SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION} container_name: ${CONTAINER_NAME_PREFIX}lofar-device-base # These parameters are just visual queues, you have to define them again # in derived docker-compose files! diff --git a/docker-compose/lofar-device-base/lofar-requirements.txt b/docker-compose/lofar-device-base/lofar-requirements.txt index 10ad55d977c97793a352c13da323d84d3c826c0e..3a215b1d98d9324b11a0ba2765f19a5e6d85a3ff 100644 --- a/docker-compose/lofar-device-base/lofar-requirements.txt +++ b/docker-compose/lofar-device-base/lofar-requirements.txt @@ -1,5 +1,2 @@ # Do not put tangostationcontrol dependencies here astropy - -# requirements to build tangocontrol -GitPython >= 3.1.24 # BSD diff --git a/docker-compose/logviewer.yml b/docker-compose/logviewer.yml index bf0c9b2d51cbdb7334a579184114de6925fd37a1..08da4000b23925980e1683465fa4fdd4c05f04ae 100644 --- a/docker-compose/logviewer.yml +++ b/docker-compose/logviewer.yml @@ -12,7 +12,7 @@ version: '2' services: logviewer: - image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-java:${TANGO_JAVA_VERSION} + image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-java:${TANGO_JAVA_VERSION} container_name: ${CONTAINER_NAME_PREFIX}logviewer networks: - control diff --git a/docker-compose/pogo.yml b/docker-compose/pogo.yml index 826daac9fbd6ef3226a690832eedab505bbeaba3..954841746b9f0338d4a84fdae7e043fde04be460 100644 --- a/docker-compose/pogo.yml +++ b/docker-compose/pogo.yml @@ -20,7 +20,7 @@ volumes: services: pogo: - image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-pogo:${TANGO_POGO_VERSION} + image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-pogo:${TANGO_POGO_VERSION} container_name: ${CONTAINER_NAME_PREFIX}pogo networks: - control diff --git a/docker-compose/pypcc-sim-base/Dockerfile b/docker-compose/pypcc-sim-base/Dockerfile index c65c5b6f836e889f9b3c364ceace5f7b9b821628..ba73b0bcaea5000e2eeee12dec9e1a87bba94c7a 100644 --- a/docker-compose/pypcc-sim-base/Dockerfile +++ b/docker-compose/pypcc-sim-base/Dockerfile @@ -7,4 +7,4 @@ RUN apt-get update && apt-get install -y python3 python3-pip python3-yaml git && git clone --depth 1 --branch master https://git.astron.nl/lofar2.0/pypcc WORKDIR /pypcc -CMD ["python3","pypcc2.py","--simulator","--port","4843"] +CMD ["python3", "pypcc2.py", "--simulator", "--port","4843"] diff --git a/docker-compose/rest.yml b/docker-compose/rest.yml index 467319399d6f3fec12a74068fea182195014b59e..94e1168455ddfefa20796c352e92d27e07f9a115 100644 --- a/docker-compose/rest.yml +++ b/docker-compose/rest.yml @@ -13,7 +13,7 @@ version: '2' services: rest: - image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-rest:${TANGO_REST_VERSION} + image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-rest:${TANGO_REST_VERSION} container_name: ${CONTAINER_NAME_PREFIX}tango-rest networks: - control diff --git a/docker-compose/tango.yml b/docker-compose/tango.yml index 937cc5c8ecbe00b553d4692988e6cc2e5d7c51ef..19500fca1eeba859f74e7ba54fc3cbb021ea0ce6 100644 --- a/docker-compose/tango.yml +++ b/docker-compose/tango.yml @@ -15,7 +15,7 @@ volumes: services: tangodb: - image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-db:${TANGO_DB_VERSION} + image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-db:${TANGO_DB_VERSION} container_name: ${CONTAINER_NAME_PREFIX}tangodb networks: - control @@ -37,7 +37,7 @@ services: restart: unless-stopped databaseds: - image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-cpp:${TANGO_CPP_VERSION} + image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-cpp:${TANGO_CPP_VERSION} container_name: ${CONTAINER_NAME_PREFIX}databaseds networks: - control diff --git a/docker-compose/tangotest.yml b/docker-compose/tangotest.yml index 357c91df487b51379db221f7cb984bc05018f5e3..a97290d48f437b1c65b0bef01f6788fb525b2275 100644 --- a/docker-compose/tangotest.yml +++ b/docker-compose/tangotest.yml @@ -11,7 +11,7 @@ version: '2' services: tangotest: - image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-java:${TANGO_JAVA_VERSION} + image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-java:${TANGO_JAVA_VERSION} container_name: ${CONTAINER_NAME_PREFIX}tangotest networks: - control diff --git a/sbin/tag_and_push_docker_image.sh b/sbin/tag_and_push_docker_image.sh index 564c14c4b92c079d2fe13950e781da35ab94d0a0..bebc84d225da139ec4e5995313413be4a147d631 100755 --- a/sbin/tag_and_push_docker_image.sh +++ b/sbin/tag_and_push_docker_image.sh @@ -15,6 +15,7 @@ fi . "${LOFAR20_DIR}/docker-compose/.env" || exit 1 # Array of tuples separated by space inside double quotes +# These images are downloaded from a remote registry and pushed locally REMOTE_IMAGES=( "tango-dsconfig ${TANGO_DSCONFIG_VERSION}" "tango-java ${TANGO_JAVA_VERSION}" "tango-itango ${TANGO_ITANGO_VERSION}" "tango-pogo ${TANGO_POGO_VERSION}" @@ -22,48 +23,42 @@ REMOTE_IMAGES=( "tango-dsconfig ${TANGO_DSCONFIG_VERSION}" "tango-rest ${TANGO_REST_VERSION}" ) -for image in "${REMOTE_IMAGES[@]}"; do - # Set, splits tuple into $1 and $2 - # shellcheck disable=SC2086 - set -- $image - remote_url="${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-${1}:${2}" - local_url="${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/${1}:${2}" - docker pull "${remote_url}" - docker tag "${remote_url}" "${local_url}" - docker push "${local_url}" -done +# If first argument of bash script not set run first stage +if [ -z "${1+x}" ]; then + # Iterate over al the REMOTE_IMAGES and pull them from remote and push local + for image in "${REMOTE_IMAGES[@]}"; do + # Set, splits tuple into $1 and $2 + # shellcheck disable=SC2086 + set -- $image + remote_url="${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-${1}:${2}" + local_url="${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/${1}:${2}" + docker pull "${remote_url}" + docker tag "${remote_url}" "${local_url}" + docker push "${local_url}" + done +fi + +# Tuple of images and queries to detect changes +# TODO(Corne): Have this list generated from the .yml files +LOCAL_IMAGES=( + "elk" "elk-configure-host" "grafana" "prometheus" "lofar-device-base" + "docker-compose_jupyter" "docker-compose_integration-test" + "docker-compose_itango" "docker-compose_tango-prometheus-exporter" +) -# docker pull "${SKA_REPO}-${image}:" +# If first argument set run second stage, determine LOCAL_IMAGE to build and +# push from the argument +if [ ! -z "${1+x}" ]; then -## Compile a list of the SKA images -#SKA_IMAGES=$(for i in $(docker images | grep -E ${DOCKER_TAG} | grep -E ${SKA_REPO} | cut -d' ' -f1); do printf "%s " "${i}"; done) -# -## Compile a list of LOFAR2.0 images -#LOFAR_IMAGES=$(for i in $(docker images | grep -E ${DOCKER_TAG} | grep -E -v "${SKA_REPO}|${LOFAR_REPO}" | cut -d' ' -f1); do printf "%s " "${i}"; done) -# -#echo "$SKA_IMAGES" -#echo "$LOFAR_IMAGES" + cd "${LOFAR20_DIR}/docker-compose" || exit 1 -#function tag_and_push() -#{ -# ( -# docker tag "${1}" "${2}" -# docker push "${2}" -# ) & -#} -# -## Rename the SKA images for the LOFAR2.0 repo -## and push them to the LOFAR2.0 repo -#for IMAGE in ${SKA_IMAGES}; do -# PUSH_IMAGE=${IMAGE//${SKA_REPO}/${LOFAR_REPO}}:${VERSION} -# tag_and_push "${IMAGE}" "${PUSH_IMAGE}" -#done -# -## Rename the LOFAR2.0 images for the LOFAR2.0 repo -## and push them to the LOFAR2.0 repo -#for IMAGE in ${LOFAR_IMAGES}; do -# PUSH_IMAGE=${LOFAR_REPO}/${IMAGE}:${VERSION} -# tag_and_push "${IMAGE}" "${PUSH_IMAGE}" -#done + for image in "${LOCAL_IMAGES[@]}"; do + if [ "${1}" == "${image}" ]; then + make build "${image}" + local_url="${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/${image}:latest" + docker tag "${image}" "${local_url}" + docker push "${local_url}" + fi + done -# wait +fi