Hudson integration for gemstone

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

Hudson integration for gemstone

NorbertHartl
Is there anyone that integrated gemstone with hudson? I've build up my own hudson infrastructure. For pharo testing I'm using the scripts Lukas Renggli did [1]. I like to have the same for gemstone.

I think this should be fairly ease. It needs just an automatic configuration/copying of a stone inside a hudson workspace. The stone is started, code is loaded and tests are run. After that the stone is stopped and the extent will be removed as soon as hudson deletes the workspace dir.

I just wanted to ask if anyone is working on this and could save me some time doing it from scratch.

thanks,

Norbert

[1] https://github.com/renggli/builder
Reply | Threaded
Open this post in threaded view
|

Re: Hudson integration for gemstone

otto
Hi,

We are doing this with Squeak and GemStone. We run our tests on it as
well. We basically use https://github.com/ottobehrens/gemstone-scripts
to drive the build. We subclassed from glass_stone and put some build
specific scripts in there. I'll have to have a look at my office on
Monday to send you some specifics, if you're interested.

Cheers
Otto

On Sat, Feb 5, 2011 at 2:30 PM, Norbert Hartl <[hidden email]> wrote:

> Is there anyone that integrated gemstone with hudson? I've build up my own hudson infrastructure. For pharo testing I'm using the scripts Lukas Renggli did [1]. I like to have the same for gemstone.
>
> I think this should be fairly ease. It needs just an automatic configuration/copying of a stone inside a hudson workspace. The stone is started, code is loaded and tests are run. After that the stone is stopped and the extent will be removed as soon as hudson deletes the workspace dir.
>
> I just wanted to ask if anyone is working on this and could save me some time doing it from scratch.
>
> thanks,
>
> Norbert
>
> [1] https://github.com/renggli/builder
Reply | Threaded
Open this post in threaded view
|

Re: Hudson integration for gemstone

Monty Williams-3
Hi Norbert,

I'm copying the MagLev list because we also use Otto's scripts to manage
multiple stones in MagLev.  They're in rakelib/contrib/ottobehrens -- but
they're quite a bit out of date with Otto's. It would be great if any Hudson
work applied equally to standard GemStone/S, Seaside, and MagLev.

The tests in rakelib/contrib/ottobehrens/tests already do much of what you
suggest, i.e. start a test stone, run some tests, stop the stone, and remove
the extent. Recent MagLev changes have broken some tests.

When 3.0 is released there will be no difference in the GemStone code
between GemStone/S and MagLev. MagLev simply runs on top of GemStone.
So we should be able to get some synergy in any infrastructure such
as installation, configuration, administration, etc.

What are the differences between standard GemStone and the MagLev version
of GemStone today?

1) The MagLev version has more frequent updates. The latest has some Seaside
related fixes for MagLev.

  $cat MagLev-25186.Darwin-i386/gemstone/version.txt
  GemStone/S 64 Bit
  3.0.0Beta3 Build: 64bit-25186
  Fri Feb  4 16:09:21 2011

  $ cat GemStone64Bit3.0.0Beta3-i386.Darwin/version.txt
  GemStone/S 64 Bit
  3.0.0Beta3 Build: 64bit-25161
  Wed Feb  2 16:22:00 2011

2) The MagLev version is only provided for Linux, Mac and Solaris-x86.
To see MagLev installation instructions scroll down on:
  https://github.com/MagLev/maglev

3) The MagLev version normally runs out of a user directory not /opt/gemstone

4) The default stone name for MagLev is "maglev".

5) The configuration file for MagLev has different values than the one
supplied with GemStone/S or GLASS. See $MAGLEV_HOME/etc/system.conf or
$MAGLEV_HOME/etc/conf.d/maglev.conf for what Otto's scripts generate.

6) The MagLev installer sets up a netldi port of 50378 rather than 50377.
  gs64ldi         50378/tcp        # Gemstone netldi
The idea was to not conflict with a standard GemStone 2.x running at
the same time, but they both use the name "gs64ldi". Since the name is
the same, MagLev works just fine with the netldi on either port.

7) 'maglev start' (which is used to start a MagLev stone) has logic similar
to the environment variable setup in defSeaside script. You can see this
my looking the GemStone environment variable that are exported.  
  grep 'export GEMSTONE' $MAGLEV_HOME/bin/maglev

