StatCan / aaw-contrib-jupyter-notebooks

Jupyter Notebooks to be used with Advanced Analytics Workspace platform
Other
10 stars 13 forks source link

Add CI to jupyter-notebooks to build any required images #41

Open ca-scribner opened 3 years ago

ca-scribner commented 3 years ago

Summary

Some of our examples use docker images, but these images currently must be pushed manually by the author whenever they're changed (no CI exists). Only specific team members have permission to push to our ACR, making this more complicated.

Proposed is to add CI to build these images. We can base this off the kubeflow-containers, daaas-containers and other examples.

Notes/challenges

Tagging

Unlike other CI examples cited above, the image CI builds is used by the code we commit to trigger the build. This means that we cannot simply tag images by git SHA because the code we commit would need to know the git SHA before committing. Need a better way of doing this (could follow up with a second commit to add the sha, or use branch name rather than sha for tagging. If using branch name, we need to ensure the kubernetes imagePullPolicy for all examples is set to "Always", otherwise they'll use an older cached copy of the image if available). There may be more elegant solutions here as well.

Building during iterative development

Like kubeflow-containers, we need a way to enable developers to deploy iterations from branches to ACR (reuse the auto-deploy label from kubeflow-containers?).