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