8) Finally, to state the obvious, the maglev stone supports Ruby in addition
to Smalltalk

-- Monty

----- Original Message -----
From: "Otto Behrens" <[hidden email]>
To: "GemStone Seaside beta discussion" <[hidden email]>
Sent: Saturday, February 5, 2011 6:10:36 AM
Subject: Re: [GS/SS Beta] Hudson integration for gemstone

Hi,

We are doing this with Squeak and GemStone. We run our tests on it as
well. We basically use https://github.com/ottobehrens/gemstone-scripts
to drive the build. We subclassed from glass_stone and put some build
specific scripts in there. I'll have to have a look at my office on
Monday to send you some specifics, if you're interested.

Cheers
Otto

On Sat, Feb 5, 2011 at 2:30 PM, Norbert Hartl <[hidden email]> wrote:

> Is there anyone that integrated gemstone with hudson? I've build up my own hudson infrastructure. For pharo testing I'm using the scripts Lukas Renggli did [1]. I like to have the same for gemstone.
>
> I think this should be fairly ease. It needs just an automatic configuration/copying of a stone inside a hudson workspace. The stone is started, code is loaded and tests are run. After that the stone is stopped and the extent will be removed as soon as hudson deletes the workspace dir.
>
> I just wanted to ask if anyone is working on this and could save me some time doing it from scratch.
>
> thanks,
>
> Norbert
>
> [1] https://github.com/renggli/builder
Reply | Threaded
Open this post in threaded view
|

Re: Hudson integration for gemstone

NorbertHartl
Monty,

On 05.02.2011, at 18:35, Monty Williams wrote:

Hi Norbert,

I'm copying the MagLev list because we also use Otto's scripts to manage
multiple stones in MagLev.  They're in rakelib/contrib/ottobehrens -- but
they're quite a bit out of date with Otto's. It would be great if any Hudson
work applied equally to standard GemStone/S, Seaside, and MagLev.

thanks for the very useful info about MagLev. I had a look at Otto's scripts but they don't suit my needs at the moment. The last 10 years I missed every opportunity to learn ruby. And I won't learn it just to able to handle gemstone control scripts. From a MagLev point of view this might make a lot of sense. In my case it does not (sadly). Having MagLev at hand I might try it some day to learn ruby but until then I like to shy away from things that slow me down.

My requirements are also very different to the ones in the scripts. I want to have the stone installation as a self contained "application" that includes configuration, extent, images, css, etc. This will enable me to quickly move one application from one server to another. 

I stopped using daemontools and lighttpd as well. Now I'm using cherokee which is easy to use, can be configured from a web interface, it starts my gems and does load balancing among them.

To make a long story short. Over the weekend I did most of what I need in bash. I integrated it in hudson and creating, remote controlling of stones and copying of extents works. My biggest problem is that after some time a cannot start stones and I have to reboot the OS instance. But this is not a big deal.

thanks,

Norbert


----- Original Message -----
From: "Otto Behrens" <[hidden email]>
To: "GemStone Seaside beta discussion" <[hidden email]>
Sent: Saturday, February 5, 2011 6:10:36 AM
Subject: Re: [GS/SS Beta] Hudson integration for gemstone

Hi,

We are doing this with Squeak and GemStone. We run our tests on it as
well. We basically use https://github.com/ottobehrens/gemstone-scripts
to drive the build. We subclassed from glass_stone and put some build
specific scripts in there. I'll have to have a look at my office on
Monday to send you some specifics, if you're interested.

Cheers
Otto

On Sat, Feb 5, 2011 at 2:30 PM, Norbert Hartl <[hidden email]> wrote:
Is there anyone that integrated gemstone with hudson? I've build up my own hudson infrastructure. For pharo testing I'm using the scripts Lukas Renggli did [1]. I like to have the same for gemstone.

I think this should be fairly ease. It needs just an automatic configuration/copying of a stone inside a hudson workspace. The stone is started, code is loaded and tests are run. After that the stone is stopped and the extent will be removed as soon as hudson deletes the workspace dir.

I just wanted to ask if anyone is working on this and could save me some time doing it from scratch.

thanks,

Norbert

[1] https://github.com/renggli/builder