Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Extra libraries, Code snippets, applications etc. » Applications created with U++ » Watchdog - continuous integration webapp
Watchdog - continuous integration webapp [message #37167] Sun, 02 September 2012 19:38 Go to next message
dolik.rce is currently offline  dolik.rce
Messages: 1789
Registered: August 2008
Location: Czech Republic
Ultimate Contributor

Hi everyone!

Since the beginning of Skylark development I was wondering what I could write with, so I could learn about how it works. After a long time of thinking about what I could create and after some short time of coding (about 14 evenings Smile ), I finally created "Watchdog".

What it is? My take on "continuous integration" (is it considered buzzword? Smile ) website. Actually it is just a simple web server doing mainly two things:

a) It communicates with clients via simple HTTP API.
b) It shows information it gathers from clients on a website.

The server keeps track of commits in svn and assigns work to the clients. The clients are trying to build U++ code and return the results to the server. The website shows the results to anyone who wants to see what is the state of the builds. So if you commit something and after a while you see a bunch of red failures by your commit, it means you broke something somewhere Smile

The code is attached for both Server and generic Client package. It is still little rough around edges, but overall it works. Especially the website part would use some help from a webdesigner, it looks like from 1990s Very Happy

And finally, I have a running instance for you to try: http://watchdog.vserver.cz

The virtual server it runs at is very weak (512MB RAM, 800MHz CPU), so be patient if something works slow Smile But considering the hardware, IMHO it performs quite good. For now I only run one client, building theide, umk and few example apps. If you want to donate some of your machine time for the sake of tracking how good the U++ code is, just contact me. You can create a client for pretty much anything (checking how your app works with new versions of U++, other platforms etc.).

I'm looking forward to your comments Wink

Best regards,
Honza

Edit: Removed the file, updated sources are now in svn.

[Updated on: Mon, 03 September 2012 22:02]

Report message to a moderator

