...
Sunbird was installed using a single script.
Very minimal set of variables to be defined prior to install (about 40 odd variables)
2 1 hours installation
Low technical knowledge required to setup
Cons:
Customization was tough Customization possible only for docker images
No control on published contents and frameworks
Cannot analyze data patterns
Only core components are available for use but not Knowledge Platform and Data Pipeline
...
Pros:
All components can be installed - LP, DP and Core service's
Easy customization of all components by forking the desired repository
Spin up a Jenkins instance and start building on your own
Everything is a Jenkinsfile
Version control of build, provision and deploy process using Jenkinsfile
Visibility on how Sunbird does build and deploy by just looking at the Jenkinsfiles
Docker images can be stored in any registry and artifacts in azure blobs or locally on Jenkins
Seamless and quick rollbacks
All features, updates and process of Sunbird available to end users
85% of Ansible variables refactored and simplified
Only about 100 odd variables needs to initialized for entire setup
600 variables refactored to about 100 odd variables
Every configuration can be overridden based on requirements
Easy upgrades by just using the latest GA certified tag. One click build and deploy.
Total control on publishing content and frameworks
Minimal hardware - Just 10 servers for entire setup
Easy scaling of infrastructure - All through Ansible inventory and Jenkinsfiles
Production ready setup and easy promotion of code from dev to production (Securing Jenkins is out of scope)
- Provided scripts to create environment specific jenkins jobs
Anyone can run a full stack Sunbird with home brewed customization's
...
Converted every freestyle Jenkins job to a Jenkinsfile
Published every Jenkinsfile along with ready to use job configurations
Constant and non mandatory variables were set to its default which is as per standards
- Flexibility to override the defaults and add their own variables
Setting up Jenkins and all required jobs using 3 scripts.
Mandatory variables provided in a standard template along with detailed descriptions which needs to be filled
Detailed documentation Documentation on how to setup
How will an adopter run this process?
...