Currently BentoML manages docker images via ./dev/release-docker-images.sh every docker directory contains a small release.sh to generate and push the docker images to the registry. This approach is pretty manual and a lot of repetitions are invoked in every release.sh.
Additionally there aren't any ways for developer to develop Dockerfile and test the docker images locally. Developers has to go into each release.sh to comment out push commands.
Background
Currently BentoML manages docker images via
./dev/release-docker-images.sh
every docker directory contains a smallrelease.sh
to generate and push the docker images to the registry. This approach is pretty manual and a lot of repetitions are invoked in everyrelease.sh
.Additionally there aren't any ways for developer to develop
Dockerfile
and test the docker images locally. Developers has to go into eachrelease.sh
to comment outpush
commands.Proposal
Project structure under
docker/
bentoml/azure-functions
Implementation
Dependency will be separated from BentoML's main package → introduces the package as a side-car
We will render
Dockerfile
from jinja templates viamanager.py
.Introduces
manifest.yaml
to control our release and supports for wider range of OS and architecture.Inside our
manifest.yaml
:Plan of Action
manager.py
logicsRevision