What this lab teaches
The lab teaches how to use the OpenShift web console to deploy an application directly from source code stored in GitHub. The example uses OpenShift’s Source-to-Image, also called S2I, process. OpenShift downloads the source code, builds a container image, creates pods, creates a service, and optionally creates a route so the application can be accessed from a browser.
Prerequisites
Before doing this lab, the learner should understand:
| Required Knowledge | Why It Matters |
|---|---|
| OpenShift and Kubernetes relationship | OpenShift runs applications on Kubernetes |
| Public Git repositories such as GitHub | Source code is pulled from GitHub |
| OpenShift web console access | The lab uses the GUI, not CLI |
| Administrator and Developer perspectives | The lab uses the Developer view and +Add flow |
Application used in the lab
| Item | Value |
|---|---|
| Application type | Python web application |
| Builder image | Python 3.9 |
| Git repository | https://github.com/openshift-instruqt/blog-django-py |
| Deployment resource type | Deployment |
| Route | Enabled |
Complete lab flow
| Step | Action | Details |
|---|---|---|
| 1 | Open Developer Sandbox | Start from the Developer Sandbox entry page |
| 2 | Log in | Use Red Hat account credentials |
| 3 | Open OpenShift web console | Go into the OpenShift console |
| 4 | Click +Add | Use the left-side menu |
| 5 | Search for Python | In the Developer Catalog / All Services page |
| 6 | Select Python | Choose the Python service/template |
| 7 | Click Create | Opens the Source-to-Image application form |
| 8 | Select Python 3.9 | The lab specifically uses Python 3.9 builder image |
| 9 | Enter Git repo URL | Use the GitHub repo above |
| 10 | Review auto-filled fields | OpenShift fills Application and Name fields |
| 11 | Set resource type | Choose Deployment |
| 12 | Enable route | Select Create a route to the Application |
| 13 | Click Create | Starts the build and deployment process |
| 14 | Watch Topology | App appears as a circle in Topology view |
| 15 | Wait for build completion | Light blue during build, dark blue when running |
| 16 | Open application | Click the external/open-url icon on the app graphic |
| 17 | Delete application | Right-click the application in Topology and choose Delete Application |
| 18 | Confirm deletion | Type the application name when prompted |
What OpenShift creates automatically
When you complete the form and click Create, OpenShift automatically creates several resources:
| Resource | Purpose |
|---|---|
| Build / S2I process | Builds container image from Git source |
| Container image | Application runtime image |
| Pod | Runs the application container |
| Deployment | Manages the application rollout |
| Service | Provides internal cluster networking |
| Route | Provides browser-accessible external URL |
Important concepts from the lab
| Concept | Explanation |
|---|---|
| Source-to-Image | OpenShift builds a container image directly from source code |
| Developer Catalog | Web console area used to choose app templates/services |
| Builder image | Base/runtime image used to build the application |
| Git Repo URL | Source location OpenShift pulls from |
| Deployment | Kubernetes/OpenShift object that manages running pods |
| Route | OpenShift object that exposes the app externally |
| Topology view | Visual view of running applications in OpenShift |
CLI equivalent of the same lab
The PDF uses the web console, but the rough CLI equivalent would be:
oc new-project lab2-python
oc new-app python:3.9~https://github.com/openshift-instruqt/blog-django-py --name=blog-django-py
oc expose svc/blog-django-py
oc get route
Code language: JavaScript (javascript)
Then open the route URL in your browser.
To delete it:
oc delete all -l app=blog-django-py
oc delete route blog-django-py
Code language: JavaScript (javascript)
I’m a DevOps/SRE/DevSecOps/Cloud Expert passionate about sharing knowledge and experiences. I have worked at Cotocus. I share tech blog at DevOps School, travel stories at Holiday Landmark, stock market tips at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at TrueReviewNow , and SEO strategies at Wizbrand.
Do you want to learn Quantum Computing?
Please find my social handles as below;
Rajesh Kumar Personal Website
Rajesh Kumar at YOUTUBE
Rajesh Kumar at INSTAGRAM
Rajesh Kumar at X
Rajesh Kumar at FACEBOOK
Rajesh Kumar at LINKEDIN
Rajesh Kumar at WIZBRAND
Find Trusted Cardiac Hospitals
Compare heart hospitals by city and services — all in one place.
Explore Hospitals
The lab demonstrates how to deploy applications directly from a GitHub repository using the OpenShift web console, but it could also discuss considerations that become important in long-term application delivery. In production setups, teams typically implement branch-based deployment strategies, automate image scanning, and enforce approval workflows before promoting changes to higher environments. Adding guidance on integrating these source-based deployments with GitOps practices and maintaining deployment consistency across clusters would provide readers with a more complete operational perspective.