Deploying using the latest minimal image of Pharo (6.1)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Deploying using the latest minimal image of Pharo (6.1)

despotadesdibujau
Hi,
    In in the past days, in the context of the Smalltalks 2017 conference, I talked about my attempt to deploy on      production using the minimal image of Pharo .
 My goal was prepare an inmutable or staless minimal image for deploy, without sources nor changes files.
 The results are exposed in this  tutorial.
The size of the image is 16 MB and it has loaded Seaside.
  Just I have a pendeing issue: the staless image but everything else is done and working.

Reply | Threaded
Open this post in threaded view
|

Re: Deploying using the latest minimal image of Pharo (6.1)

Sven Van Caekenberghe-2


> On 19 Nov 2017, at 01:33, gabriel sor <[hidden email]> wrote:
>
> Hi,
>     In in the past days, in the context of the Smalltalks 2017 conference, I talked about my attempt to deploy on      production using the minimal image of Pharo .
>  My goal was prepare an inmutable or staless minimal image for deploy, without sources nor changes files.
>  The results are exposed in this  tutorial.
> The size of the image is 16 MB and it has loaded Seaside.
>   Just I have a pendeing issue: the staless image but everything else is done and working.

Great work, Gabriel, thanks for sharing. I have yet to look at what you did in detail, but what is your pending issue exactly, because I don't understand "the staless image". Could you elaborate ?

Sven
Reply | Threaded
Open this post in threaded view
|

Re: Deploying using the latest minimal image of Pharo (6.1)

despotadesdibujau
Sven Van Caekenberghe-2 wrote
> Great work, Gabriel, thanks for sharing. I have yet to look at what you
> did in detail, but what is your pending issue exactly, because I don't
> understand "the staless image". Could you elaborate ?
>
> Sven

Thanks!!!
Ja!, I wanted to say "stateless":eliminate the possibility of modify the
state of the image once it is in production.
That I did was  downloaded the minimal image of Pharo, I faced with some
issues to load my application using filetree or github.
I found the solution just loading through Monticello the missing dependecies
that Metacello  needed to use filetree and github repositories.
I delivered an application to a final user just using the minimal image and
it is working.
My idea is to prepare a minimal image with every tool for load
code:Monticello,Metacello suporting all types of repositories
(filetree,github,gitbucket, gitlab,...etc),...etc.
Then, when my application is loaded, unload those tools and disable the
command line handlers (if is posible), and eliminate all unnecessary files
like changes and sources ( thank you
<http://forum.world.st/How-to-deploy-headless-app-without-changes-and-source-files-td4949556.html>
).


Gabriel



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html

Reply | Threaded
Open this post in threaded view
|

Re: Deploying using the latest minimal image of Pharo (6.1)

Pavel Krivanek-3


2017-11-19 19:05 GMT+01:00 despotadesdibujau <[hidden email]>:
Sven Van Caekenberghe-2 wrote
> Great work, Gabriel, thanks for sharing. I have yet to look at what you
> did in detail, but what is your pending issue exactly, because I don't
> understand "the staless image". Could you elaborate ?
>
> Sven

Thanks!!!
Ja!, I wanted to say "stateless":eliminate the possibility of modify the
state of the image once it is in production.
That I did was  downloaded the minimal image of Pharo, I faced with some
issues to load my application using filetree or github.
I found the solution just loading through Monticello the missing dependecies
that Metacello  needed to use filetree and github repositories.
I delivered an application to a final user just using the minimal image and
it is working.
My idea is to prepare a minimal image with every tool for load
code:Monticello,Metacello suporting all types of repositories
(filetree,github,gitbucket, gitlab,...etc),...etc.

In Pharo 7 most of them are already part of the the minimal (Metacello) image.

-- Pavel
 
Then, when my application is loaded, unload those tools and disable the
command line handlers (if is posible), and eliminate all unnecessary files
like changes and sources ( thank you
<http://forum.world.st/How-to-deploy-headless-app-without-changes-and-source-files-td4949556.html>
).


Gabriel



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html


Reply | Threaded
Open this post in threaded view
|

Re: Deploying using the latest minimal image of Pharo (6.1)

Stephane Ducasse-3
In reply to this post by despotadesdibujau
Hi Gabriel

This is cool.
Thanks for sharing it with us.
I really want an object responsible for deploying an app. :)
Your effort is nice in that directory. Keep pushing

Stef


On Sun, Nov 19, 2017 at 1:33 AM, gabriel sor
<[hidden email]> wrote:

> Hi,
>     In in the past days, in the context of the Smalltalks 2017 conference, I
> talked about my attempt to deploy on      production using the minimal image
> of Pharo .
>  My goal was prepare an inmutable or staless minimal image for deploy,
> without sources nor changes files.
>  The results are exposed in this  tutorial.
> The size of the image is 16 MB and it has loaded Seaside.
>   Just I have a pendeing issue: the staless image but everything else is
> done and working.
>

Reply | Threaded
Open this post in threaded view
|

Re: Deploying using the latest minimal image of Pharo (6.1)

despotadesdibujau
>Hi Gabriel

>This is cool.
>Thanks for sharing it with us.
>I really want an object responsible for deploying an app. :)
>Your effort is nice in that directory. Keep pushing

>Stef
Thanks!!!

Maxi Tabacman suggests me to reify the deployment process.
I thought of something like to get up a minimal image from inside the
development image, then to start the deployment process from the development
image.
I suppose that I would need to use Espell Object Spaces (Guillermo Polito),
but in this case, I would need a special virtual machine (Oz Virtual
Machine)... Something like Tornado, but not using the "Run Fail Grow"
approach, but using a BaselineOf or ConfigurationOf approach.
Another idea (simpler than the idea above) is to communicate the two images
using Teapot or Sockets: The Development image sends orders to the minimal
image until it becomes on the deployment image.

