0

I have these ant scripts that build and deploy my appservers. My system though is actually over 3 servers. They all use the same deploy script (w/flags) and all work fine.

Problem is there are some dependencies. They all use the same database so I need a way to stop all appservers across all machines before the build first happens on machine 1. Then I need the deployment on machine 1 to go and complete first as it's the one that deals with the database build (which all appservers need to start).

I've had a search around and there are some tools that might be useful but they all seem overkill for what I need.

What do you think would be the best tool to sync and manage the ant builds over multiple machines (all running linux)?

Thanks, Ryuzaki

Ryuzaki
  • 46
  • 6
  • See: http://stackoverflow.com/questions/11848406/jenkins-how-to-check-out-artifact-from-nexus-and-deploy-on-tomcat/11852506#11852506 – Mark O'Connor Sep 24 '14 at 22:26

1 Answers1

1

You could make your database changes non-breaking, run your database change scripts first and then deploy to your appservers. This way your code changes aren't intrinsically tied to your database changes and both can happen independently.

When I say non-breaking I mean that database changes are written in such a way that 2 different version of code can function against the same database. For example rather than renaming columns, you add a new one instead.

Castrohenge
  • 8,525
  • 5
  • 39
  • 66
  • is on to something... It may be well worth your while to examine how the apps use the DB. The deployment woes you mentioned are a symptom of that problem. You likely can mitigate your problems in build/deployment - but there isn't a solution there. – thekbb Sep 24 '14 at 15:24
  • Not really got control over that sadly. The product's database behaviour is outwith my remit. Thanks though! – Ryuzaki Sep 24 '14 at 15:43
  • What I'm looking for is a manager for ant scripts across multiple machines I guess. – Ryuzaki Sep 24 '14 at 15:48