diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 193f79596acb4dc0e54b08e515fee8ecd6cb692d..d9626d586f9bb69ff8213a10b1e915132d78d770 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -88,8 +88,8 @@ prepare_ci_base_docker_image: before_script: - *prepare_registry script: - - docker pull ${REGISTRY_PATH}/ci_base:latest # || true -# - docker build -t ${REGISTRY_PATH}/ci_base:$CI_COMMIT_SHORT_SHA -f Docker/lofar-ci/Dockerfile_ci_base . + - docker pull ${REGISTRY_PATH}/ci_base:latest || true + - docker build -t ${REGISTRY_PATH}/ci_base:$CI_COMMIT_SHORT_SHA -f Docker/lofar-ci/Dockerfile_ci_base . - docker tag ${REGISTRY_PATH}/ci_base:latest ${REGISTRY_PATH}/ci_base:$CI_COMMIT_SHORT_SHA - docker push ${REGISTRY_PATH}/ci_base:$CI_COMMIT_SHORT_SHA interruptible: true @@ -181,10 +181,12 @@ prepare_ci_mac_docker_image: - apk add rsync variables: LOFAR_TARGET: lcs155.control.lofar + environment: + name: ci_mac # DO NOT REMOVE ENVIRONMENT PROVIDES NECESSARY PROTECTION / KEYS needs: - prepare_ci_base_docker_image script: - - rsync lofarsys@lcs155.control.lofar:/nas/software/WinCC_3.16/*.rpm ./ + - rsync lofarsys@${LOFAR_TARGET}:/nas/software/WinCC_3.16/*.rpm ./ - docker pull ${REGISTRY_PATH}/ci_mac:latest || true - docker pull ${REGISTRY_PATH}/ci_base:$CI_COMMIT_SHORT_SHA - docker tag ${REGISTRY_PATH}/ci_base:$CI_COMMIT_SHORT_SHA ci_base:$CI_COMMIT_SHORT_SHA @@ -668,23 +670,33 @@ regression_test_SCU: # deploy-prod stage # -deploy-tmss-dockerhub: +deploy-image-caches: stage: deploy-prod rules: - - if: '$CI_COMMIT_BRANCH !~ /Front-End-Only/' - script: - - docker login -u $CI_DOCKERHUB_USERNAME -p $CI_DOCKERHUB_PASSWORD - - docker pull ${REGISTRY_PATH}/tmss_django:$CI_COMMIT_SHORT_SHA - - docker tag ${REGISTRY_PATH}/tmss_django:$CI_COMMIT_SHORT_SHA lofar/tmss:master-$CI_COMMIT_SHORT_SHA - - docker push lofar/tmss:master-$CI_COMMIT_SHORT_SHA - environment: - name: dockerhub - needs: - - dockerize_TMSS - - job: integration_test_SCU - artifacts: false + - if: '$CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED == "true"' allow_failure: true - when: manual + parallel: + matrix: + - IMAGE: + - ci_base + - ci_base_docker + - ci_base_ubuntu + - ci_lofar_pipeline + - ci_lofar_pulp + - ci_lofar_tbbwriter_control + - ci_mac + - ci_tmss + - lofar-base + - lta_ingest + - tmss_django + - tmss_testprovider + - ci_scu + before_script: + - *prepare_registry + script: + - docker pull ${REGISTRY_PATH}/${IMAGE}:$CI_COMMIT_SHORT_SHA + - docker tag ${REGISTRY_PATH}/${IMAGE}:$CI_COMMIT_SHORT_SHA ${REGISTRY_PATH}/${IMAGE}:latest + - docker push ${REGISTRY_PATH}/${IMAGE}:latest .deploy-tmss-prod-common-script: &deploy-tmss-prod-common-script - apk update @@ -724,7 +736,7 @@ deploy-tmss-prod-lcs129: LOFAR_TARGET: "lcs129.control.lofar" LOFAR_TARGET_PORT: 22 COMPOSE_PATH: /localhome/lofarsys/bin/docker-compose - SOURCE_IMAGE: "${CI_NEXUS_REGISTRY_LOCATION}/tmss_django:$CI_COMMIT_SHORT_SHA" + SOURCE_IMAGE: "${REGISTRY_PATH}/tmss_django:$CI_COMMIT_SHORT_SHA" environment: name: production-lcs129 script: @@ -741,7 +753,7 @@ deploy-tmss-prod-cs001: LOFAR_TARGET: "cs001c.control.lofar" LOFAR_TARGET_PORT: 2222 COMPOSE_PATH: /usr/local/bin/docker-compose - SOURCE_IMAGE: "${CI_NEXUS_REGISTRY_LOCATION}/tmss_django:$CI_COMMIT_SHORT_SHA" + SOURCE_IMAGE: "${REGISTRY_PATH}/tmss_django:$CI_COMMIT_SHORT_SHA" environment: name: production-cs001 before_script: @@ -822,9 +834,9 @@ deploy-lofar-pipeline-prod: script: - NODES=$(ssh lofarsys@${CEP_HEADNODE} sinfo -p ${CEP_PARTITION} -h -o %N) - echo "Deploying on ${NODES}" - - ssh lofarsys@${CEP_HEADNODE} "clush -S -P -w ${NODES} -w head[01-02] docker pull $CI_NEXUS_REGISTRY_LOCATION/ci_lofar_pipeline:$CI_COMMIT_SHORT_SHA" + - ssh lofarsys@${CEP_HEADNODE} "clush -S -P -w ${NODES} -w head[01-02] docker pull ${REGISTRY_PATH}/ci_lofar_pipeline:$CI_COMMIT_SHORT_SHA" # the pipeline is built to be run as lofar-pipeline:$CI_COMMIT_REF_NAME - - ssh lofarsys@${CEP_HEADNODE} "clush -S -P -w ${NODES} -w head[01-02] docker tag $CI_NEXUS_REGISTRY_LOCATION/ci_lofar_pipeline:$CI_COMMIT_SHORT_SHA lofar-pipeline:$CI_COMMIT_REF_NAME" + - ssh lofarsys@${CEP_HEADNODE} "clush -S -P -w ${NODES} -w head[01-02] docker tag ${REGISTRY_PATH}/ci_lofar_pipeline:$CI_COMMIT_SHORT_SHA lofar-pipeline:$CI_COMMIT_REF_NAME" - if $MARK_PIPELINES_LATEST; then ssh lofarsys@${CEP_HEADNODE} "clush -S -P -w ${NODES} -w head[01-02] docker tag lofar-pipeline:$CI_COMMIT_REF_NAME lofar-pipeline:latest"; done environment: name: production @@ -851,9 +863,9 @@ deploy-dynspec-prod: script: - NODES=$(ssh lofarsys@${CEP_HEADNODE} sinfo -p ${CEP_PARTITION} -h -o %N) - echo "Deploying on ${NODES}" - - ssh lofarsys@${CEP_HEADNODE} "clush -S -P -w ${NODES} -w head[01-02] docker pull $CI_NEXUS_REGISTRY_LOCATION/ci_dynspec:$CI_COMMIT_SHORT_SHA" + - ssh lofarsys@${CEP_HEADNODE} "clush -S -P -w ${NODES} -w head[01-02] docker pull ${REGISTRY_PATH}/ci_dynspec:$CI_COMMIT_SHORT_SHA" # the pipeline is built to be run as dynspec:latest!! - - ssh lofarsys@${CEP_HEADNODE} "clush -S -P -w ${NODES} -w head[01-02] docker tag $CI_NEXUS_REGISTRY_LOCATION/ci_dynspec:$CI_COMMIT_SHORT_SHA dynspec:latest" + - ssh lofarsys@${CEP_HEADNODE} "clush -S -P -w ${NODES} -w head[01-02] docker tag ${REGISTRY_PATH}/ci_dynspec:$CI_COMMIT_SHORT_SHA dynspec:latest" environment: name: production needs: @@ -878,9 +890,9 @@ deploy-lofar-pulp-prod: script: - NODES=$(ssh lofarsys@${CEP_HEADNODE} sinfo -p ${CEP_PARTITION} -h -o %N) - echo "Deploying on ${NODES}" - - ssh lofarsys@${CEP_HEADNODE} "clush -S -P -w ${NODES} -w head[01-02] docker pull $CI_NEXUS_REGISTRY_LOCATION/ci_lofar_pulp:$CI_COMMIT_SHORT_SHA" + - ssh lofarsys@${CEP_HEADNODE} "clush -S -P -w ${NODES} -w head[01-02] docker pull ${REGISTRY_PATH}/ci_lofar_pulp:$CI_COMMIT_SHORT_SHA" # the pulp pipeline is built to be run as lofar-pulp:$CI_COMMIT_REF_NAME through setting the LOFAR_TAG in build_lofar_pulp_docker_image - - ssh lofarsys@${CEP_HEADNODE} "clush -S -P -w ${NODES} -w head[01-02] docker tag $CI_NEXUS_REGISTRY_LOCATION/ci_lofar_pulp:$CI_COMMIT_SHORT_SHA lofar-pulp:$CI_COMMIT_REF_NAME" + - ssh lofarsys@${CEP_HEADNODE} "clush -S -P -w ${NODES} -w head[01-02] docker tag ${REGISTRY_PATH}/ci_lofar_pulp:$CI_COMMIT_SHORT_SHA lofar-pulp:$CI_COMMIT_REF_NAME" environment: name: production needs: @@ -905,9 +917,9 @@ deploy-tbbwriter-control-prod: script: - NODES=$(ssh lofarsys@${CEP_HEADNODE} sinfo -p ${CEP_PARTITION} -h -o %N) - echo "Deploying on ${NODES}" - - ssh lofarsys@${CEP_HEADNODE} "clush -S -P -w ${NODES} -w head[01-02] docker pull $CI_NEXUS_REGISTRY_LOCATION/ci_lofar_tbbwriter_control:$CI_COMMIT_SHORT_SHA" + - ssh lofarsys@${CEP_HEADNODE} "clush -S -P -w ${NODES} -w head[01-02] docker pull ${REGISTRY_PATH}/ci_lofar_tbbwriter_control:$CI_COMMIT_SHORT_SHA" # the tbbwriter pipeline is built to be run as lofar-tbbwriter-control:$CI_COMMIT_REF_NAME - - ssh lofarsys@${CEP_HEADNODE} "clush -S -P -w ${NODES} -w head[01-02] docker tag $CI_NEXUS_REGISTRY_LOCATION/ci_lofar_tbbwriter_control:$CI_COMMIT_SHORT_SHA lofar-tbbwriter-control:$CI_COMMIT_REF_NAME" + - ssh lofarsys@${CEP_HEADNODE} "clush -S -P -w ${NODES} -w head[01-02] docker tag ${REGISTRY_PATH}/ci_lofar_tbbwriter_control:$CI_COMMIT_SHORT_SHA lofar-tbbwriter-control:$CI_COMMIT_REF_NAME" environment: name: production needs: @@ -1034,8 +1046,7 @@ sonarcloud_check_TMSS_Frontend: - ls -al SAS/TMSS/frontend/tmss_webapp - echo 'checking restored build output artifacts' - ls -al build/gnucxx11_opt/SAS/TMSS/frontend/tmss_webapp/coverage - - sonar-scanner -Dproject.settings=SAS/TMSS/frontend/tmss_webapp/sonar-project.properties - + - sonar-scanner -Dproject.settings=SAS/TMSS/frontend/tmss_webapp/sonar-project.properties eslint_TMSSFrontEnd: stage: quality-control @@ -1059,8 +1070,6 @@ eslint_TMSSFrontEnd: expire_in: never reports: codequality: gl-codequality.json - - package_check_TMSS_Frontend: stage: quality-control