Skip to content
Snippets Groups Projects
Commit f27c14a9 authored by Corné Lukken's avatar Corné Lukken
Browse files

L2SS-205: Build and push images for several services

parent 617d1a04
No related branches found
No related tags found
1 merge request!183Docker image building & pushing with CI pipeline caching
Showing
with 85 additions and 30 deletions
...@@ -7,7 +7,6 @@ variables: ...@@ -7,7 +7,6 @@ variables:
cache: cache:
paths: paths:
- .cache/pip - .cache/pip
- /var/lib/docker
stages: stages:
- remote_images - remote_images
# - building # - building
...@@ -16,8 +15,8 @@ stages: ...@@ -16,8 +15,8 @@ stages:
# - unit-tests # - unit-tests
# - integration-tests # - integration-tests
# - packaging # - packaging
# - images - images
.base_docker_store_images: .base_docker_images:
stage: remote_images stage: remote_images
image: docker:latest image: docker:latest
tags: tags:
...@@ -29,7 +28,6 @@ stages: ...@@ -29,7 +28,6 @@ stages:
before_script: before_script:
- apk add --update make bash - apk add --update make bash
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
script:
- touch /root/.Xauthority - touch /root/.Xauthority
# Hack BASH_SOURCE into sourced files, docker its sh shell won't set this # Hack BASH_SOURCE into sourced files, docker its sh shell won't set this
- export BASH_SOURCE=$(pwd)/bootstrap/etc/lofar20rc.sh - export BASH_SOURCE=$(pwd)/bootstrap/etc/lofar20rc.sh
...@@ -37,21 +35,81 @@ stages: ...@@ -37,21 +35,81 @@ stages:
- . bootstrap/etc/lofar20rc.sh || true - . bootstrap/etc/lofar20rc.sh || true
# Allow docker image script test to execute # Allow docker image script test to execute
- chmod u+x $CI_PROJECT_DIR/sbin/tag_and_push_docker_image.sh - 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 # Do not remove 'bash' or statement will be ignored by primitive docker shell
- bash $CI_PROJECT_DIR/sbin/tag_and_push_docker_image.sh - bash $CI_PROJECT_DIR/sbin/tag_and_push_docker_image.sh
docker_store_images_master_tag: docker_store_images_master_tag:
extends: .base_docker_store_images extends: .base_docker_store_images
only: only:
- tags refs:
- master - tags
- master
docker_store_images_changes: docker_store_images_changes:
extends: .base_docker_store_images extends: .base_docker_store_images
only: only:
changes: changes:
- docker-compose/.env - docker-compose/.env
except: except:
- tags refs:
- master - 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: #newline_at_eof:
# stage: linting # stage: linting
# before_script: # before_script:
...@@ -132,4 +190,4 @@ docker_store_images_changes: ...@@ -132,4 +190,4 @@ docker_store_images_changes:
# - pip3 install -r docker-compose/itango/lofar-requirements.txt # - pip3 install -r docker-compose/itango/lofar-requirements.txt
# script: # script:
# - cd tangostationcontrol # - cd tangostationcontrol
# - python setup.py bdist_wheel # - python setup.py bdist_wheel
\ No newline at end of file
...@@ -75,7 +75,7 @@ services: ...@@ -75,7 +75,7 @@ services:
tag: "{{.Name}}" tag: "{{.Name}}"
dsconfig: 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 container_name: ${CONTAINER_NAME_PREFIX}dsconfig
networks: networks:
- control - control
......
...@@ -13,7 +13,7 @@ version: '2' ...@@ -13,7 +13,7 @@ version: '2'
services: services:
astor: 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 container_name: ${CONTAINER_NAME_PREFIX}astor
networks: networks:
- control - control
......
...@@ -20,7 +20,7 @@ services: ...@@ -20,7 +20,7 @@ services:
build: build:
context: lofar-device-base context: lofar-device-base
args: 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 container_name: ${CONTAINER_NAME_PREFIX}device-apsct
networks: networks:
- control - control
......
...@@ -20,7 +20,7 @@ services: ...@@ -20,7 +20,7 @@ services:
build: build:
context: lofar-device-base context: lofar-device-base
args: 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 container_name: ${CONTAINER_NAME_PREFIX}device-apspu
networks: networks:
- control - control
......
...@@ -19,7 +19,7 @@ services: ...@@ -19,7 +19,7 @@ services:
build: build:
context: lofar-device-base context: lofar-device-base
args: 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 container_name: ${CONTAINER_NAME_PREFIX}device-boot
networks: networks:
- control - control
......
...@@ -20,7 +20,7 @@ services: ...@@ -20,7 +20,7 @@ services:
build: build:
context: lofar-device-base context: lofar-device-base
args: 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 container_name: ${CONTAINER_NAME_PREFIX}device-docker
networks: networks:
- control - control
......
...@@ -19,7 +19,7 @@ services: ...@@ -19,7 +19,7 @@ services:
build: build:
context: lofar-device-base context: lofar-device-base
args: 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 container_name: ${CONTAINER_NAME_PREFIX}device-observation_control
networks: networks:
- control - control
......
...@@ -20,7 +20,7 @@ services: ...@@ -20,7 +20,7 @@ services:
build: build:
context: lofar-device-base context: lofar-device-base
args: 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 container_name: ${CONTAINER_NAME_PREFIX}device-recv
networks: networks:
- control - control
......
...@@ -20,7 +20,7 @@ services: ...@@ -20,7 +20,7 @@ services:
build: build:
context: lofar-device-base context: lofar-device-base
args: 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 container_name: ${CONTAINER_NAME_PREFIX}device-sdp
networks: networks:
- control - control
......
...@@ -20,7 +20,7 @@ services: ...@@ -20,7 +20,7 @@ services:
build: build:
context: lofar-device-base context: lofar-device-base
args: 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 container_name: ${CONTAINER_NAME_PREFIX}device-sst
networks: networks:
- control - control
......
...@@ -20,7 +20,7 @@ services: ...@@ -20,7 +20,7 @@ services:
build: build:
context: lofar-device-base context: lofar-device-base
args: 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 container_name: ${CONTAINER_NAME_PREFIX}device-unb2
networks: networks:
- control - control
......
...@@ -20,7 +20,7 @@ services: ...@@ -20,7 +20,7 @@ services:
build: build:
context: lofar-device-base context: lofar-device-base
args: 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 container_name: ${CONTAINER_NAME_PREFIX}device-xst
networks: networks:
- control - control
......
...@@ -11,7 +11,7 @@ services: ...@@ -11,7 +11,7 @@ services:
build: build:
context: itango context: itango
args: 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 container_name: ${CONTAINER_NAME_PREFIX}integration-test
networks: networks:
- control - control
......
...@@ -17,7 +17,7 @@ services: ...@@ -17,7 +17,7 @@ services:
build: build:
context: itango context: itango
args: 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 container_name: ${CONTAINER_NAME_PREFIX}itango
networks: networks:
- control - control
......
...@@ -18,7 +18,7 @@ version: '2' ...@@ -18,7 +18,7 @@ version: '2'
services: services:
jive: 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 container_name: ${CONTAINER_NAME_PREFIX}jive
network_mode: host network_mode: host
volumes: volumes:
......
...@@ -15,7 +15,7 @@ services: ...@@ -15,7 +15,7 @@ services:
context: jupyter context: jupyter
args: args:
CONTAINER_EXECUTION_UID: ${CONTAINER_EXECUTION_UID} 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 container_name: ${CONTAINER_NAME_PREFIX}jupyter
networks: networks:
- control - control
......
...@@ -18,7 +18,7 @@ services: ...@@ -18,7 +18,7 @@ services:
build: build:
context: lofar-device-base context: lofar-device-base
args: 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 container_name: ${CONTAINER_NAME_PREFIX}lofar-device-base
# These parameters are just visual queues, you have to define them again # These parameters are just visual queues, you have to define them again
# in derived docker-compose files! # in derived docker-compose files!
......
# Do not put tangostationcontrol dependencies here # Do not put tangostationcontrol dependencies here
astropy astropy
# requirements to build tangocontrol
GitPython >= 3.1.24 # BSD
...@@ -12,7 +12,7 @@ version: '2' ...@@ -12,7 +12,7 @@ version: '2'
services: services:
logviewer: 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 container_name: ${CONTAINER_NAME_PREFIX}logviewer
networks: networks:
- control - control
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment