DevOps internship project completed at Orange Egypt, demonstrating an automated build and deployment workflow with Jenkins, Docker, Ansible, Vagrant, and VirtualBox.
The project automates the path from a source-code update to a containerized application running on two provisioned virtual machines.
It was developed as an internship lab to demonstrate repeatable deployment practices rather than as a continuously operated production service.
- Containerized the sample Python web application with Docker.
- Configured a Jenkins pipeline to retrieve source code, build the image, and publish it to Docker Hub.
- Provisioned two low-resource virtual machines through Vagrant and VirtualBox.
- Wrote Ansible automation to install Docker, retrieve the image, and run the application containers.
- Documented the architecture and captured pipeline evidence.
flowchart LR
A[GitHub repository] --> B[Jenkins pipeline]
B --> C[Docker build]
C --> D[Docker Hub]
B --> E[Ansible playbook]
E --> F[Vagrant VM 1]
E --> G[Vagrant VM 2]
D --> F
D --> G
- Jenkins retrieves the application source.
- Jenkins builds a Docker image from the repository Dockerfile.
- The image is published to Docker Hub.
- Vagrant provisions two VirtualBox machines.
- Ansible installs Docker and deploys the published image to both machines.
- The same container image runs in both target environments.
| Technology | Responsibility |
|---|---|
| Jenkins | Pipeline orchestration |
| Docker | Application packaging and runtime consistency |
| Docker Hub | Image registry |
| Ansible | Configuration and deployment automation |
| Vagrant | Repeatable virtual-machine provisioning |
| VirtualBox | Local VM runtime |
| Python | Sample web application |
Weather.App.and.10.more.pages.-.Personal.-.Microsoft_.Edge.2024-12-22.22-41-15.mp4
This repository documents a local infrastructure and deployment lab. It is not expected to provide a continuously hosted public application.
Running it requires local virtualization resources and configured access to services such as Docker Hub and Jenkins. No paid cloud infrastructure is maintained for this training project.
Recruiters can evaluate it through the repository configuration, architecture, screenshots, and recorded application evidence.
This project demonstrates a complete CI and deployment pipeline in a controlled internship environment. It does not claim production-scale availability, managed cloud infrastructure, zero-downtime deployment, or automatic rollback.
- Reproducible environments reduce machine-specific deployment differences.
- Registry-based delivery separates image creation from target deployment.
- Configuration management avoids manual setup across multiple hosts.
- Pipeline visibility makes build and deployment failures easier to diagnose.
Completed during Shawky Elsayed's DevOps internship at Orange Egypt.