Re: Watchdog - continuous integration webapp [message #37169 is a reply to message #37167] Mon, 03 September 2012 09:41 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Cool. First real Skylark app Smile

Could we move it at least to sandbox?

Are there any deployment experiences to share? (I think that some deployment cookbook would be invaluable).

Small note: I think Web.cpp should rather be Web.icpp, just in case it becomes a non-main package...

Mirek
Re: Watchdog - continuous integration webapp [message #37170 is a reply to message #37169] Mon, 03 September 2012 11:03 Go to previous messageGo to next message
dolik.rce is currently offline  dolik.rce
Messages: 1789
Registered: August 2008
Location: Czech Republic
Ultimate Contributor

mirek wrote on Mon, 03 September 2012 09:41

Cool. First real Skylark app Smile

Could we move it at least to sandbox?

Sure, putting it to sandbox will make things easier even for me. I wrote it so quick I didn't even have time to set up any version control Very Happy

mirek wrote on Mon, 03 September 2012 09:41

Are there any deployment experiences to share? (I think that some deployment cookbook would be invaluable).

Deployment is work in progress, I think that I will create some scripts to do it easily. For now I just copied the static files and binary to the directory in server's /root and launched it Smile The best way would be to create .deb package in my case (I run it on debian). I tried to run it with nginx as proxy (it's really simple), but for now it runs bare. I guess I can try to write some notes about all that...

mirek wrote on Mon, 03 September 2012 09:41

Small note: I think Web.cpp should rather be Web.icpp, just in case it becomes a non-main package...

It is not very probable that it will be used as non-main, but I think it might make trouble when compiled with the universal Makefile that I use sometimes (even as main), so I will change it. The same holds for Api.cpp, right? Or generally for any file with SKYLARK handlers that are never called directly from other compilation units...

Honza
Re: Watchdog - continuous integration webapp [message #37180 is a reply to message #37167] Mon, 03 September 2012 22:04 Go to previous messageGo to next message
dolik.rce is currently offline  dolik.rce
Messages: 1789
Registered: August 2008
Location: Czech Republic
Ultimate Contributor

Watchdog is now in Sandbox.

Honza
Re: Watchdog - continuous integration webapp [message #37200 is a reply to message #37167] Wed, 05 September 2012 09:08 Go to previous messageGo to next message
dolik.rce is currently offline  dolik.rce
Messages: 1789
Registered: August 2008
Location: Czech Republic
Ultimate Contributor

I added second client, this time realized as simple python script checking the results of nightly launchpad builds and reporting their state to the watchdog server. So if something goes ad with packaging or something I will know it soon Smile

I will publish the script as well, so you can get the idea how it works. Probably tonight, if time permits.

Honza
Re: Watchdog - continuous integration webapp [message #37315 is a reply to message #37200] Thu, 20 September 2012 09:03 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Well, I have to say that I have added link to watchdog to my bookmarks. Quite useful Smile

One thing I would change would be to replace Client (which I have not used yet) with some web interface...

But by all means, if you can, keep it running.

Mirek

[Updated on: Thu, 20 September 2012 09:03]

Report message to a moderator

Re: Watchdog - continuous integration webapp [message #37316 is a reply to message #37315] Thu, 20 September 2012 10:53 Go to previous messageGo to next message
dolik.rce is currently offline  dolik.rce
Messages: 1789
Registered: August 2008
Location: Czech Republic
Ultimate Contributor

mirek wrote on Thu, 20 September 2012 09:03

Well, I have to say that I have added link to watchdog to my bookmarks. Quite useful Smile

One thing I would change would be to replace Client (which I have not used yet) with some web interface...

But by all means, if you can, keep it running.

Mirek

Glad to hear you find it useful Smile I'll definitely try to polish it bit more and get rid of the bugs it still has. Also the currently existing clients need some work before the whole things becomes reliable.

If enough people thinks it is useful, maybe we could move it to some more reliable server (perhaps even ultimatepp.org?). Currently it runs on a FREE virtual server and the quality is corresponding to the price Smile But at least we've tested that it is possible to run Skylark apps even on the worst machines available in the market Very Happy For curious: 800 Mhz CPU, 512MB RAM, Debian 6.0 x86_64, 50MBits bandwidth, total cost 1€ for registration Smile

The "Client" is nothing else than a simple tool to communicate with the server via http requests (mostly POST) on /api/*. Anyone is free to develop another client or use the api directly Wink

Honza
Re: Watchdog - continuous integration webapp [message #37400 is a reply to message #37169] Sun, 30 September 2012 12:21 Go to previous messageGo to next message
dolik.rce is currently offline  dolik.rce
Messages: 1789
Registered: August 2008
Location: Czech Republic
Ultimate Contributor

mirek wrote on Mon, 03 September 2012 09:41

Are there any deployment experiences to share? (I think that some deployment cookbook would be invaluable).

Finally committed the cookbook, revision 5395. It would be great if any Nginx/Apache gurus could check it for accuracy Wink

Honza
Re: Watchdog - continuous integration webapp [message #37846 is a reply to message #37167] Sun, 18 November 2012 02:20 Go to previous messageGo to next message
lectus is currently offline  lectus
Messages: 329
Registered: September 2006
Location: Brazil
Senior Member
It's nice to have some U++/Skylark app working.

I'm very excited about Skylark. It opened so many possibilities. I'm trying to get ideas for my next hobby project with Skylark.

[Updated on: Sun, 18 November 2012 02:29]

Report message to a moderator

Re: Watchdog - continuous integration webapp [message #37848 is a reply to message #37167] Sun, 18 November 2012 10:27 Go to previous messageGo to next message
nlneilson is currently offline  nlneilson
Messages: 644
Registered: January 2010
Location: U.S. California. Mojave &...
Contributor
Very good job!

It was interesting to go back through the changes like:
5421 removed Web
5478 Web back

I have saved a link to that also.
Re: Watchdog - continuous integration webapp [message #37850 is a reply to message #37167] Sun, 18 November 2012 11:54 Go to previous messageGo to next message
dolik.rce is currently offline  dolik.rce
Messages: 1789
Registered: August 2008
Location: Czech Republic
Ultimate Contributor

Thanks guys Smile

Note that Watchdog is still in alpha-testing stage. What now runs on the public web is a version where some of the features don't work, debugging is turned on and things often break Wink I hope I'll be able bring it to better shape soon...

Honza
Re: Watchdog - continuous integration webapp [message #37853 is a reply to message #37400] Sun, 18 November 2012 13:02 Go to previous messageGo to next message
chickenk is currently offline  chickenk
Messages: 169
Registered: May 2007
Location: Grenoble, France
Experienced Member
dolik.rce wrote on Sun, 30 September 2012 12:21

mirek wrote on Mon, 03 September 2012 09:41

Are there any deployment experiences to share? (I think that some deployment cookbook would be invaluable).

Finally committed the cookbook, revision 5395. It would be great if any Nginx/Apache gurus could check it for accuracy Wink

Honza



I've not tried yet, but since ZeroMQ wrappers are already available in bazaar, it would be trivial to deploy Skylark apps as mongrel2 handlers. I suppose I am talking about something not very well known here, so have a look here: http://mongrel2.org and details on ZeroMQ requests/responses format here: http://mongrel2.org/manual/book-finalch6.html#x8-710005.3

This is a very interesting language-agnostic approach to web apps, and performances are extremely good.

I'll probably try to have an example working when I have some time to show you this.

Lionel
Re: Watchdog - continuous integration webapp [message #37939 is a reply to message #37167] Sat, 24 November 2012 11:41 Go to previous messageGo to next message
dolik.rce is currently offline  dolik.rce
Messages: 1789
Registered: August 2008
Location: Czech Republic
Ultimate Contributor

Hi everyone,

Newest version of Watchdog landed on the server just few minutes ago. I am really excited about this one, because one of the IMHO most important features finally works: It is now possible to subscribe to particular builds so you can receive an email when something important happens in U++.

I hope that at least the developers will subscribe to at least failures on their own commits Wink I believe it could greatly improve U++ quality by spotting some simple errors quickly (few minutes after committing) and making their authors aware of them before the problematic code is packaged in nightly builds and released to public. So if you commit to core U++, please consider subscribing. The filter should be configurable enough to allow you to pick only relevant mail and no spam Wink

Also, all this is available through RSS feed as well (but that was already working before), so you have a freedom of choice Wink

Best regards,
Honza
Re: Watchdog - continuous integration webapp [message #38406 is a reply to message #37167] Fri, 14 December 2012 11:07 Go to previous messageGo to next message
dolik.rce is currently offline  dolik.rce
Messages: 1789
Registered: August 2008
Location: Czech Republic
Ultimate Contributor

Hi friends,

I'm sorry to announce that the Watchdog app is down. The VPS provider suddenly decided to change the rules and block all the free servers, including mine. They didn't even warn the users that this will happen, so I had no chance to backup the database and when I restore Watchdog somewhere else, it'll have to start from scratch.

I'll try to come up with some other solution, but meanwhile watchdog will be unavailable.

Best regards,
Honza
Re: Watchdog - continuous integration webapp [message #38407 is a reply to message #38406] Fri, 14 December 2012 11:18 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
We can run it on www.ultimatepp.org..
Watchdog - continuous integration webapp - graduates from sandbox [message #39962 is a reply to message #37167] Fri, 17 May 2013 21:23 Go to previous message
dolik.rce is currently offline  dolik.rce
Messages: 1789
Registered: August 2008
Location: Czech Republic
Ultimate Contributor

Hi everyone Smile

About two weeks ago, I came to conclusion that the Watchdog is getting mature enough to leave sandbox. So I decided to move it over to github and continue working on it there. Also, as of today, I removed the package from U++ svn repository, to avoid confusion in future.

If anyone is interested, you can now follow the watchdog at https://github.com/dolik-rce/thewatchdog. My team at work started using it, so it gets more attention and the development is noticeably faster. I hope I will soon share with you some interesting points about maintaining such a project apart from U++ (like using make instead of theide, packaging etc.).

Also, with the project maturing, I hope it will become easy enough to install and maintain so that Mirek can put in on ultimatepp.org without too much care-taking Smile

Best regards,
Honza
Previous Topic: Movie Manager program
Next Topic: DiscountKiosk
Goto Forum:
  


Current Time: Thu Mar 28 20:52:28 CET 2024

Total time taken to generate the page: 0.01710 seconds