Page 1 of 1

Updating Solution on War Deployment

PostPosted: Tue Nov 26, 2019 6:54 am
by wvitpr
HI,
I have a NG solution running well on a war deployment, but I am having trouble uploading new releases using .servoy files, should this be possible?, the imports are failing because modules currently exist. It seems the only way I can successfully update my solution is through war re-deployment which is not ideal when the server is remote and we have crappy internet speed.
Any help would be greatly appreciated.

Re: Updating Solution on War Deployment

PostPosted: Wed Nov 27, 2019 1:16 am
by swingman
At the Servoy conference I was told that there is a way of exporting special war file which you can upload new releases to using .servoy files. (as long as your solution does not need any new or updated components).

I have not tried this and it would good for someone to explain in a bit more detail how this is done.

Also, how big is your WAR file? There was one version of Servoy, some 8.4.x, which exported huge 750MB war files. After I switched to 2019.03 the war file size dropped to 50MB. It made the uploads a lot quicker ;-)

Re: Updating Solution on War Deployment

PostPosted: Wed Nov 27, 2019 1:26 am
by wvitpr
Ok that sounds interesting, yes documentation on the war deployment is a little light, and unfortunately I couldn't get to servoy world. My WAR is around 90Mb.
Thanks for you reply :-)

Re: Updating Solution on War Deployment

PostPosted: Wed Nov 27, 2019 7:49 pm
by kwpsd
Over the summer, we experimented with a 2019.06 WAR deployment in our office. If I recall, to update the solution used by the WAR deployment, we used the Servoy web administration page, and it worked as expected. As Christian, said, no need to re-deploy WAR unless you update the component .jar files. For others reading this, please correct me, if I am mistaken.

Re: Updating Solution on War Deployment

PostPosted: Tue Dec 03, 2019 4:24 pm
by sbutler
Phil! Long time no see my friend! Figured I'd try to jump in and lend a hand...

So, when transitioning to NG, "officially" you have 2 deployment options:

1. Deploy via WAR but WITHOUT the active solution included. This deploys a base Servoy server. Then you can import the .servoy files the normal way.
2. Deploy via WAR always, WITH the active solution included.

I put "officially" in quotes because my experience with several clients is that option #1 doesn't work the same. Odd bugs that can't be reproduced in developer pop-up, and when you redeploy the WAR with the solution included, everything works. So, we've standardized to always doing WAR deployments. The other benefit there is the WAR includes all the NG components, plugins, etc, so you always get a full update, and not just the .servoy code changes. The downside is your customers will experience downtime during the update, since you have to undeploy the current war and deploy the new one.

Since this whole process is somewhat painful for people, and in many ways, more complex than they used to do, we have some tools we've used to automate this. We use TeamCity and have SVN/GIT hooks setup to look for changes, and it spins up a Docker image we made, which starts up a Servoy Developer instance, and it builds your WAR, runs any unit tests, and can deploy it for you. The deployment part could be just dropping it via FTP somewhere, or redeploying another docker image in the cloud.

We are working on migrating from TeamCity to Github Actions (See: https://github.com/features/actions ). Once thats working, we plan to offer that as a paid service that can be customized for each customer. Then deployments are as simple as doing a commit with a certain tag.

If that interests you, let me know and you could be our initial beta tester :)

Re: Updating Solution on War Deployment

PostPosted: Tue Dec 10, 2019 3:01 pm
by rafig
I use this method & it seems to work ok for me.

1) In Developer, do Export Solution/WAR, but make sure not to include current/any solutions, so it basically export everything need to deploy a Servoy Server, along with all components etc. (just go thru each dialog and make sure to export everything you need for your solution).
2) deploy that WAR on a Tomcat server
3) In Developer do another export solution, but this time, just do the 'file' to a '.servoy' file (with any referenced modules) and then use that as you used to in the 'old days' by importing in to the Servoy web admin page that should be up and running from the deploy in step 1.
4) repeat step 3 each time you make changes to the solution
5) BUT, if you update Servoy and/or any web packages, you need to re-export the WAR in step 1 & redeploy it on your Tomcat server

Hope this helps... ;-)

Rafi

Re: Updating Solution on War Deployment

PostPosted: Sat Dec 14, 2019 6:29 am
by wvitpr
Thank Rafi, that fixed it :-)

Re: Updating Solution on War Deployment

PostPosted: Sat Dec 14, 2019 6:32 am
by wvitpr
goldcougar wrote:Phil! Long time no see my friend! Figured I'd try to jump in and lend a hand...

So, when transitioning to NG, "officially" you have 2 deployment options:

1. Deploy via WAR but WITHOUT the active solution included. This deploys a base Servoy server. Then you can import the .servoy files the normal way.
2. Deploy via WAR always, WITH the active solution included.

I put "officially" in quotes because my experience with several clients is that option #1 doesn't work the same. Odd bugs that can't be reproduced in developer pop-up, and when you redeploy the WAR with the solution included, everything works. So, we've standardized to always doing WAR deployments. The other benefit there is the WAR includes all the NG components, plugins, etc, so you always get a full update, and not just the .servoy code changes. The downside is your customers will experience downtime during the update, since you have to undeploy the current war and deploy the new one.

Since this whole process is somewhat painful for people, and in many ways, more complex than they used to do, we have some tools we've used to automate this. We use TeamCity and have SVN/GIT hooks setup to look for changes, and it spins up a Docker image we made, which starts up a Servoy Developer instance, and it builds your WAR, runs any unit tests, and can deploy it for you. The deployment part could be just dropping it via FTP somewhere, or redeploying another docker image in the cloud.

We are working on migrating from TeamCity to Github Actions (See: https://github.com/features/actions ). Once thats working, we plan to offer that as a paid service that can be customized for each customer. Then deployments are as simple as doing a commit with a certain tag.

If that interests you, let me know and you could be our initial beta tester :)


Hi Scott,
Yes its been a very long time, I hope you guys are all well over there... I am interested in talking about your software solution in the future, I can see it would be of great benefit for deployment.
Phil

Re: Updating Solution on War Deployment

PostPosted: Mon Dec 16, 2019 12:28 pm
by rafig
wvitpr wrote:Thank Rafi, that fixed it :-)

Glad it helped ;-)