CI/CD solutions

I would like to automate the updating of the Jupyterhub Kubernetes Cluster. I am new to CI/CD solutions. Can anyone help me understand how people are using CI/CD with Jupyterhub What I have envisioned is setting up a way to trigger a Dockerfile build when someone commits a change and pushes the update to github. Once the build is complete and after some tests apply the changes to the config.yaml and run helm --upgrade. Is this possible?

/cc @jhamman who has been doing a lot of work in this area

1 Like

@espine - thanks for bringing this up. We have indeed been working in this space lately and I can point you two projects that are part of the larger Pangeo project:

  • pangeo-cloud-federation is using hubploy for CI/CD of both docker images and helm charts. The pangeo-cloud-federation is managing five JupyterHubs deployments running on GCP and AWS.

  • pangeo-stacks is a project that we’re using to develop a hierarchy of JupyterHub ready docker images. Similar to hubploy, this repo uses repo2docker to build the images. The main distinction with the hubploy application is that these images are not tied to a specific JupyterHub deployment or cloud. Here we’re testing out some new ideas like @yuvipanda’s onbuild extension (discourse post forthcoming) and continuous integration of image function (see some simple examples in the verify scripts).