How can I automate the installation of Update sets

oliviercans
Kilo Contributor

I'm from Orange Business Services.
I'm working for the project Smile : A platform of Service managment for our customers, based on service Now technology
We are working on a DevOPS project : Our project is fully AGile, but we need to automate Testing and deployment.

So, we are studying how to automate installation of Update sets : Update sets are build on platform DEV. Then we would like to install them automatically from DEV, QA, then To UAT, then PRE-PROD and finally from PRE-PROD to PROD.

Today installation is done manually : Import of Update sets from previous envt, Check compatibility, then Installation.

That's the same for some scripts to migrate datas.

So we are looking for a way to automate all these steps.

May somebody help us ?

Thanks in advance,

Olivier CANS

8 REPLIES 8

simonw
Tera Expert

Hi,



You may like to take a look at Team Development - ServiceNow Wiki.   I don't believe you'll be able to fully automate deployment as you could always have conflicts which would require manual resolution.   Team Development allows you to follow a more traditional developer with their own environment and merge into a parent branch or instance when ready instead of multiple developers tripping over each other on one development instance and the ability to push / pull updates instead of the update set method.  



There are a few test automation tools which work well with ServiceNow, I believe TESM have or had a webinar recently, there have also been a couple of blog posts on Selenium ServiceNow Selenium Testing - Setting it Up and Cerana Solutions have popped onto the radar, one of the recent articles is Still testing your ServiceNow code manually? That could cost you a lot of money. | John Manceri | Li...



Simon


Hi Simon,



Thanks a lot for your answer.
We are just managing a set of environments : DEV , QA, UAT, PRE-PROD and then PROD.


We are working with Update sets without Team Development or APplication repository


ANs we don't have issues with conflicts coming from different development teams as there is only one.


Neither issue with deployment of the full application on different platforms, as we have only one application installed on the different environments listed above.


So, I think, we will continue to work without Team Development nor Application repository.



I'm pretty sure that other company, that want to be DevOPS compliant have the same requirement of automation as we do. Didn't you ever hear about that ?



For testing, we don't have already chosen a testing tool. We will take care of use case presented in MyCommunity.



Thanks again for your answer,



Olivier


Hi Olivier,



If you look at the Commit Update UI Action <your_instance>/nav_to.do?uri=sys_ui_action.do?sys_id=c38b2cab0a0a0b5000470398d9e60c36 this will give you the code which commits the remote update set as a local customer update (i.e. applying your customisation).   This seems to be self contained so you could lift the code for your own purposes.



Also the Retrieve Complete Update Sets UI Action <your_instance>/nav_to.do?uri=sys_ui_action.do?sys_id=c2ca3de40a0a0b5000795879b46a69b5 looks to be self contained code to pickup any completed update sets from another instance.   You'll probably want to hard code a few values in here to reference your parent instance.



ServiceNow do occasionally update these UI Actions so I'd suggest checking against their code on each version upgrade to ensure nothing major has changed.  



Kind regards,



Simon


thirschi
Tera Expert

I have developed an automated way to push update sets.   When I now complete an update set it takes less than 2 minutes to go from a build->test->prod with a corresponding rfc and closing the task that was assigned to me.