Re: Ci automated deploy of seaside to Digital Ocean
Norbert Hartl <[email protected]>
| Newsgroups | gmane.comp.lang.smalltalk.squeak.seaside |
|---|---|
| Message-ID | <[email protected]> |
> Am 11.05.2018 um 15:54 schrieb Esteban A. Maringolo <[email protected]>: > > On 11/05/2018 10:39, Norbert Hartl wrote: > >> All of this can be done. It just depends on the learning curve you want >> to take. I successfully escaped the unix/linux hell (used daemontools, >> monti, systemd before) for my services and entered docker hell :P >> I use docker swarm and that has everything you describe above. I can >> deploy any number of images across all my machines with ease. There is a >> zero-downtime option so there is no service interruption. But the amount >> of time I had to put into there was massive. So while I would encourage >> the usage of docker I’m not sure it is for everyone. >> The medium heavy approach for you should be: >> >> 1. nginx as frontend server. This proxies all requests to a docker >> service traefik (https://traefik.io/) >> 2. traefik listens on docker whenever a container is started and adds it >> to the load balancing routine. >> 3. You deploy any number of your application and they will automatically >> load balanced. > > Why nginx+traefik? Isn't the latter supposed to provide reverse proxying > as well? > Yes, maybe you don’t need nginx then. I use it because nginx is fine for caching content and rewriting requests and such. That isn’t so good with traefik. I also usually do SSL offloading in nginx so traefik does not need to handle SSL. > A blog post/tutorial about how this was made would save many from > investing massive time into it. :) > Yes I know. But I hardly find time to release all the stuff we do to the public. So writing a blog post is out of reach for me at the moment, sorry. Maybe Marcus and me give a session on that at ESUG. And one thing is sure… a single blog post won’t keep you from spending a lot of time on it. > I’m interested in how you implement the zero-downtime. > docker swarm provides it. It starts a new container and let this do health check for about a minute. Then it takes that container online and slighty later it takes one of the old containers offline. I’m not sure it works 100% but I did not see any HTTP errors from the frontend server while upgrading. Norbert > Regards! > > > -- > Esteban A. Maringolo > _______________________________________________ > seaside mailing list > [email protected] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside _______________________________________________ seaside mailing list [email protected] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside