...
Sunbird was installed using a single script.
Very minimal set of variables to be defined prior to install (about 40 odd variables)
1 hours hour installation
Low technical knowledge required to setup
Cons:
- The configuration file was not version controlled. It was only a local file which had inventory and variables defined
Customization was tough 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
...
Takes a day's effort
Medium level technical skills required to setup
Only azure blobs supported to store artifacts at this point of time (can be skipped if stored locally on Jenkins)
Variables:
Old Inventory and Variables Structure
Private Public
New Inventory and Variables Structure
Private Public
How was this done?
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
Documentation on how to setup
Pictorial representation
How will an adopter run this process?
...
Clone sunbird-devops
Run the same jenkins scripts which will upgrade existing jobs and create new jobs as per release
Add / remove variables as per changelog provided with every release
Run build and deploy from new GA tag
Pictorial representation
...