Description
Digital Bharat Collaborative (DBC) is an initiative of Piramal Swasthya, the healthcare arm of the Piramal Foundation. DBC's focus areas include building a robust digital public health delivery platform, improving data-driven governance and empowering healthcare workers. One of DBC's most successful initiatives is AMRIT (Accessible Medical Records via Integrated Technologies). AMRIT is a first-of-its-kind integrated health technology platform that supports clinical excellence for over 2 Cr beneficiaries. AMRIT is deployed across multiple on-premise servers and state data centres in India.
This project aims to integrate a robust CI-CD pipeline to improve development efficiency and reduce deployment risks.
Goals & Mid-Point Milestone
Goals
- Research and selection of CI-CD tools and understanding of current AMRIT deployments
- Tweaking of existing GitHub Actions to include triggers for unit testing and static code analysis
- Creation of Jenkins pipeline to build war files for deployment
- Handling database schema migrations via the deployment pipeline
- Deployment of war files to WildFly server in the development environment
- Promotion of CI-CD workflow to higher environments
Setup/Installation
https://psmri.github.io/PSMRI/developer-guides/technical-overview/
Expected Outcome
- Comprehensive documentation covering the chosen CI/CD tools, pipeline setup, configuration details, and usage instructions.
- A few clicks in Jenkins must build and deploy the latest code to selected data centres.
- CI-CD pipeline(s) that care of code testing, building and deployment to data centres.
Acceptance Criteria
- Any sensitive information like DB passwords and API keys must be managed securely via the pipeline.
- The pipeline must automate code testing, building, and deployment processes.
- Migrations of database schema are taken care of in the pipeline.
- The deployment pipeline must require near-zero manual intervention.
Implementation Details
Jenkins
GitHub Actions
Mockups/Wireframes
NA
Product Name
AMRIT
Organisation Name
Piramal Swasthya
Domain
Healthcare
Tech Skills Needed
DevOps, Jenkins, GitHub Actions, Understanding of Java and Angular builds, Database and SQL
Mentor(s)
Category
DevOps