The application is to redeploy whenever a new release or push to master is made. Can be triggered by git hooks on a 2nd remote, or travis hooks, or polling.
The solution must be fully automatic.
The deployments must share configuration in a common path.
Data cannot be lost during redeployment.
Opt. A
Clustering with a front node running hazelcast and a BusRouter. How to handle the webserver? Can run over the cluster too as a quick solution. Can be deployed separately, can overwrite only the web folder.
Opt B.
A CoreService downloads the latest version and starts it. Then stops itself.
Opt C.
A CoreService uses classpath isolation to manage multiple versions, stopping of old services and starting of new.
Downtime: max 1 minute per update. While zero downtime is achievable, its most likely not worth the effort.
The application is to redeploy whenever a new release or push to master is made. Can be triggered by git hooks on a 2nd remote, or travis hooks, or polling.
The solution must be fully automatic.
The deployments must share configuration in a common path.
Data cannot be lost during redeployment.
Opt. A
Clustering with a front node running hazelcast and a BusRouter. How to handle the webserver? Can run over the cluster too as a quick solution. Can be deployed separately, can overwrite only the web folder.
Opt B.
A CoreService downloads the latest version and starts it. Then stops itself.
Opt C.
A CoreService uses classpath isolation to manage multiple versions, stopping of old services and starting of new.
Downtime: max 1 minute per update. While zero downtime is achievable, its most likely not worth the effort.