|
|
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  |
|
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 ), I finally created "Watchdog".
What it is? My take on "continuous integration" (is it considered buzzword? ) 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 
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 
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 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 
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 #37170 is a reply to message #37169] |
Mon, 03 September 2012 11:03   |
|
mirek wrote on Mon, 03 September 2012 09:41 | Cool. First real Skylark app 
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 
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 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 #37200 is a reply to message #37167] |
Wed, 05 September 2012 09:08   |
|
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 
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 #37316 is a reply to message #37315] |
Thu, 20 September 2012 10:53   |
|
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 
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 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 But at least we've tested that it is possible to run Skylark apps even on the worst machines available in the market For curious: 800 Mhz CPU, 512MB RAM, Debian 6.0 x86_64, 50MBits bandwidth, total cost 1€ for registration 
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 
Honza
|
|
|
Re: Watchdog - continuous integration webapp [message #37400 is a reply to message #37169] |
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 
Honza
|
|
|
|
|
Re: Watchdog - continuous integration webapp [message #37850 is a reply to message #37167] |
Sun, 18 November 2012 11:54   |
|
Thanks guys 
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 I hope I'll be able bring it to better shape soon...
Honza
|
|
|
|
Re: Watchdog - continuous integration webapp [message #37939 is a reply to message #37167] |
Sat, 24 November 2012 11:41   |
|
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 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 
Also, all this is available through RSS feed as well (but that was already working before), so you have a freedom of choice 
Best regards,
Honza
|
|
|
Re: Watchdog - continuous integration webapp [message #38406 is a reply to message #37167] |
Fri, 14 December 2012 11:07   |
|
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
|
|
|
|
Watchdog - continuous integration webapp - graduates from sandbox [message #39962 is a reply to message #37167] |
Fri, 17 May 2013 21:23  |
|
Hi everyone 
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 
Best regards,
Honza
|
|
|
Goto Forum:
Current Time: Wed Apr 30 01:53:11 CEST 2025
Total time taken to generate the page: 0.04902 seconds
|
|
|