From 98811db5abdc7b47a57a9945216f1dbfdbcaeb76 Mon Sep 17 00:00:00 2001
From: "lucas.landrecy" <lucas.landrecy@etu.hesge.ch>
Date: Sun, 25 May 2025 08:41:50 +0000
Subject: [PATCH] Update .gitlab-ci.yml file

---
 .gitlab-ci.yml | 56 ++++++++++++++++++++++++++++++--------------------
 1 file changed, 34 insertions(+), 22 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d862422..1180dc0 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,34 +4,46 @@ stages:
   - deploy
 
 variables:
-  IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA
+  DOCKER_DRIVER: overlay2
+  CLIENT_IMAGE: $CI_REGISTRY_IMAGE/client:$CI_COMMIT_SHORT_SHA
+  NEO4J_IMAGE: $CI_REGISTRY_IMAGE/neo4j:$CI_COMMIT_SHORT_SHA
 
-# Docker build
-build_image:
-  stage: build
+.default-docker-job:
   image: docker:24.0
   services:
     - docker:24.0-dind
-  script:
+  before_script:
     - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
-    - docker build -t $IMAGE_TAG .
-  only:
-    - main
 
-# Push to registry
-push_image:
+# Build both images
+build_client:
+  extends: .default-docker-job
+  stage: build
+  script:
+    - docker build -t $CLIENT_IMAGE ./client
+
+build_neo4j:
+  extends: .default-docker-job
+  stage: build
+  script:
+    - docker build -t $NEO4J_IMAGE ./neo4j
+
+# Push both images
+push_client:
+  extends: .default-docker-job
   stage: push
-  image: docker:24.0
-  services:
-    - docker:24.0-dind
   script:
-    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
-    - docker push $IMAGE_TAG
-  only:
-    - main
-  needs: [build_image]
+    - docker push $CLIENT_IMAGE
+  needs: [build_client]
+
+push_neo4j:
+  extends: .default-docker-job
+  stage: push
+  script:
+    - docker push $NEO4J_IMAGE
+  needs: [build_neo4j]
 
-# Deploy to Kubernetes (optional, requires kubectl config)
+# Optional deployment (e.g., via kubectl or Helm)
 # deploy:
 #   stage: deploy
 #   image:
@@ -40,8 +52,8 @@ push_image:
 #   script:
 #     - echo "$KUBECONFIG" > kubeconfig.yaml
 #     - export KUBECONFIG=$CI_PROJECT_DIR/kubeconfig.yaml
-#     - kubectl config get-contexts
-#     - kubectl set image deployment/mon-deploiement mon-container=$IMAGE_TAG --namespace=mon-namespace
+#     - kubectl set image deployment/client client-container=$CLIENT_IMAGE --namespace=mon-namespace
+#     - kubectl set image deployment/neo4j neo4j-container=$NEO4J_IMAGE --namespace=mon-namespace
 #   only:
 #     - main
-#   needs: [push_image]
+#   needs: [push_client, push_neo4j]
-- 
GitLab