Stage 1 – Patient Registration and Login
A patient creates an account and logs into the healthcare application.
The patient provides their personal details and login credentials. The application authenticates the patient and creates their profile.
This project is about building an automated CI/CD pipeline for a microservices-based healthcare application. It automatically builds, tests, validates, packages, and deploys the application across Development, Staging, and Production environments using Tekton, Kustomize, Jenkins, Ansible, and Docker. If any test or validation fails, the pipeline stops the deployment to prevent faulty changes from reaching production.
To design and implement a secure, automated continuous delivery pipeline using Tekton, Kustomize, Jenkins, Ansible, and Docker to build, test, configure, and deploy a microservices-based healthcare application across multiple environments.
A patient creates an account and logs into the healthcare application.
The patient provides their personal details and login credentials. The application authenticates the patient and creates their profile.
The patient searches for available doctors based on specialization.
The application retrieves doctor information such as name, specialization, availability, and location and displays the matching doctors.
The patient selects a doctor and books an appointment.
The patient selects an available date and time. The Appointment Service verifies availability and creates the appointment.
The doctor views the patient's appointment and records consultation information.
The doctor accesses the patient's relevant information and records consultation notes, diagnosis, and other required medical information.
The application stores and retrieves the patient's medical records.
After the consultation, the application stores the medical record and allows authorized users to retrieve previous medical information.
The doctor creates a prescription for the patient when required.
The doctor enters medicines, dosage, and instructions. The application stores the prescription and associates it with the patient's medical record.
The patient receives notifications about appointments and prescriptions.
The application generates notifications for events such as appointment confirmation, upcoming appointments, cancellations, and prescription availability.
The patient views their previous healthcare information.
The application retrieves authorized information such as previous appointments, consultation records, prescriptions, and medical history and displays it to the patient.
Runs automated build, testing, packaging, and validation tasks. It executes pipeline tasks inside isolated containers and controls the pass/fail stages.
Manages and runs the healthcare microservices across multiple servers. It controls containers, separates applications using namespaces, helps services communicate with each other, and automatically restarts failed application components to keep the system running.
Controls the software delivery process. It manages deployment stages, triggers deployments, runs post-deployment tests, and moves applications between environments.
Manages different configurations for Development, Staging, and Production. It uses a common base configuration with environment-specific overlays.
Automates server setup and configuration. It installs required packages, prepares system directories, and configures the servers before application deployment.
Packages healthcare application components and their dependencies into lightweight containers so they can run consistently across different environments.
Virtual servers used to host Tekton pipelines, Jenkins, application services, and different deployment environments.
The common operating system installed on the EC2 servers to provide a stable and consistent environment.
Provides the private cloud network and separates public access from private application and pipeline resources.
Control network access and protect the application, pipeline, and server environments from unauthorized connections.
Provides persistent storage for operating system files, application data, deployment information, and pipeline logs.
The proposed solution provides an automated continuous delivery system using Tekton, Kustomize, Jenkins, Ansible, and Docker. It replaces manual deployment with automated build, testing, configuration, and deployment processes running on Cloud EC2 instances with Ubuntu Server 24.04 LTS inside a Cloud VPC. Docker packages the healthcare application into containers, while Kustomize manages configurations for Development, Staging, and Production. Tekton builds and tests the application, and Jenkins manages the deployment process across environments. Ansible automates server setup and configuration. Monitoring dashboards provide visibility into pipeline status, test results, and deployment health.