I am looking for user experiences or ideas on a way to automate deployments of the Thinkwise platform. For this part limited to the steps that are part of Thinkwise, so no external service that do talk to the application.
Feel free to also share if it is not exactly the environment my situation is in, so it could perhaps help other users as well or trigger possibilities. Any other tips are welcome as well
Environment: Azure
Full deployment steps:
- Disable Azure App service (running Indicium / Universal GUI). Making sure nothing is running instead of only deactivating an application in IAM.
- Scale up Elastic Pool.
- Apply pre-upgrade script(s) on product DB. Only when data needs patching before an upgrade like in a situation a column becomes mandatory and could be empty before.
- Apply all generated deployment scripts for the product
- Apply after-upgrade scrip(s) on product DB. Only if any are needed.
- Upgrade Indicium with a newer version.
- Upgrade Universal GUI with a newer version.
- Apply hotfixes on IAM DB
- Apply Model Sync on IAM;
- Copy the application to the new version.
- Create new User Group (if needed).
- Link Roles to the correct User Group (if needed).
- Deactivate old applications.
- Activate new applications.
- Run Optimze Index on IAM.
- Scale down Elastic Pool.
- Enable Azure App service (running Indicium / Universal GUI)
The structure is currently serial, but I am aware certain steps could run parallel in an automation situation. I am looking forward to your input and thank you in advance for taking the time.