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 |
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 |
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 |
Monty,
On 05.02.2011, at 18:35, Monty Williams wrote: 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
|
Free forum by Nabble | Edit this page |