Hudson/Jenkins Support anybody ?

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

Hudson/Jenkins Support anybody ?

Marten Feldtmann-2
The subject says it all. Has there any work done to give support for Jenkins/Hudson integration of VASmalltalk ?

In our company we consider to introduce Hudson/Jenkins for our development  ....

And I see, that the Pharo/Squeak is again a step in front of all vendors ...

Marten

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Hudson/Jenkins Support anybody ?

Jan van de Sandt
Hello Marten,

We use Jenkins to package and test all our VA Smalltalk applications. There is actually not much code involved. Just create a Smalltalk script that:
- loads the code,
- runs the tests 
- create some Envy QA reports
- and packages the app

In our setup we have different builds. A QA build that runs a large set of tests and creates the Envy QA reports. And a normal build that runs a smaller set of tests and creates a deployed image.

Lukas Renggli [1] developed some code to export the SUnit results in a JUnit compatible xml file and the SmallLint results in a checkstyle compatible xml file. We have imported this code to VA Smalltalk and adapted it a little. With the xml files Jenkins generates nice looking graphs of your test results and SmallLint findings.

It should also be possible to save the Envy QA code coverage report in some standard xml format but we haven't done this yet. Now Envy QA just creates a text file with coverage percentage per application and other details.

Jan.





On Fri, Feb 8, 2013 at 10:35 PM, Marten Feldtmann <[hidden email]> wrote:
The subject says it all. Has there any work done to give support for Jenkins/Hudson integration of VASmalltalk ?

In our company we consider to introduce Hudson/Jenkins for our development  ....

And I see, that the Pharo/Squeak is again a step in front of all vendors ...

Marten

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Hudson/Jenkins Support anybody ?

Thomas Koschate-2
In reply to this post by Marten Feldtmann-2
On Friday, February 8, 2013 4:35:59 PM UTC-5, Marten Feldtmann wrote:
The subject says it all. Has there any work done to give support for Jenkins/Hudson integration of VASmalltalk ?

In our company we consider to introduce Hudson/Jenkins for our development  .... 

