[Deploy] Deploying application - New Best Practices?
Hey, all.. I have a Pharo application that I ready to deploy to production. I havenât done this in a lot of years, so I thought I might check around on what the current best practices are. The app is a Teapot(REST) based application that processes SMS and MMS messages, including saving files to the file system, etc.. In the past, I would have added some kind of remote desktop server into my image, and run it headless on the server. When I needed to update the source code with monticello, I would use a VNC client to log in, update my source code, save the image, etc. I have a feeling things have progressed at this point. Can anyone point me in the right direction to learn current best practices? I will most likely be updating this to a gemstones app, but while this is in beta, i just want to worry about user experience of the application.. Thanks! ---- peace, sergio photographer, journalist, visionary Public Key: http://bit.ly/29z9fG0 #BitMessage BM-NBaswViL21xqgg9STRJjaJaUoyiNe2dV http://www.Village-Buzz.com http://www.ThoseOptimizeGuys.com http://www.coffee-black.com http://www.painlessfrugality.com http://www.twitter.com/sergio_101 http://www.facebook.com/sergio101
On Fri, May 26, 2017 at 03:47:42PM -0400, sergio ruiz wrote:
I have a feeling things have progressed at this point. Can anyone point me in the right direction to learn current best practices?
Some things I'm now doing differently, based on reading up on current best practices: Initial deployment - creating uid/gid, creating directories, deploying VM, copying image and various artefacts, templating daemontools run file, etc is done using Ansible. Check out Ansible, Chef and Puppet. For my blog, content management is under version control using Fossil and is pushed from my workstation where I write/check the post to my blog server: http://www.samadhiweb.com/blog/2016.08.12.fossil.html This approach also works for pushing application changes. I use Fossil, but for Git you can find any number of tutorials on the web on how to push-hook and all that. Better Git support built into Pharo should make this easier.
In the past, I would have added some kind of remote desktop server into my image, and run it headless on the server. When I needed to update the source code with monticello, I would use a VNC client to log in, update my source code, save the image, etc
The latest thinking is to blow away whatever is currently running, deploy new artefacts (image, etc) freshly built from CI, and restart the application. Fashionable memes are "cattle, not pets" and "no snowflakes". I still build my images with RFBServer running so that I can VNC into them. Over time I do that less and less. Pierce
Hi sergio This is great to hear that you will deploy your app. I really want that we really improve the deployment of Pharo App. Could you log and report to us what worked with you and what did not work. I would like that the community build and share some scripts. Sven in the past shared with us his build scripts and it was a great start. There are in the deep into pharo book. Can you check if they help you. Stef On Sat, May 27, 2017 at 8:18 AM, Pierce Ng <pierce@samadhiweb.com> wrote:
On Fri, May 26, 2017 at 03:47:42PM -0400, sergio ruiz wrote:
I have a feeling things have progressed at this point. Can anyone point me in the right direction to learn current best practices?
Some things I'm now doing differently, based on reading up on current best practices:
Initial deployment - creating uid/gid, creating directories, deploying VM, copying image and various artefacts, templating daemontools run file, etc is done using Ansible. Check out Ansible, Chef and Puppet.
For my blog, content management is under version control using Fossil and is pushed from my workstation where I write/check the post to my blog server:
http://www.samadhiweb.com/blog/2016.08.12.fossil.html
This approach also works for pushing application changes. I use Fossil, but for Git you can find any number of tutorials on the web on how to push-hook and all that. Better Git support built into Pharo should make this easier.
In the past, I would have added some kind of remote desktop server into my image, and run it headless on the server. When I needed to update the source code with monticello, I would use a VNC client to log in, update my source code, save the image, etc
The latest thinking is to blow away whatever is currently running, deploy new artefacts (image, etc) freshly built from CI, and restart the application. Fashionable memes are "cattle, not pets" and "no snowflakes".
I still build my images with RFBServer running so that I can VNC into them. Over time I do that less and less.
Pierce
Where can i find a current RFBServer? Right now, I don't want to blow away what's currently running as it is an image with data.. will figure out persistence later.. -- View this message in context: http://forum.world.st/Deploy-Deploying-application-New-Best-Practices-tp4948... Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
On Fri, Jun 02, 2017 at 12:52:35PM -0700, sergio_101 wrote:
Where can i find a current RFBServer?
On 26 May 2017, at 21:47, sergio ruiz <sergio.rrd@gmail.com> wrote:
Hey, all..
I have a Pharo application that I ready to deploy to production. I havenât done this in a lot of years, so I thought I might check around on what the current best practices are.
The app is a Teapot(REST) based application that processes SMS and MMS messages, including saving files to the file system, etc..
In the past, I would have added some kind of remote desktop server into my image, and run it headless on the server. When I needed to update the source code with monticello, I would use a VNC client to log in, update my source code, save the image, etc.
My current approach is more or less what you find here https://github.com/svenvc/pharo-server-tools That include a REPL and Metrics server for operational purposes.
I have a feeling things have progressed at this point. Can anyone point me in the right direction to learn current best practices?
I will most likely be updating this to a gemstones app, but while this is in beta, i just want to worry about user experience of the application..
Thanks!
---- peace, sergio photographer, journalist, visionary
Public Key: http://bit.ly/29z9fG0 #BitMessage BM-NBaswViL21xqgg9STRJjaJaUoyiNe2dV http://www.Village-Buzz.com http://www.ThoseOptimizeGuys.com http://www.coffee-black.com http://www.painlessfrugality.com http://www.twitter.com/sergio_101 http://www.facebook.com/sergio101
participants (5)
-
Pierce Ng -
sergio ruiz -
sergio_101 -
Stephane Ducasse -
Sven Van Caekenberghe