Loading src/monitoring/.gitlab-ci.yml +33 −32 Original line number Diff line number Diff line # # build, tag and push the Docker image to the gitlab registry # build monitoring: # variables: # IMAGE_NAME: 'monitoring' # name of the microservice # IMAGE_TAG: 'latest' # tag of the container image (production, development, etc) # stage: build # before_script: # - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY # script: # - docker build --build-arg user={$INFLUXDB_USER} --build-arg pass={$INFLUXDB_PASSWORD} --build-arg db={$INFLUXDB_DATABASE} -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile ./src/ # - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" # - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" # after_script: # - docker rmi $(docker images --quiet --filter=dangling=true) # 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/$IMAGE_NAME/**/*.{py,in,yml} # - src/$IMAGE_NAME/Dockerfile # - src/$IMAGE_NAME/tests/*.py # - src/$IMAGE_NAME/tests/Dockerfile # - manifests/$IMAGE_NAME.yaml # - .gitlab-ci.yml # build, tag and push the Docker image to the gitlab registry build monitoring: variables: IMAGE_NAME: 'monitoring' # name of the microservice IMAGE_TAG: 'latest' # tag of the container image (production, development, etc) stage: build before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - echo $INFLUXDB_USER - docker build --build-arg user={$INFLUXDB_USER} --build-arg pass={$INFLUXDB_PASSWORD} --build-arg db={$INFLUXDB_DATABASE} -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile ./src/ - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" after_script: - docker rmi $(docker images --quiet --filter=dangling=true) 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/$IMAGE_NAME/**/*.{py,in,yml} - src/$IMAGE_NAME/Dockerfile - src/$IMAGE_NAME/tests/*.py - src/$IMAGE_NAME/tests/Dockerfile - manifests/$IMAGE_NAME.yaml - .gitlab-ci.yml kubernetes test: stage: build script: # - kubectl version # - kubectl get all # - kubectl delete -f "manifests/monitoring.yaml" # - sleep 15 # - kubectl apply -f "manifests/monitoring.yaml" # - sleep 30 # - kubectl get all - kubectl --namespace gitlab-ci describe pod monitoring-595c885c6c-7gcbf - kubectl --namespace gitlab-ci logs monitoring-595c885c6c-7gcbf influxdb - kubectl --namespace gitlab-ci logs monitoring-595c885c6c-7gcbf server - kubectl delete -f "manifests/monitoring.yaml" - sleep 15 - kubectl apply -f "manifests/monitoring.yaml" - sleep 30 - kubectl get all # - kubectl --namespace gitlab-ci describe pod monitoring-595c885c6c-7gcbf # - kubectl --namespace gitlab-ci logs monitoring-595c885c6c-7gcbf influxdb # - kubectl --namespace gitlab-ci logs monitoring-595c885c6c-7gcbf server # # test if the Docker image can be pulled from the gitlab registry # test monitoring pull: Loading src/monitoring/Dockerfile +3 −3 Original line number Diff line number Diff line Loading @@ -37,9 +37,9 @@ ENV PORT=7070 ARG user ARG pass ARG db ENV INFLUXDB_USER = ${user} ENV INFLUXDB_PASSWORD = ${pass} ENV INFLUXDB_DATABASE = ${db} ENV INFLUXDB_USER=$user ENV INFLUXDB_PASSWORD=$pass ENV INFLUXDB_DATABASE=$db RUN echo $INFLUXDB_USER RUN echo $INFLUXDB_PASSWORD RUN echo $INFLUXDB_DATABASE Loading src/monitoring/service/MonitoringServiceServicerImpl.py +3 −2 Original line number Diff line number Diff line Loading @@ -25,11 +25,12 @@ class MonitoringServiceServicerImpl(monitoring_pb2_grpc.MonitoringServiceService LOGGER.info('Init monitoringService') # Init sqlite monitoring db self.sql_db = sqlite_tools.SQLite('monitoring.db') # Create influx_db client self.influx_db = influx_tools.Influx("localhost","8086",INFLUXDB_USER,INFLUXDB_PASS,INFLUXDB_DB) LOGGER.info(INFLUXDB_USER) LOGGER.info(INFLUXDB_PASS) LOGGER.info(INFLUXDB_DB) # Create influx_db client self.influx_db = influx_tools.Influx("localhost","8086",INFLUXDB_USER,INFLUXDB_PASS,INFLUXDB_DB) # CreateKpi (CreateKpiRequest) returns (KpiId) {} def CreateKpi(self, request : monitoring_pb2.CreateKpiRequest, context) -> monitoring_pb2.KpiId : Loading Loading
src/monitoring/.gitlab-ci.yml +33 −32 Original line number Diff line number Diff line # # build, tag and push the Docker image to the gitlab registry # build monitoring: # variables: # IMAGE_NAME: 'monitoring' # name of the microservice # IMAGE_TAG: 'latest' # tag of the container image (production, development, etc) # stage: build # before_script: # - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY # script: # - docker build --build-arg user={$INFLUXDB_USER} --build-arg pass={$INFLUXDB_PASSWORD} --build-arg db={$INFLUXDB_DATABASE} -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile ./src/ # - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" # - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" # after_script: # - docker rmi $(docker images --quiet --filter=dangling=true) # 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/$IMAGE_NAME/**/*.{py,in,yml} # - src/$IMAGE_NAME/Dockerfile # - src/$IMAGE_NAME/tests/*.py # - src/$IMAGE_NAME/tests/Dockerfile # - manifests/$IMAGE_NAME.yaml # - .gitlab-ci.yml # build, tag and push the Docker image to the gitlab registry build monitoring: variables: IMAGE_NAME: 'monitoring' # name of the microservice IMAGE_TAG: 'latest' # tag of the container image (production, development, etc) stage: build before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - echo $INFLUXDB_USER - docker build --build-arg user={$INFLUXDB_USER} --build-arg pass={$INFLUXDB_PASSWORD} --build-arg db={$INFLUXDB_DATABASE} -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile ./src/ - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" after_script: - docker rmi $(docker images --quiet --filter=dangling=true) 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/$IMAGE_NAME/**/*.{py,in,yml} - src/$IMAGE_NAME/Dockerfile - src/$IMAGE_NAME/tests/*.py - src/$IMAGE_NAME/tests/Dockerfile - manifests/$IMAGE_NAME.yaml - .gitlab-ci.yml kubernetes test: stage: build script: # - kubectl version # - kubectl get all # - kubectl delete -f "manifests/monitoring.yaml" # - sleep 15 # - kubectl apply -f "manifests/monitoring.yaml" # - sleep 30 # - kubectl get all - kubectl --namespace gitlab-ci describe pod monitoring-595c885c6c-7gcbf - kubectl --namespace gitlab-ci logs monitoring-595c885c6c-7gcbf influxdb - kubectl --namespace gitlab-ci logs monitoring-595c885c6c-7gcbf server - kubectl delete -f "manifests/monitoring.yaml" - sleep 15 - kubectl apply -f "manifests/monitoring.yaml" - sleep 30 - kubectl get all # - kubectl --namespace gitlab-ci describe pod monitoring-595c885c6c-7gcbf # - kubectl --namespace gitlab-ci logs monitoring-595c885c6c-7gcbf influxdb # - kubectl --namespace gitlab-ci logs monitoring-595c885c6c-7gcbf server # # test if the Docker image can be pulled from the gitlab registry # test monitoring pull: Loading
src/monitoring/Dockerfile +3 −3 Original line number Diff line number Diff line Loading @@ -37,9 +37,9 @@ ENV PORT=7070 ARG user ARG pass ARG db ENV INFLUXDB_USER = ${user} ENV INFLUXDB_PASSWORD = ${pass} ENV INFLUXDB_DATABASE = ${db} ENV INFLUXDB_USER=$user ENV INFLUXDB_PASSWORD=$pass ENV INFLUXDB_DATABASE=$db RUN echo $INFLUXDB_USER RUN echo $INFLUXDB_PASSWORD RUN echo $INFLUXDB_DATABASE Loading
src/monitoring/service/MonitoringServiceServicerImpl.py +3 −2 Original line number Diff line number Diff line Loading @@ -25,11 +25,12 @@ class MonitoringServiceServicerImpl(monitoring_pb2_grpc.MonitoringServiceService LOGGER.info('Init monitoringService') # Init sqlite monitoring db self.sql_db = sqlite_tools.SQLite('monitoring.db') # Create influx_db client self.influx_db = influx_tools.Influx("localhost","8086",INFLUXDB_USER,INFLUXDB_PASS,INFLUXDB_DB) LOGGER.info(INFLUXDB_USER) LOGGER.info(INFLUXDB_PASS) LOGGER.info(INFLUXDB_DB) # Create influx_db client self.influx_db = influx_tools.Influx("localhost","8086",INFLUXDB_USER,INFLUXDB_PASS,INFLUXDB_DB) # CreateKpi (CreateKpiRequest) returns (KpiId) {} def CreateKpi(self, request : monitoring_pb2.CreateKpiRequest, context) -> monitoring_pb2.KpiId : Loading