Re: Ci automated deploy of seaside to Digital Ocean
Tim Mackinnon <[email protected]>
| Newsgroups | gmane.comp.lang.smalltalk.squeak.seaside |
|---|---|
| Message-ID | <[email protected]> |
I forgot to mention - you are correct that this isn’t a good solution for a widely use production system - as I think you would want to use a load balancer to stop traffic to one image while sessions complete before terminating it. OR - there must be some cloud based solution for this these days - presumably using docker… Still for hobby experiments - this and Digital Ocean seems ideal. Tim > On 10 May 2018, at 22:17, Tim Mackinnon <[email protected]> wrote: > > Ah - I see (hadn’t thought about having a configurable port number), > > So if Ive understood correctly I could install supervisord with a config file like yours. > > Then on completion of my build, I could sftp my new image up to DO, and then execute a command like: supervisorctl restart psworker? > > Doing a check does seem to show lots of people use either it or monit (the latter being a bit more complicated). > > Thanks for the help - this is my next learning step. > > Tim > >> On 10 May 2018, at 19:47, Esteban A. Maringolo <[email protected]> wrote: >> >> >> >> On 10/05/2018 15:30, Esteban A. Maringolo wrote: >>> How would you know when to kill the running vm+image? It might have >>> active sessions. >>> >>> If you don't care about that, what I used to manage a bunch of "worker >>> images" (process groups) with supervisord [1], so in that case you'd >>> stop all the related workers, copy the new image, and start the >>> workers again. >> My supervisord.conf entry for a pool of working images was: >> >> [program:psworker] >> command=/home/trentosur/perfectstore/pharo-vm/pharo --nodisplay >> /home/trentosur/perfectstore/ps.image worker.st 818%(process_num)1d >> process_name=%(program_name)s_%(process_num)02d ; process_name expr >> (default %(program_name)s) >> numprocs=2 >> directory=/home/trentosur/perfectstore >> autostart=false >> autorestart=true >> user=trentosur >> stopasgroup=true >> killasgroup=true >> >> >> Part of the worker.st file handling the port number was: >> >> "Seaside server start" >> Smalltalk isHeadless ifTrue: [ >> Smalltalk commandLine arguments >> ifEmpty: [ >> Transcript show: 'No port parameter was specified.'; cr. >> Smalltalk quitPrimitive. ] >> ifNotEmpty: [:args | >> | port | >> port := args first asNumber asInteger. >> Transcript show: 'Starting worker image at port ', port asString; cr. >> ZnZincServerAdaptor startOn: port. >> ZnZincServerAdaptor default server debugMode: false. >> ] >> ] >> ifFalse: [ >> | port | >> port := 8080. >> Transcript show: 'Starting worker image at port ', port asString; cr. >> ZnZincServerAdaptor startOn: port. >> ZnZincServerAdaptor default server debugMode: true. >> ]. >> >> >> I hope it helps. >> >> Best 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 _______________________________________________ seaside mailing list [email protected] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside