Skip to content
Snippets Groups Projects
Commit 201b2570 authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Arranged GitLab CI/CD for PathComp component

parent fabf076a
No related branches found
No related tags found
1 merge request!54Release 2.0.0
......@@ -22,7 +22,7 @@ build pathcomp-backend:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
# This first build tags the builder resulting image to prevent being removed by dangling image removal command
- docker build -t "${IMAGE_NAME}-backend:$IMAGE_TAG-builder" --target builder -f ./src/$IMAGE_NAME/backend/Dockerfile .
- docker build -t "${IMAGE_NAME}-backend:${IMAGE_TAG}-builder" --target builder -f ./src/$IMAGE_NAME/backend/Dockerfile .
- docker build -t "${IMAGE_NAME}-backend:$IMAGE_TAG" -f ./src/$IMAGE_NAME/backend/Dockerfile .
- docker tag "${IMAGE_NAME}-backend:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/${IMAGE_NAME}-backend:$IMAGE_TAG"
- docker push "$CI_REGISTRY_IMAGE/${IMAGE_NAME}-backend:$IMAGE_TAG"
......@@ -83,13 +83,13 @@ unit test pathcomp-backend:
- if docker container ls | grep ${IMAGE_NAME}-backend; then docker rm -f ${IMAGE_NAME}-backend; else echo "${IMAGE_NAME}-backend image is not in the system"; fi
script:
- docker pull "$CI_REGISTRY_IMAGE/${IMAGE_NAME}-backend:$IMAGE_TAG"
- docker run --name ${IMAGE_NAME}-backend -d -p 8081:8081 -v "$PWD/src/${IMAGE_NAME}/backend/tests:/opt/results" --network=teraflowbridge ${IMAGE_NAME}-backend:$IMAGE_TAG-builder
- docker run --name ${IMAGE_NAME}-backend -d -p 8081:8081 -v "$PWD/src/${IMAGE_NAME}/backend/tests:/opt/results" --network=teraflowbridge ${IMAGE_NAME}-backend:${IMAGE_TAG}-builder
- sleep 5
- docker ps -a
- docker logs ${IMAGE_NAME}-backend
- docker exec -i $IMAGE_NAME-backend bash -c "curl -0 -v -X POST -H 'Expect:' -H 'Content-Type: application/json' http://127.0.0.1:8081/pathComp/api/v1/compRoute -d @/var/teraflow/test/pc-req.json"
- docker exec -i $IMAGE_NAME-backend bash -c "killall -USR1 pathComp-cvr"
- docker exec -i $IMAGE_NAME-backend bash -c "gcovr"
- docker exec -i ${IMAGE_NAME}-backend bash -c "curl -0 -v -X POST http://127.0.0.1:8081/pathComp/api/v1/compRoute -d @/var/teraflow/test/pc-req.json"
- docker exec -i ${IMAGE_NAME}-backend bash -c "killall -USR1 pathComp-cvr"
- docker exec -i ${IMAGE_NAME}-backend bash -c "gcovr"
coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/'
after_script:
- docker rm -f ${IMAGE_NAME}-backend
......@@ -128,19 +128,19 @@ unit test pathcomp-frontend:
script:
- docker pull "$CI_REGISTRY_IMAGE/${IMAGE_NAME}-frontend:$IMAGE_TAG"
- docker pull "$CI_REGISTRY_IMAGE/${IMAGE_NAME}-backend:$IMAGE_TAG"
- docker run --name backend -d -p 8081:8081 -v "$PWD/src/${IMAGE_NAME}/backend/tests:/opt/results" --network=teraflowbridge $CI_REGISTRY_IMAGE/${IMAGE_NAME}-backend:$IMAGE_TAG
- docker run --name ${IMAGE_NAME}-backend -d -p 8081:8081 -v "$PWD/src/${IMAGE_NAME}/backend/tests:/opt/results" --network=teraflowbridge $CI_REGISTRY_IMAGE/${IMAGE_NAME}-backend:$IMAGE_TAG
- sleep 1
- docker run --name frontend -d -p 10020:10020 --env "PATHCOMP_BACKEND_HOST=backend" --env "PATHCOMP_BACKEND_PORT=8081" -v "$PWD/src/${IMAGE_NAME}/frontend/tests:/opt/results" --network=teraflowbridge $CI_REGISTRY_IMAGE/${IMAGE_NAME}-frontend:$IMAGE_TAG
- docker run --name ${IMAGE_NAME}-frontend -d -p 10020:10020 --env "PATHCOMP_BACKEND_HOST=${IMAGE_NAME}-backend" --env "PATHCOMP_BACKEND_PORT=8081" -v "$PWD/src/${IMAGE_NAME}/frontend/tests:/opt/results" --network=teraflowbridge $CI_REGISTRY_IMAGE/${IMAGE_NAME}-frontend:$IMAGE_TAG
- sleep 5
- docker ps -a
- docker logs frontend
- docker logs backend
- docker exec -i frontend bash -c "coverage run -m pytest --log-level=INFO --verbose $IMAGE_NAME/frontend/tests/test_unitary.py --junitxml=/opt/results/${IMAGE_NAME}-frontend_report.xml"
- docker exec -i frontend bash -c "coverage report --include='${IMAGE_NAME}/*' --show-missing"
- docker logs ${IMAGE_NAME}-frontend
- docker logs ${IMAGE_NAME}-backend
- docker exec -i ${IMAGE_NAME}-frontend bash -c "coverage run -m pytest --log-level=INFO --verbose $IMAGE_NAME/frontend/tests/test_unitary.py --junitxml=/opt/results/${IMAGE_NAME}-frontend_report.xml"
- docker exec -i ${IMAGE_NAME}-frontend bash -c "coverage report --include='${IMAGE_NAME}/*' --show-missing"
coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/'
after_script:
- docker rm -f frontend
- docker rm -f backend
- docker rm -f ${IMAGE_NAME}-frontend
- docker rm -f ${IMAGE_NAME}-backend
- docker network rm teraflowbridge
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)'
......
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