From 82deeaf75a1fc7d52408913fc42531367a6e050e Mon Sep 17 00:00:00 2001
From: Naufal-Nalendra <16521240@std.stei.itb.ac.id>
Date: Wed, 8 Jan 2025 23:51:05 +0700
Subject: [PATCH] feat: init model ci/cd

---
 model.gitlab-ci.yml | 25 +++++++++++++++++++++++++
 model/README.MD     |  7 +++++++
 2 files changed, 32 insertions(+)
 create mode 100644 model.gitlab-ci.yml
 create mode 100644 model/README.MD

diff --git a/model.gitlab-ci.yml b/model.gitlab-ci.yml
new file mode 100644
index 0000000..92d5464
--- /dev/null
+++ b/model.gitlab-ci.yml
@@ -0,0 +1,25 @@
+stages:
+  - train
+
+variables:
+  # Define the virtual environment or base image
+  VENV: venv
+  MLFLOW_TRACKING_URI: $MLFLOW_TRACKING_URI
+  MLFLOW_EXPERIMENT_NAME: $MLFLOW_EXPERIMENT_NAME
+
+train_model:
+  stage: train
+  image: python:3.11
+  script:
+    # Install dependencies
+    - python -m venv $VENV
+    - source $VENV/bin/activate
+    - pip install --upgrade pip
+    - pip install -r requirements.txt
+    
+    # Train the model and log to MLflow
+    - python train_model.py
+
+  only:
+    - main
+
diff --git a/model/README.MD b/model/README.MD
new file mode 100644
index 0000000..4cf36ea
--- /dev/null
+++ b/model/README.MD
@@ -0,0 +1,7 @@
+# HOW TO LOAD MODEL (EXAMPLE)
+import mlflow.sklearn
+
+model_uri = "runs:/<run_id>/ensemble_model"  # Replace <run_id> with your run ID
+loaded_ensemble_model = mlflow.sklearn.load_model(model_uri)
+
+predictions = loaded_ensemble_model.predict(X_test)
-- 
GitLab