To create a reproducible and shareable notebook development environment for the project, we will build a JupyterHub image with all the dependencies and source code baked into it. In this section, we will show how to do this using the ODH toolkit. You can also find a more general and detailed README, along with a walkthrough video tutorial, here.
To begin with, specify the python dependencies of the project via Pipfile
/ Pipfile.lock
. Then, create a Dockerfile
such as this one at the root of the project. In this, you can set the image name, git repo name and url, and any system-level library requirements. Next, you need to set up aicoe-ci
on your github repo. To do so, follow the steps outlined here. In the aicoe-ci.yaml
file, add thoth-build
under the check
section to enable image builds of your repo. You can configure how the image gets built and where it gets pushed by setting the build parameters described here. For example, we'll set build-strategy: Dockerfile
and dockerfile-path: Dockerfile
since we want to build our project image using the Dockerfile
we created. Next, in order to enable AICoE-CI to push the image to the image repository, you can create a robot account and provide it with appropriate permissions as described here (one-time setup). Finally, once AICoE-CI is set up, you can trigger a build of the image by creating a new tag release on your repo.
You can also use AICoE-CI to enable other Thoth services such as pre-commit checks, CI tests, etc. by adding thoth-precommit
, thoth-pytest
, and so on to the check
section in .aicoe-ci.yaml
.