| Project: Deployment Automation Script for CA AllFusion Harvest r7 Client: British Columbia Ministry of Energy, Mines, and Petroleum Resources Reference: Sasha Brkic, Database Management & Administration, Information Management Branch (IMB) Role: Senior Consultant Product Type: Custom UDP Script Programming Language: JavaScript Description: Custom script designed to automate IMB's deployment process for promoting code from development to production and downgrading code from production back to development; Script executes automatically when a software package (module) is promoted or demoted in AllFusion Harvest.
Key Features Implemented:
- Low risk automated, deployment solution with easy rollback capabilities for pushing new code from development to production or downgrading faulty code from production back to development
- Ability to configure paths in the repository that need to be monitored for changes
- Only the files modified in user specified paths (when compared to their immediately preceding versions) and members of the software package(s) being promoted or demoted are checked out of the repository and into a temporary folder for further processing
- Files determined to be SQL scripts are automatically executed against one or more user specified production databases during promotion operation; Detailed error logging records statements that fail to execute successfully and the reason for the failure
- Files determined to be ORACLE forms, menus, and reports are automatically compiled into corresponding object files; Detailed error logging records compilation errors
- Package promotion copies successfully compiled files from folders in development environment into corresponding locations in production environment (also configurable to account for differences in folder structure between environments); Production environment ready to use following promotion operation with no further user intervention
- Demotion of a package allows for the version immediately preceding the current one to be restored in production environment (including all source and compiled files) in case bugs are found or other problems arise
- Ability to send e-mail notification to interested parties regarding files modified, packages affected, and actions taken
|
|