Deployment¶
Docker Build¶
# Build API image
docker build -f dockerfiles/api.dockerfile -t skin-lesion-api .
# Run locally
docker run -p 8000:8000 skin-lesion-api
Google Cloud Run¶
Push to Container Registry¶
# Tag image
docker tag skin-lesion-api gcr.io/PROJECT_ID/skin-lesion-api
# Push
docker push gcr.io/PROJECT_ID/skin-lesion-api
Deploy¶
gcloud run deploy skin-lesion-api \
--image gcr.io/PROJECT_ID/skin-lesion-api \
--platform managed \
--region europe-west1 \
--allow-unauthenticated
CI/CD¶
Deployment is automated via GitHub Actions:
- Push to
mainbranch triggers build - Tests run automatically
- Docker image is built and pushed
- Cloud Run deployment is updated
See .github/workflows/ for workflow definitions.
Environment Variables¶
| Variable | Description |
|---|---|
MODEL_PATH |
Path to ONNX model file |
PORT |
Server port (default: 8000) |
LOG_LEVEL |
Logging level (default: INFO) |