Marten, I think the work I documented on my blog (http://omasko.wordpress.com) is probably as good a starting point as any.  We still crank out a large number of packaged and development images on a regular basis, on Windows and AIX, in both 8.0.2 and 8.5.2.  We don't run any tests on the code, for a number of reasons, but the frameworks certainly support it.

We use Jenkins to monitor for build submissions that trigger build activities, but we also use it to scan for and email walkback logs from the production floor to the development team.  We've even developed a workflow around build submission forms that trigger code reviews and rework prior to builds.

Tom

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Hudson/Jenkins Support anybody ?

jtuchel
In reply to this post by Marten Feldtmann-2
HI Marten,

Jan and Tim have mentioned a few important points already. I've used Hudson for several customer projects now, all of them building fat clients.

There's not really much to integration VAST with Jenkins/Hudson: you need a batch file that hudson calls and that returns a return code (VAST returns a strange one by default) and some code in the image that will autostart. So command line parameters are key here.

My implementation is an evolutionary step on top of what I've shown at the VA Smalltalk Forum Europe 2010, you can see it in action (without Hudson, just the smalltalk-image part) here: http://www.objektfabrik.de/Downloads/VASTForum2010/VFM10-04-GetBackToShapre-Tuchel.mp4

I chose a model of tasks that can be chained to build complex jobs like loading code into a clean image, running tests before building, copying deliverables to somewhere, run quality checks etc.

As Jan mentions, one of the shortcomings of SUnit is that it doesn't create jUnit compatible xml output. In fact, it even doesn't store error messages by default, so there are two (maybe more) possible approaches to this. The first one was taken by Lukas Renggli and I guess is used on Squeak's and Pharo'S CI server integrtion. He wrote a new SUNit test runner that keeps track of errors (Jan already links to the info). I chose another one: I store the error messages in each individual test instance and harvest messages afterwards. I feel that is more suited for the job, but this may just be a question of taste. I've blogged about this approach (http://joachimtuchel.wordpress.com/2011/11/30/little-addition-to-sunit-keep-a-failure-text-with-errors-and-failures/) and uploaded it to VASTGoodies (http://joachimtuchel.wordpress.com/2011/12/03/sunit-extension-uploaded-to-vastgoodies-com/). This goodie is, however, not yet ported to VAST 8.5.2 which adds the concept of expected failures to sUnit (I think it is a strange concept, but that is another topic). But that shouldn't be too hard.

You can use Jenkins/Hudson to harvest any kind of output form a process and present it in its web gui, like a packaged image, the .es files, any reports you may be producing during a run etc, so that these are versioned and associated with individual builds.

Now let's come to a very important drawback of my tool, and I'd be very interested in pointers to more info here (or cooperation in finding out): This whole stuff does not work for XD packaging, because I haven't found out how to load code into a passive image without using the Config Map browser. This is, however, a very important piece in the mosaic for automatic builds of Seaside or any other kind of headless application servers in VAST. I know Tom figured all that stuff out and has an imnplementation for it, but I didn't find the time to look into it - all projects I used this for are building fat clients, so we didn't need it so far.

HTH,

Joachim




Am Freitag, 8. Februar 2013 22:35:59 UTC+1 schrieb Marten Feldtmann:
The subject says it all. Has there any work done to give support for Jenkins/Hudson integration of VASmalltalk ?

In our company we consider to introduce Hudson/Jenkins for our development  ....

And I see, that the Pharo/Squeak is again a step in front of all vendors ...

Marten

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Hudson/Jenkins Support anybody ?

Jan van de Sandt
Hi Joachim,

On Sun, Feb 10, 2013 at 11:16 AM, [hidden email] <[hidden email]> wrote:
HI Marten,


Now let's come to a very important drawback of my tool, and I'd be very interested in pointers to more info here (or cooperation in finding out): This whole stuff does not work for XD packaging, because I haven't found out how to load code into a passive image without using the Config Map browser. This is, however, a very important piece in the mosaic for automatic builds of Seaside or any other kind of headless application servers in VAST. I know Tom figured all that stuff out and has an imnplementation for it, but I didn't find the time to look into it - all projects I used this for are building fat clients, so we didn't need it so far.


We have found a way to create headless images without using XD packaging. It's probably not the official way but in our setup it works very well. Our headless images mostly process MQ messages and some images run an HTTP server to handle SOAP requests.

You can create a packaged image without any view related Applications. To make this image run correctly we had to replace the implementation of the #abtWait and #abtSignal methods of the class Semaphore with the implementation of the standard #wait and #signal methods. We use a packing rule to do this.

Jan.

 
HTH,

Joachim




Am Freitag, 8. Februar 2013 22:35:59 UTC+1 schrieb Marten Feldtmann:
The subject says it all. Has there any work done to give support for Jenkins/Hudson integration of VASmalltalk ?

In our company we consider to introduce Hudson/Jenkins for our development  ....

And I see, that the Pharo/Squeak is again a step in front of all vendors ...

Marten

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Hudson/Jenkins Support anybody ?

Marten Feldtmann-2
In reply to this post by Marten Feldtmann-2
To summarize: various persons have done it, but nothing official or source code available. Ok, then I also start again doing it ...

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Hudson/Jenkins Support anybody ?

Thomas Koschate-2
On Monday, February 11, 2013 4:58:47 AM UTC-5, Marten Feldtmann wrote:
To summarize: various persons have done it, but nothing official or source code available. Ok, then I also start again doing it ...

It's true that there's nothing official available.  However, all my source code is available over at http://vastgoodies.com and it's quite generic.

Tom 

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Hudson/Jenkins Support anybody ?

Thomas Koschate-2
In reply to this post by Jan van de Sandt
On Monday, February 11, 2013 4:49:38 AM UTC-5, Jan van de Sandt wrote:
 
We have found a way to create headless images without using XD packaging. It's probably not the official way but in our setup it works very well. Our headless images mostly process MQ messages and some images run an HTTP server to handle SOAP requests.

Jan, one of the big features of XD images is  that one can package the image and examine stack dumps in an environment other than the one in which the package was created.  For instance, I believe Julian is packaging for Linux on Windows.  

It sounds like your approach is basically to create a normal image but without a UI, but you're restricted to doing it on the target environment.  There's certainly pros and cons to this approach, but I'd like to hear more.

Tom

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Hudson/Jenkins Support anybody ?

Marten Feldtmann-2
I think its time to make a new podcast about this subject ??



On 11.02.2013 13:56, Thomas Koschate wrote:
On Monday, February 11, 2013 4:49:38 AM UTC-5, Jan van de Sandt wrote:
 
We have found a way to create headless images without using XD packaging. It's probably not the official way but in our setup it works very well. Our headless images mostly process MQ messages and some images run an HTTP server to handle SOAP requests.

Jan, one of the big features of XD images is  that one can package the image and examine stack dumps in an environment other than the one in which the package was created.  For instance, I believe Julian is packaging for Linux on Windows.  

It sounds like your approach is basically to create a normal image but without a UI, but you're restricted to doing it on the target environment.  There's certainly pros and cons to this approach, but I'd like to hear more.



--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Hudson/Jenkins Support anybody ?

jtuchel
In reply to this post by Jan van de Sandt
Jan,

that sounds interesting. 
XD packaging is not a nice process and it would be nice if it can be avoided. I use XD packaging just for the headless aspect, but do package on Linux. We need to do some testing on Linux anyways, so packaging on that platform is not really an issue. But as long as I haven't implemented auto-loading of code into a passive image, I cannot use my automation code to do headless packaging. So you approach sounds extremely appealing...

Joachim



Am Montag, 11. Februar 2013 10:49:38 UTC+1 schrieb Jan van de Sandt:
Hi Joachim,

On Sun, Feb 10, 2013 at 11:16 AM, <a href="javascript:" target="_blank" gdf-obfuscated-mailto="HQw7gV6mq3AJ">jtu...@... <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="HQw7gV6mq3AJ">jtu...@...> wrote:
HI Marten,


Now let's come to a very important drawback of my tool, and I'd be very interested in pointers to more info here (or cooperation in finding out): This whole stuff does not work for XD packaging, because I haven't found out how to load code into a passive image without using the Config Map browser. This is, however, a very important piece in the mosaic for automatic builds of Seaside or any other kind of headless application servers in VAST. I know Tom figured all that stuff out and has an imnplementation for it, but I didn't find the time to look into it - all projects I used this for are building fat clients, so we didn't need it so far.


We have found a way to create headless images without using XD packaging. It's probably not the official way but in our setup it works very well. Our headless images mostly process MQ messages and some images run an HTTP server to handle SOAP requests.

You can create a packaged image without any view related Applications. To make this image run correctly we had to replace the implementation of the #abtWait and #abtSignal methods of the class Semaphore with the implementation of the standard #wait and #signal methods. We use a packing rule to do this.

Jan.

 
HTH,

Joachim




Am Freitag, 8. Februar 2013 22:35:59 UTC+1 schrieb Marten Feldtmann:
The subject says it all. Has there any work done to give support for Jenkins/Hudson integration of VASmalltalk ?

In our company we consider to introduce Hudson/Jenkins for our development  ....

And I see, that the Pharo/Squeak is again a step in front of all vendors ...

Marten

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="HQw7gV6mq3AJ">va-smalltalk...@googlegroups.com.
To post to this group, send email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="HQw7gV6mq3AJ">va-sma...@....
Visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Hudson/Jenkins Support anybody ?

Jan van de Sandt
In reply to this post by Thomas Koschate-2
Hi Tom,

Yes, using XD images is more flexible and probably better. But at the time we set this up we didn't know this. Using some low-level debugging techniques we figured out that the two methods in the Semaphore class were causing our headless images to crash. After we replaced these methods with the standard implementation that doesn't reference the UIProcess everything worked.

We develop on Windows and our headless images run on Windows Server as "Services". We now have a simple setup that works. And if it ain't broke don't try to fix it!

Jan.

On Mon, Feb 11, 2013 at 1:56 PM, Thomas Koschate <[hidden email]> wrote:
On Monday, February 11, 2013 4:49:38 AM UTC-5, Jan van de Sandt wrote:
 
We have found a way to create headless images without using XD packaging. It's probably not the official way but in our setup it works very well. Our headless images mostly process MQ messages and some images run an HTTP server to handle SOAP requests.

Jan, one of the big features of XD images is  that one can package the image and examine stack dumps in an environment other than the one in which the package was created.  For instance, I believe Julian is packaging for Linux on Windows.  

It sounds like your approach is basically to create a normal image but without a UI, but you're restricted to doing it on the target environment.  There's certainly pros and cons to this approach, but I'd like to hear more.

Tom

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.