For the moment I need to test the process (on Pharo 6 and 7) using more
complex applications until it becomes a reliable process.

Gabriel



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html

Reply | Threaded
Open this post in threaded view
|

Re: Deploying using the latest minimal image of Pharo (6.1)

Stephane Ducasse-3
Yes your second scenario looks cool to me :).
Keep us informed because this is really exciting.

Stef

On Thu, Nov 23, 2017 at 10:13 PM, despotadesdibujau
<[hidden email]> wrote:

>>Hi Gabriel
>
>>This is cool.
>>Thanks for sharing it with us.
>>I really want an object responsible for deploying an app. :)
>>Your effort is nice in that directory. Keep pushing
>
>>Stef
> Thanks!!!
>
> Maxi Tabacman suggests me to reify the deployment process.
> I thought of something like to get up a minimal image from inside the
> development image, then to start the deployment process from the development
> image.
> I suppose that I would need to use Espell Object Spaces (Guillermo Polito),
> but in this case, I would need a special virtual machine (Oz Virtual
> Machine)... Something like Tornado, but not using the "Run Fail Grow"
> approach, but using a BaselineOf or ConfigurationOf approach.
> Another idea (simpler than the idea above) is to communicate the two images
> using Teapot or Sockets: The Development image sends orders to the minimal
> image until it becomes on the deployment image.
>
> For the moment I need to test the process (on Pharo 6 and 7) using more
> complex applications until it becomes a reliable process.
>
> Gabriel
>
>
>
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html
>

Reply | Threaded
Open this post in threaded view
|

Re: Deploying using the latest minimal image of Pharo (6.1)

Ben Coman
In reply to this post by despotadesdibujau


On 24 November 2017 at 05:13, despotadesdibujau <[hidden email]> wrote:
>Hi Gabriel

>This is cool.
>Thanks for sharing it with us.
>I really want an object responsible for deploying an app. :)
>Your effort is nice in that directory. Keep pushing

>Stef
Thanks!!!

Maxi Tabacman suggests me to reify the deployment process.
I thought of something like to get up a minimal image from inside the
development image, then to start the deployment process from the development
image.
I suppose that I would need to use Espell Object Spaces (Guillermo Polito),
but in this case, I would need a special virtual machine (Oz Virtual
Machine)... Something like Tornado, but not using the "Run Fail Grow"
approach, but using a BaselineOf or ConfigurationOf approach.

 
Another idea (simpler than the idea above) is to communicate the two images
using Teapot or Sockets: The Development image sends orders to the minimal
image until it becomes on the deployment image.

This sounds like a good initiative, but Teapot seems a bit too specific and Sockets seems a bit too low level.
Consider building on top of TelePharo,  or being its sibling by building on top of Seamless.
These seem better suited to being part of every image than Teapot.

Others might comment on which is the best level abstraction to use.

cheers -ben


For the moment I need to test the process (on Pharo 6 and 7) using more
complex applications until it becomes a reliable process.

Reply | Threaded
Open this post in threaded view
|

Re: Deploying using the latest minimal image of Pharo (6.1)

Stephane Ducasse-3
My idea was even to create objects that generate even bash scripts and
all the rest
but have objects that we can control and probably to be loaded in another image.
I just hate all the undebuggable scripts.


On Fri, Nov 24, 2017 at 3:16 AM, Ben Coman <[hidden email]> wrote:

>
>
> On 24 November 2017 at 05:13, despotadesdibujau
> <[hidden email]> wrote:
>>
>> >Hi Gabriel
>>
>> >This is cool.
>> >Thanks for sharing it with us.
>> >I really want an object responsible for deploying an app. :)
>> >Your effort is nice in that directory. Keep pushing
>>
>> >Stef
>> Thanks!!!
>>
>> Maxi Tabacman suggests me to reify the deployment process.
>> I thought of something like to get up a minimal image from inside the
>> development image, then to start the deployment process from the
>> development
>> image.
>> I suppose that I would need to use Espell Object Spaces (Guillermo
>> Polito),
>> but in this case, I would need a special virtual machine (Oz Virtual
>> Machine)... Something like Tornado, but not using the "Run Fail Grow"
>> approach, but using a BaselineOf or ConfigurationOf approach.
>
>
>
>>
>> Another idea (simpler than the idea above) is to communicate the two
>> images
>> using Teapot or Sockets: The Development image sends orders to the minimal
>> image until it becomes on the deployment image.
>
>
> This sounds like a good initiative, but Teapot seems a bit too specific and
> Sockets seems a bit too low level.
> Consider building on top of TelePharo,  or being its sibling by building on
> top of Seamless.
> These seem better suited to being part of every image than Teapot.
> *
> http://forum.world.st/Ann-PharmIDE-is-renamed-to-TelePharo-and-moved-to-github-td4963638.htm
> *
> https://dionisiydk.blogspot.com.au/2017/01/pharmide-pharo-remote-ide-to-develop.html
> * http://forum.world.st/Ann-Major-Seamless-update-td4907335.html
>
> Others might comment on which is the best level abstraction to use.
>
> cheers -ben
>
>
>> For the moment I need to test the process (on Pharo 6 and 7) using more
>> complex applications until it becomes a reliable process.
>>
>> Gabriel
>>
>>
>>
>> --
>> Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html
>>
>