Loading .gitlab-ci.yml +1 −1 Original line number Diff line number Diff line Loading @@ -7,5 +7,5 @@ stages: # include the individual .gitlab-ci.yml of each micro-service include: - local: '/src/monitoring/.gitlab-ci.yml' # - local: '/src/context/.gitlab-ci.yml' - local: '/src/context/.gitlab-ci.yml' src/build.sh +2 −2 Original line number Diff line number Diff line Loading @@ -5,8 +5,8 @@ cd $(dirname $0) echo "BUILD context" context/genproto.sh docker build -t "context_service:develop" -f context/Dockerfile_develop --quiet . docker build -t "context_service:test" -f context/Dockerfile_test --quiet . docker build -t "context:develop" -f context/Dockerfile --quiet . docker build -t "context:test" -f context/tests/Dockerfile --quiet . cd monitoring ./genproto.sh Loading src/context/.gitlab-ci.yml 0 → 100644 +100 −0 Original line number Diff line number Diff line variables: IMAGE_NAME: 'context' # name of the microservice IMAGE_NAME_TEST: 'context-test' # name of the microservice IMAGE_TAG: 'latest' # tag of the container image (production, development, etc) # build the Docker image build context: stage: build script: - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile ./src/ rules: - changes: - src/$IMAGE_NAME/** - .gitlab-ci.yml # tags the Docker image tag context: stage: build script: - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" rules: - changes: - src/$IMAGE_NAME/** - .gitlab-ci.yml # push the Docker image to the gitlab Docker registry push context: stage: build before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" rules: - changes: - src/$IMAGE_NAME/** - .gitlab-ci.yml # test if the Docker image can be pulled from the gitlab registry test context pull: stage: test needs: - push context before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - docker pull "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" rules: - changes: - src/$IMAGE_NAME/** - .gitlab-ci.yml # test if the Docker image can be executed test context run: stage: test needs: - build context before_script: - if docker network list | grep teraflowbridge; then echo "teraflowbridge is already created"; else docker network create -d bridge teraflowbridge; fi script: - docker run -d -p 1010:1010 --name context --network=teraflowbridge --rm "$IMAGE_NAME:$IMAGE_TAG" - docker ps > deploy_test_report.txt after_script: - docker stop context rules: - changes: - src/$IMAGE_NAME/** - .gitlab-ci.yml artifacts: when: always paths: - deploy_test_report.txt expire_in: 1 day # apply unit test to the context component test context pytest: stage: test needs: - build context script: - docker build -t "$IMAGE_NAME_TEST:$IMAGE_TAG" -f ./src/$IMAGE_NAME/tests/Dockerfile ./src/ > pytest_report.txt rules: - changes: - src/$IMAGE_NAME/** - .gitlab-ci.yml artifacts: when: always paths: - pytest_report.txt expire_in: 1 day # Deployment of the monitoring service in Kubernetes Cluster deploy context: stage: deploy needs: - build context - test context run script: - kubectl apply -f "manisfests/contextservice.yaml" when: manual src/context/Dockerfile_develop→src/context/Dockerfile +0 −0 File moved. View file src/context/Dockerfile_test→src/context/tests/Dockerfile +0 −0 File moved. View file Loading
.gitlab-ci.yml +1 −1 Original line number Diff line number Diff line Loading @@ -7,5 +7,5 @@ stages: # include the individual .gitlab-ci.yml of each micro-service include: - local: '/src/monitoring/.gitlab-ci.yml' # - local: '/src/context/.gitlab-ci.yml' - local: '/src/context/.gitlab-ci.yml'
src/build.sh +2 −2 Original line number Diff line number Diff line Loading @@ -5,8 +5,8 @@ cd $(dirname $0) echo "BUILD context" context/genproto.sh docker build -t "context_service:develop" -f context/Dockerfile_develop --quiet . docker build -t "context_service:test" -f context/Dockerfile_test --quiet . docker build -t "context:develop" -f context/Dockerfile --quiet . docker build -t "context:test" -f context/tests/Dockerfile --quiet . cd monitoring ./genproto.sh Loading
src/context/.gitlab-ci.yml 0 → 100644 +100 −0 Original line number Diff line number Diff line variables: IMAGE_NAME: 'context' # name of the microservice IMAGE_NAME_TEST: 'context-test' # name of the microservice IMAGE_TAG: 'latest' # tag of the container image (production, development, etc) # build the Docker image build context: stage: build script: - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile ./src/ rules: - changes: - src/$IMAGE_NAME/** - .gitlab-ci.yml # tags the Docker image tag context: stage: build script: - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" rules: - changes: - src/$IMAGE_NAME/** - .gitlab-ci.yml # push the Docker image to the gitlab Docker registry push context: stage: build before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" rules: - changes: - src/$IMAGE_NAME/** - .gitlab-ci.yml # test if the Docker image can be pulled from the gitlab registry test context pull: stage: test needs: - push context before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - docker pull "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" rules: - changes: - src/$IMAGE_NAME/** - .gitlab-ci.yml # test if the Docker image can be executed test context run: stage: test needs: - build context before_script: - if docker network list | grep teraflowbridge; then echo "teraflowbridge is already created"; else docker network create -d bridge teraflowbridge; fi script: - docker run -d -p 1010:1010 --name context --network=teraflowbridge --rm "$IMAGE_NAME:$IMAGE_TAG" - docker ps > deploy_test_report.txt after_script: - docker stop context rules: - changes: - src/$IMAGE_NAME/** - .gitlab-ci.yml artifacts: when: always paths: - deploy_test_report.txt expire_in: 1 day # apply unit test to the context component test context pytest: stage: test needs: - build context script: - docker build -t "$IMAGE_NAME_TEST:$IMAGE_TAG" -f ./src/$IMAGE_NAME/tests/Dockerfile ./src/ > pytest_report.txt rules: - changes: - src/$IMAGE_NAME/** - .gitlab-ci.yml artifacts: when: always paths: - pytest_report.txt expire_in: 1 day # Deployment of the monitoring service in Kubernetes Cluster deploy context: stage: deploy needs: - build context - test context run script: - kubectl apply -f "manisfests/contextservice.yaml" when: manual