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 Rajesh Kumar, a DevOps, SRE, DevSecOps, Cloud, and Platform Engineering expert passionate about sharing practical knowledge, real-world experiences, and industry best practices. I have worked at Cotocus and regularly write about technology, travel, investing, health, product reviews, and digital marketing through my various platforms.
I publish technical articles at DevOps School, travel stories at Holiday Landmark, stock market insights at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at TrueReviewNow, and SEO and digital marketing strategies 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.