Loading src/automation/.gitlab-ci.yml +74 −75 Original line number Diff line number Diff line Loading @@ -39,81 +39,80 @@ build automation: - manifests/${IMAGE_NAME}service.yaml - .gitlab-ci.yml # Apply unit test to the component unit_test automation: variables: IMAGE_NAME: 'automation' # name of the microservice IMAGE_TAG: 'latest' # tag of the container image (production, development, etc) stage: unit_test needs: - build automation before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - > if docker network list | grep teraflowbridge; then echo "teraflowbridge is already created"; else docker network create -d bridge teraflowbridge; fi - > if docker container ls | grep $IMAGE_NAME; then docker rm -f $IMAGE_NAME; else echo "$IMAGE_NAME image is not in the system"; fi script: - docker pull "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker pull "cockroachdb/cockroach:latest-v22.2" - docker volume create crdb - > docker run --name crdb -d --network=teraflowbridge -p 26257:26257 -p 8080:8080 --env COCKROACH_DATABASE=tfs_test --env COCKROACH_USER=tfs --env COCKROACH_PASSWORD=tfs123 --volume "crdb:/cockroach/cockroach-data" cockroachdb/cockroach:latest-v22.2 start-single-node - echo "Waiting for initialization..." - while ! docker logs crdb 2>&1 | grep -q 'finished creating default user \"tfs\"'; do sleep 1; done - docker logs crdb - docker ps -a - CRDB_ADDRESS=$(docker inspect crdb --format "{{.NetworkSettings.Networks.teraflowbridge.IPAddress}}") - echo $CRDB_ADDRESS - > docker run --name $IMAGE_NAME -d -p 2020:2020 --env "CRDB_URI=cockroachdb://tfs:tfs123@${CRDB_ADDRESS}:26257/tfs_test?sslmode=require" --volume "$PWD/src/$IMAGE_NAME/tests:/opt/results" --network=teraflowbridge $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG - docker ps -a - sleep 5 - docker logs $IMAGE_NAME # Deactivated as import `from ..service.zsm_handlers import Poc1 , Poc2` in `test_automation_handlers.py` crashes: ## Apply unit test to the component #unit_test automation: # variables: # IMAGE_NAME: 'automation' # name of the microservice # IMAGE_TAG: 'latest' # tag of the container image (production, development, etc) # stage: unit_test # needs: # - build automation # before_script: # - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY # - > # if docker network list | grep teraflowbridge; then # echo "teraflowbridge is already created"; # else # docker network create -d bridge teraflowbridge; # fi # - > # if docker container ls | grep $IMAGE_NAME; then # docker rm -f $IMAGE_NAME; # else # echo "$IMAGE_NAME image is not in the system"; # fi # script: # - docker pull "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" # - docker pull "cockroachdb/cockroach:latest-v22.2" # - docker volume create crdb # - > # docker run --name crdb -d --network=teraflowbridge -p 26257:26257 -p 8080:8080 # --env COCKROACH_DATABASE=tfs_test --env COCKROACH_USER=tfs --env COCKROACH_PASSWORD=tfs123 # --volume "crdb:/cockroach/cockroach-data" # cockroachdb/cockroach:latest-v22.2 start-single-node # - echo "Waiting for initialization..." # - while ! docker logs crdb 2>&1 | grep -q 'finished creating default user \"tfs\"'; do sleep 1; done # - docker logs crdb # - docker ps -a # - CRDB_ADDRESS=$(docker inspect crdb --format "{{.NetworkSettings.Networks.teraflowbridge.IPAddress}}") # - echo $CRDB_ADDRESS # - > # docker run --name $IMAGE_NAME -d -p 2020:2020 # --env "CRDB_URI=cockroachdb://tfs:tfs123@${CRDB_ADDRESS}:26257/tfs_test?sslmode=require" # --volume "$PWD/src/$IMAGE_NAME/tests:/opt/results" # --network=teraflowbridge # $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG # - docker ps -a # - sleep 5 # - docker logs $IMAGE_NAME # - > # docker exec -i $IMAGE_NAME bash -c # "coverage run --append -m pytest --log-level=INFO --verbose --junitxml=/opt/results/${IMAGE_NAME}_report.xml $IMAGE_NAME/tests/test_automation_handlers.py" - docker exec -i $IMAGE_NAME bash -c "coverage report --include='${IMAGE_NAME}/*' --show-missing" coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' after_script: - docker rm -f $IMAGE_NAME crdb - docker volume rm -f crdb - docker network rm teraflowbridge - docker volume prune --force - docker image prune --force rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' - changes: - src/common/**/*.py - proto/*.proto - src/$IMAGE_NAME/**/*.{py,in,yml} - src/$IMAGE_NAME/Dockerfile - src/$IMAGE_NAME/tests/*.py - src/$IMAGE_NAME/tests/Dockerfile - manifests/${IMAGE_NAME}service.yaml - .gitlab-ci.yml artifacts: when: always reports: junit: src/$IMAGE_NAME/tests/${IMAGE_NAME}_report.xml # - docker exec -i $IMAGE_NAME bash -c "coverage report --include='${IMAGE_NAME}/*' --show-missing" # coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' # after_script: # - docker rm -f $IMAGE_NAME crdb # - docker volume rm -f crdb # - docker network rm teraflowbridge # - docker volume prune --force # - docker image prune --force # rules: # - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' # - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' # - changes: # - src/common/**/*.py # - proto/*.proto # - src/$IMAGE_NAME/**/*.{py,in,yml} # - src/$IMAGE_NAME/Dockerfile # - src/$IMAGE_NAME/tests/*.py # - src/$IMAGE_NAME/tests/Dockerfile # - manifests/${IMAGE_NAME}service.yaml # - .gitlab-ci.yml # artifacts: # when: always # reports: # junit: src/$IMAGE_NAME/tests/${IMAGE_NAME}_report.xml ## Deployment of the service in Kubernetes Cluster #deploy automation: Loading Loading
src/automation/.gitlab-ci.yml +74 −75 Original line number Diff line number Diff line Loading @@ -39,81 +39,80 @@ build automation: - manifests/${IMAGE_NAME}service.yaml - .gitlab-ci.yml # Apply unit test to the component unit_test automation: variables: IMAGE_NAME: 'automation' # name of the microservice IMAGE_TAG: 'latest' # tag of the container image (production, development, etc) stage: unit_test needs: - build automation before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - > if docker network list | grep teraflowbridge; then echo "teraflowbridge is already created"; else docker network create -d bridge teraflowbridge; fi - > if docker container ls | grep $IMAGE_NAME; then docker rm -f $IMAGE_NAME; else echo "$IMAGE_NAME image is not in the system"; fi script: - docker pull "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker pull "cockroachdb/cockroach:latest-v22.2" - docker volume create crdb - > docker run --name crdb -d --network=teraflowbridge -p 26257:26257 -p 8080:8080 --env COCKROACH_DATABASE=tfs_test --env COCKROACH_USER=tfs --env COCKROACH_PASSWORD=tfs123 --volume "crdb:/cockroach/cockroach-data" cockroachdb/cockroach:latest-v22.2 start-single-node - echo "Waiting for initialization..." - while ! docker logs crdb 2>&1 | grep -q 'finished creating default user \"tfs\"'; do sleep 1; done - docker logs crdb - docker ps -a - CRDB_ADDRESS=$(docker inspect crdb --format "{{.NetworkSettings.Networks.teraflowbridge.IPAddress}}") - echo $CRDB_ADDRESS - > docker run --name $IMAGE_NAME -d -p 2020:2020 --env "CRDB_URI=cockroachdb://tfs:tfs123@${CRDB_ADDRESS}:26257/tfs_test?sslmode=require" --volume "$PWD/src/$IMAGE_NAME/tests:/opt/results" --network=teraflowbridge $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG - docker ps -a - sleep 5 - docker logs $IMAGE_NAME # Deactivated as import `from ..service.zsm_handlers import Poc1 , Poc2` in `test_automation_handlers.py` crashes: ## Apply unit test to the component #unit_test automation: # variables: # IMAGE_NAME: 'automation' # name of the microservice # IMAGE_TAG: 'latest' # tag of the container image (production, development, etc) # stage: unit_test # needs: # - build automation # before_script: # - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY # - > # if docker network list | grep teraflowbridge; then # echo "teraflowbridge is already created"; # else # docker network create -d bridge teraflowbridge; # fi # - > # if docker container ls | grep $IMAGE_NAME; then # docker rm -f $IMAGE_NAME; # else # echo "$IMAGE_NAME image is not in the system"; # fi # script: # - docker pull "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" # - docker pull "cockroachdb/cockroach:latest-v22.2" # - docker volume create crdb # - > # docker run --name crdb -d --network=teraflowbridge -p 26257:26257 -p 8080:8080 # --env COCKROACH_DATABASE=tfs_test --env COCKROACH_USER=tfs --env COCKROACH_PASSWORD=tfs123 # --volume "crdb:/cockroach/cockroach-data" # cockroachdb/cockroach:latest-v22.2 start-single-node # - echo "Waiting for initialization..." # - while ! docker logs crdb 2>&1 | grep -q 'finished creating default user \"tfs\"'; do sleep 1; done # - docker logs crdb # - docker ps -a # - CRDB_ADDRESS=$(docker inspect crdb --format "{{.NetworkSettings.Networks.teraflowbridge.IPAddress}}") # - echo $CRDB_ADDRESS # - > # docker run --name $IMAGE_NAME -d -p 2020:2020 # --env "CRDB_URI=cockroachdb://tfs:tfs123@${CRDB_ADDRESS}:26257/tfs_test?sslmode=require" # --volume "$PWD/src/$IMAGE_NAME/tests:/opt/results" # --network=teraflowbridge # $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG # - docker ps -a # - sleep 5 # - docker logs $IMAGE_NAME # - > # docker exec -i $IMAGE_NAME bash -c # "coverage run --append -m pytest --log-level=INFO --verbose --junitxml=/opt/results/${IMAGE_NAME}_report.xml $IMAGE_NAME/tests/test_automation_handlers.py" - docker exec -i $IMAGE_NAME bash -c "coverage report --include='${IMAGE_NAME}/*' --show-missing" coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' after_script: - docker rm -f $IMAGE_NAME crdb - docker volume rm -f crdb - docker network rm teraflowbridge - docker volume prune --force - docker image prune --force rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' - changes: - src/common/**/*.py - proto/*.proto - src/$IMAGE_NAME/**/*.{py,in,yml} - src/$IMAGE_NAME/Dockerfile - src/$IMAGE_NAME/tests/*.py - src/$IMAGE_NAME/tests/Dockerfile - manifests/${IMAGE_NAME}service.yaml - .gitlab-ci.yml artifacts: when: always reports: junit: src/$IMAGE_NAME/tests/${IMAGE_NAME}_report.xml # - docker exec -i $IMAGE_NAME bash -c "coverage report --include='${IMAGE_NAME}/*' --show-missing" # coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' # after_script: # - docker rm -f $IMAGE_NAME crdb # - docker volume rm -f crdb # - docker network rm teraflowbridge # - docker volume prune --force # - docker image prune --force # rules: # - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' # - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' # - changes: # - src/common/**/*.py # - proto/*.proto # - src/$IMAGE_NAME/**/*.{py,in,yml} # - src/$IMAGE_NAME/Dockerfile # - src/$IMAGE_NAME/tests/*.py # - src/$IMAGE_NAME/tests/Dockerfile # - manifests/${IMAGE_NAME}service.yaml # - .gitlab-ci.yml # artifacts: # when: always # reports: # junit: src/$IMAGE_NAME/tests/${IMAGE_NAME}_report.xml ## Deployment of the service in Kubernetes Cluster #deploy automation: Loading