Proyek ini adalah implementasi pipeline CI/CD untuk model machine learning menggunakan MLflow, GitHub Actions, dan Docker. Model dilatih secara otomatis setiap kali ada perubahan kode (push) ke repositori, kemudian di-build menjadi Docker image yang siap untuk dideploy.
## Project Structure
```text
└── MLProject
├── modelling.py # Script training & logging model
├── requirements.txt # Library dependencies untuk model
├── Tautan ke Docker Hub.txt # Link ke Docker Image
└── titanic_clean.csv # Dataset yang digunakan
- Python 3.12
- MLflow 2.19.0: Untuk tracking eksperimen dan packaging model.
- Scikit-Learn: Untuk algoritma Random Forest.
- GitHub Actions: Sebagai automation server (CI/CD).
- Docker: Untuk containerization model.
Setiap kali ada push ke branch main atau master:
- Setup Environment: Menginstal Python dan library yang diperlukan.
- Training: Script
modelling.pydijalankan untuk melatih model dan mencatat run_id. - Artifact Logging: Hasil training disimpan di folder
mlruns. - Docker Build & Push: Model di-package menjadi Docker image dengan
env-manager=localdan di-push ke Docker Hub secara otomatis.
- Pastikan Docker Hub credentials (
DOCKER_USERNAME&DOCKER_PASSWORD) sudah terpasang di GitHub Secrets repositori ini. - Setiap kali kode di-push, cek tab Actions di GitHub untuk memantau proses build.
- Docker image yang berhasil akan muncul di Docker Hub (link tertera di file
Tautan ke Docker Hub.txt).