Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 2c59c6f9 authored by KADDOUR Sidi Mohammed's avatar KADDOUR Sidi Mohammed
Browse files

update readme.md

parent ffe2f276
No related branches found
No related tags found
No related merge requests found
......@@ -4,48 +4,57 @@ stages:
- deploy
variables:
DOCKER_USERNAME: "medkaddour"
TAG: "latest"
DEPLOY_ENV: "local" # Change to 'cloud' if deploying to the cloud
DOCKER_REGISTRY: "registry.gitlab.com"
PROJECT_NAME: "surveillance-system"
K8S_NAMESPACE: "surveillance-system"
before_script:
- echo "Setting up environment..."
# Build stage: Build the Docker images
# Build stage: Builds Docker images for all services
build:
stage: build
services:
- docker:dind
image: docker:stable
script:
- echo "Logging in to Docker registry..."
- echo "$CI_REGISTRY_PASSWORD" | docker login $CI_REGISTRY -u "$CI_REGISTRY_USER" --password-stdin
- echo "Building Docker images..."
- docker build -t ${DOCKER_USERNAME}/camera:${TAG} ./services/camera
- docker build -t ${DOCKER_USERNAME}/motion_detector:${TAG} ./services/motion_detector
- docker build -t ${DOCKER_USERNAME}/object_recognizer:${TAG} ./services/object_recognizer
- docker build -t $CI_REGISTRY_IMAGE/camera:latest ./services/camera
- docker build -t $CI_REGISTRY_IMAGE/motion_detector:latest ./services/motion_detector
- docker build -t $CI_REGISTRY_IMAGE/object_recognizer:latest ./services/object_recognizer
- echo "Pushing Docker images to registry..."
- docker push $CI_REGISTRY_IMAGE/camera:latest
- docker push $CI_REGISTRY_IMAGE/motion_detector:latest
- docker push $CI_REGISTRY_IMAGE/object_recognizer:latest
only:
- main
# Test stage: Run unit tests (optional, can be customized based on your services)
# Test stage: Runs tests for each service
test:
stage: test
image: python:3.9
before_script:
- pip install pytest
script:
- echo "Running tests..."
- docker run ${DOCKER_USERNAME}/camera:${TAG} pytest tests/
- docker run ${DOCKER_USERNAME}/motion_detector:${TAG} pytest tests/
- docker run ${DOCKER_USERNAME}/object_recognizer:${TAG} pytest tests/
- echo "Running tests for Camera service..."
- pytest ./services/camera/tests
- echo "Running tests for Motion Detection service..."
- pytest ./services/motion_detector/tests
- echo "Running tests for Object Recognizer service..."
- pytest ./services/object_recognizer/tests
only:
- main
# Deploy stage: Deploy using Docker Compose
# Deploy stage: Deploys services to Kubernetes
deploy:
stage: deploy
image: bitnami/kubectl:latest
before_script:
- echo "$KUBE_CONFIG" | base64 -d > kubeconfig
- export KUBECONFIG=$(pwd)/kubeconfig
script:
- echo "Deploying the system..."
- if [ "$DEPLOY_ENV" == "local" ]; then
docker-compose -f ./deploy/docker-compose/docker-compose.yml down --volumes --remove-orphans;
docker-compose -f ./deploy/docker-compose/docker-compose.yml up -d --build --force-recreate;
fi
- if [ "$DEPLOY_ENV" == "cloud" ]; then
docker-compose -f ./deploy/docker-compose/docker-compose.yml down --volumes --remove-orphans;
docker-compose -f ./deploy/docker-compose/docker-compose.yml pull --ignore-pull-failures;
docker-compose -f ./deploy/docker-compose/docker-compose.yml up -d --build --force-recreate;
fi
- echo "Deploying to Kubernetes namespace $K8S_NAMESPACE..."
- kubectl apply -f k8s/deployment.yaml
- kubectl apply -f k8s/service.yaml
- echo "Deployment completed."
only:
- main
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