With the release of ServiceNow Orlando came the ability to manage changes to applications through Source Control system (GitHub repositories) and release processes through a ServiceNow CI/CD pipeline. This requires shifting your development model from Global to Scoped Apps.
Introducing a Source Control system in the development process allows you to:
• Collaborate better: Effectively manage code changes for multiple developers on your team by using Git repo integration
• Streamline DevOps: Automate change deployment and get them from development, through test, and into production faster
• Accelerate development: Deliver applications faster so your team can iterate on feedback early and often
So, what does CI/CD mean in ServiceNow terms? It means that development teams are able to work in a shared Git repository for better collaboration. Managers also have full transparency of work being done. And excitingly, deployment pipelines can be automated from Dev all the way to Prod.
Is this part of the agile model?
The problem is that agile development teams need a CI/CD enabled platform to automate end-to-end development and deployment processes. CI/CD enables ServiceNow developers to leverage modern day Continuous Integration and Continuous Delivery toolsets. This means they can innovate with the agility needed to meet the increasing demands of today’s users, and scale with the growing complexity of unique business objectives and KPIs.
The benefits include improving developer collaboration with selective commits and collision avoidance. It also simplifies application development with branching and merging within Git repositories. Another benefit is that it automates deployments with IntegrationHub Spokes and CI/CD REST APIs.
The setup is very straightforward in any ServiceNow instance upgraded to Orlando or beyond. It’s just about opening the App Engine Studio app, create a new Application and configuring the Source Control repository (external services like GitHub, BitBucket and others are available for free with private and public options), and then using the Studio functions such as:
• Create a repository
• Create branches
• Link an application to source control
• Commit application changes to source control
• Compare application file differences
• Include application table records in an application
• Merge committed changes from a branch
• Create and manage stashes
• Create tags
• Avoid and resolve conflicts when working collaboratively
Working with ServiceNow CI/CD
Development of business rules, UI scripts, and other components continues as usual but now you use the Studio to push your changes. This is done for them to be pulled from other instances and tested without the need to publish the Application into the internal Apps repository.
Different teams can work in different branches without conflicts until they decide to merge their changes into the main branch to be deployed in a user testing instance. This is when Quality controls are more rigorous and should happen using the Quality Gates concept. This means rejecting code with high severity issues from being merged into the main branch. Gates are previously shown to the developers during their regular activities, but not compulsory to fix until they are happy with the functionality or during their development.
At Quality Clouds we support the Continuous Quality (CQ) mission statement as the means to proactively build clean code. Doing this uses CI/CD tooling to detect and reject potential violations of quality which may imply technical debt and hidden risks.
Now the state of a ServiceNow application may be checked into GitHub source control, and the same application deployed onto any number of ServiceNow instances. This reduces human error and enables rapid /agile development paradigm, where features could be continuously developed and tested with a fast feedback loop achieved through automation of testing and release process (i.e the DevOps model).
It’s an exciting time in ServiceNow as there are many opportunities to sophisticate your development model and accelerate your processes. CI/CD is essential to that. If you’d like to find out more you can watch our webinar on the 1st July!