feat: add Python setup and ONNX model generation to CI workflow
This commit is contained in:
@@ -37,6 +37,20 @@ jobs:
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Set up Python for ONNX conversion
|
||||
if: matrix.service.name == 'ml'
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.11'
|
||||
|
||||
- name: Generate ONNX model artifact
|
||||
if: matrix.service.name == 'ml'
|
||||
working-directory: Machine_Learning
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
python -m pip install 'tensorflow>=2.13.0' 'tf2onnx>=1.16.1' 'onnx>=1.16.0'
|
||||
python convert_onnx.py
|
||||
|
||||
- name: Log in to GHCR
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
|
||||
@@ -25,6 +25,8 @@ Dependensi Rust sudah terdaftar di `Cargo.toml`. Cargo akan mengunduh dan mengko
|
||||
cargo build
|
||||
```
|
||||
|
||||
Output build lokal berada di `target/` dan direktori tersebut diabaikan oleh Git.
|
||||
|
||||
## Menjalankan Service Lokal
|
||||
|
||||
Semua perintah di bawah dijalankan dari direktori `apps/ml-service`.
|
||||
@@ -273,16 +275,15 @@ cargo build
|
||||
|
||||
### Docker
|
||||
|
||||
Service dapat di-deploy via Docker. Dockerfile sudah tersedia di direktori ini.
|
||||
Service dapat di-deploy via Docker. Jalankan build dari root repository karena Dockerfile menyalin source service dan artifact ONNX dari beberapa direktori repo.
|
||||
|
||||
```bash
|
||||
docker build -t zeavis-ml-service .
|
||||
docker run -p 8000:8000 \
|
||||
-v /path/to/model.onnx:/app/model.onnx \
|
||||
-e MODEL_PATH=/app/model.onnx \
|
||||
zeavis-ml-service
|
||||
docker build -f apps/ml-service/Dockerfile -t zeavis-ml-service .
|
||||
docker run -p 8000:8000 zeavis-ml-service
|
||||
```
|
||||
|
||||
Pastikan `Machine_Learning/model/model.onnx` sudah dibuat sebelum build image.
|
||||
|
||||
### Docker Compose
|
||||
|
||||
Lihat `docker-compose.yml` di root repository untuk deployment lengkap dengan web, API, dan ML service.
|
||||
|
||||
Reference in New Issue
Block a user