Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thoth-station/jupyternb-build-pipeline
Openshift-pipelines and tekton based pipeline for packaging jupyternb in to image.
https://github.com/thoth-station/jupyternb-build-pipeline
hacktoberfest openshift-pipelines tekton-pipelines tekton-triggers
Last synced: 15 days ago
JSON representation
Openshift-pipelines and tekton based pipeline for packaging jupyternb in to image.
- Host: GitHub
- URL: https://github.com/thoth-station/jupyternb-build-pipeline
- Owner: thoth-station
- Created: 2020-05-15T14:43:00.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-05-29T22:17:21.000Z (over 1 year ago)
- Last Synced: 2024-04-16T02:28:56.734Z (8 months ago)
- Topics: hacktoberfest, openshift-pipelines, tekton-pipelines, tekton-triggers
- Size: 29.3 KB
- Stars: 3
- Watchers: 6
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# jupyternb-build-pipeline
OpenShift-pipeline and TektonCD based pipeline for packaging jupyter notebooks into image for AICoE.
A pipeline that packages Jupyter notebooks into a container image. Container images can be circulated with others in a more convenient way.
The final image will be uploaded to [aicoe-notebooks](https://registry-console.upshift.redhat.com/registry#/images/aicoe-notebooks) repo after the pipeline is finished.
This registry is Red Hat internal and all images in aicoe-notebooks repo are public by default.## Required repository Structure:
This pipeline looks for a "notebooks" directory in the root of your repo and copies the contents to the Jupyter home directory (/opt/app-root/src/).
The dependencies for notebooks should be managed using a Pipfile and a Pipfile.lock, and these dependencies will be installed during the build time.We have a template repo which you can use to structure your repo.
## Pipeline Setup:
On the GitLab/GitHub repo include the following webhook and also include sesheta as a collaborator.
Webhook:
Webhook Secret: `*******`(contact thoth-station)Gitlab private/personal repository requirement: Add @sesheta as a collaborator in the project.
## Pipeline Details:
The pipeline listens to Tag release events in the repository it is linked to.
On each Tag release, it will trigger a new build and push the updated image to the upshift registry based on the name of the repository.**Note**: The name of the repository is to be lowercase.
The pipeline uses an s2i-minimal-notebook(Python3.6) image as the base image for s2i build.
On image build, it pushes the tag to image-registry and also updates the latest tag for the image on the registry.## How to contribute
We welcome contributions, The following components can be worked on:
- Tasks:
- All new tasks are to be added in the tasks directory.
- Make sure to add new resource required for the tasks in the resource.yaml- Pipeline:
- New pipeline are to be added in the pipeline directory.
- Events:
- Please create new events for eventlistener, along with the triggertemplate and triggerbindings.
## Want to step up an instance
- Setup Tekton Pipeline and Tekton Trigger in cluster.
- Deploy the Triggers, Pipeline, Tasks.
- If behind the VPN, one time setup components:- Ultrahook: ultrahook passes the public internet request to services behind VPN
- ultrahook secret and deployment with destination as jupyternb listener