diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index bfc1e1fd41481b358b4aae47c03185c0592808a4..48634464a46bd7231b62351a7020b78ca8b94151 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -23,11 +23,12 @@ build-frontend:
 deploy-dev:
   stage: deploy
   script:
-    # Install kubectl
+    # Install kubectl and Helm
     - curl -LO "https://dl.k8s.io/release/v1.28.0/bin/linux/amd64/kubectl"
     - chmod +x ./kubectl
     - mv ./kubectl /usr/local/bin/kubectl
-    # Set up kubeconfig (for extracting auth details)
+    - curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
+    # Set up kubeconfig 
     - mkdir -p ~/.kube
     - echo $KUBE_CONFIG | base64 -d > ~/.kube/config
     - chmod 600 ~/.kube/config
@@ -36,7 +37,9 @@ deploy-dev:
     # - export TOKEN=$(kubectl config view --minify -o jsonpath='{.users[0].user.token}')
     # Try token-based auth if available
     # - if [ ! -z "$TOKEN" ]; then kubectl apply -f task-app/ --server=https://8.tcp.ngrok.io:12167 --insecure-skip-tls-verify --token=$TOKEN; else echo "No token found in config"; fi
-    - kubectl apply -f task-app/ --server=https://0.tcp.ap.ngrok.io:11295 --insecure-skip-tls-verify
+    
+    # - kubectl apply -f task-app/ --server=https://0.tcp.ap.ngrok.io:11295 --insecure-skip-tls-verify
+    - helm upgrade --install my-release task-app/ --namespace task-app --create-namespace --kube-apiserver https://0.tcp.ap.ngrok.io:11295 --kube-insecure-skip-tls-verify
   environment:
     name: development
   only: