
- Post History
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
on 05-02-2025 01:01 AM
After a sprint, or whenever a new feature has been completed it may be a good point in time to release a new version of an application.
So, whenever the development team considers the state in the application’s “dev” branch ready for a deployment, the following activities should be conducted:
- Run the Code Sanity check on the app (using Instance Scan). Ensure the app has no findings. Fix findings if necessary and start over.
- Run all available ATF tests – and fix issues if any tests fail and start over.
- Insert or update documentation on technical debts and adapt switches to turn features on or off to match the product owner’s expectations and decisions regarding
- Unfinished work
- Features not (yet) to be released to users
- Deprecated features
- All other forms of technical debts
- Insert or update dependencies of the app (i.e., update the minimum version requirements).
- Document all changes relative to the previous version in the application’s release notes.
- Review and update feature descriptions in the application manual
- Set the application version in the application settings (if not done already).
- Commit all uncommitted changes to the “dev” branch.
- Click on the “Baseline” UI action on the application form (if the DevTools open-source application is installed, otherwise the following tasks must be performed manually):
- Repair several application files which may be modified by the users or even by the platform by mistake.
- Commit all resulting changes to the “dev” branch.
- Create branch and name the branch exactly like the version of the application (e.g., “1.5.0”).
- Switch back to the “dev” branch.
- Add the postfix “WORK IN PROGRESS” to the application name
- Create a new section in the application’s release notes (if they exist in the application manual UI page)
- Increase minor version number (and optimistically assume that the next version will deliver a backwards compatible new feature)
- Commit all resulting changes to the “dev” branch.
- Lock the new branch in the source control system
Performing all these steps manually is obviously laborious and prone to human error. It is recommended to automate as many of the steps as possible. To do so, the following technical capabilities need to build – as these are not provided OOTB:
- Provide a user interface to trigger the baseline procedure
- Ensure that the application is ready for baselining
- Clean up application files and remove any unintended files
- Commit pending changes, create the new version branch and switch back to the “dev” branch
- Increase the version number
- Add a section to the release notes
- Lock the new version branch to prevent further changes
The open-source applications “DevTools” and “Deployer” support all the required technical capabilities.
More information about DevTools can be found here:
https://www.wildgrube.com/servicenow-devtools
More information about the CodeSanity app can be found here:
https://www.wildgrube.com/servicenow-codesanity
More information about the Deployer app can be found here:
https://www.wildgrube.com/servicenow-deployer
The whitepaper about a mature development and deployment process can be downloaded here:
https://www.wildgrube.com/download/A%20mature%20Development%20and%20Deployment%20Process.pdf