CI Build status output alternatives [closed] - build-process

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
We currently use Cradiator to display the status of our continuous integration (CI) builds from CruseControl.net, on a 42" Samsung television on display high-up in our IT department.
Cradiator is a great starting place, but we're getting to the point whereby we're having lots of projects on there and it's starting to get a bit 'full'.
What I'd like to know is, what do you use to display your build statuses? Custom software? Off the shelf stuff? etc. Alternatively, I'm looking for ideas on how we improve on Cradiator.

I use Hudson, and when I have a chance to dedicate a monitor to it, I'm going to start with this:
http://wiki.hudson-ci.org//download/attachments/37323554/Hudson_1.jpg
http://wiki.hudson-ci.org/display/HUDSON/Radiator+View+Plugin
... after all, if they're green, they don't need to take up much screen space, do they? Imagine if they were all green. People would be just as happy (and just as informed) if it showed a big checkmark and nothing else. So you only really need to highlight the failing ones. Cradiator looks skinnable, and you're already using it, so that's the first thing I would try.

I mentioned several solutions for Hudson in a previous answer:
There are many solutions (all links
below point to working solutions with
Hudson or existing plugins):
Hudson Build Status Lava Lamps
Hudson Ambient Orb
Hudson Do It Yourself Orb
"Red Bear Alert!" - The Hudson Bear Lamps
"Watch the bikes!" - Extreme Feedback with Traffic Lights
Start to smell those code smells
Nabaztag
TuxDroid
Radiator View (ideal for displaying on a screen on the office
wall)
eXtreme Feedback Panel (even better than the Radiator View,
especially for a FullHD flat panel)
Check out the other Build
notifiers plugins for more ideas.
Personally, I have experienced the
bunny, lava lamps, orbs and the
radiator view. They all do the job but
I have a little preference for the
lava lamps. As Jeffrey mentioned in
another answer, it's indeed funny to
race against the wax to fix a build
failure :)
We're currently using the Radiator View that includes now the modifications mentioned in this comment. It's use the space in a very neat way and does a perfect job, even when you have a lots of projects. It's just great.
(source: hudson-ci.org)
Check the link for more screenshots. I miss lava lamps a bit (because they are fun) but the Radiator View provides better feedback IMO.

One idea (and Cradiator does have an issue tracker item for it) is to only showing broken builds.
Another idea, is to monitor multiple configuration sets and switch/fade between them at a set interval.
Our team has 12 projects to monitor, but to get around the clutter we currently have 1 machine with 2 monitors connected. Each monitor has an instance of Cradiator running on it. Doing this and using the RegEx Project Filter feature in Cradiator we show 5 projects on one monitor and a different 7 on the other. This should keep us going until about 15 projects, when the clutter will start to gang up on us again.
Cradiator is open source and the 'skin' concept is relatively isolated, just waiting for you to get your hands dirty in the source code!
In fact, I have just moved the source code for Cradiator to GitHub for a more flexible approach to sharing each other's work. Fork away.

One of the primary goals of radiating build status information into a room is to get developers to respond to broken builds and fix them. Quickly working out who might be responsible for a failing build is important.
What I have experienced first hand at my company is that processing check-in comments and displaying pictures of the users contributing to a build is very effective way of getting developers to react to build failures. People seem to respond to their face on a red bar, and others don't have to be so distracted.
With this in mind, I have developed a standalone build radiator web-app that talks to Jenkins and TeamCity over their REST APIs. CI-Eye is trivial to set up, and will probably give you better results in the workplace than many other plug-ins and radiator apps. Give it a try, and let me know what you think -- I'm quite actively improving it, and welcome any feedback.
CI-Eye is free and open source -- see the CI-Eye wiki for more details.

A good option for continuous integration radiator is Buildron (Mac & Win).
Its supports a lot of builds in same screen, as you can see:
And you can filter builds using a remote control (iOS & Android).

If projects depend on each other somehow or if you can assign some priority (business value?), then I would consider some tree or a map kind of stuff. For 100+ projects it really should be more visible which greens/reds are more important than others. Myself I'm using just the structured web dashboard + systray. Not even email.

Brett, actually Cradiator just added a feature called MultiView to Cradiator - which is one way of fixing your problem of having too many projects showing.
So you can split your projects between separate "views". A view is the combination of URL/Skin & Project Filters.
Each view is shown on a rotation cycle every poll interval (default 30 seconds)
For example, if you have 12 projects, you can set 2 views which show only 6 each.
See the Release Notes for v2.8 for details.
The show only breaking builds feature has been added as well.

Related

Is there a tool that picks up where 280 North's "Atlas" left off?

Occasionally I go back and watch this video. And then I cry a little bit because 280 North got swallowed up by Motorola and to this day no one really knows exactly what became of them.
I know that there was something called "Greenhouse" for SproutCore that purportedly did something similar. But what with SproutCore's lead developer getting hired by Facebook and SproutCore itself turning into Ember.js, I'm not really sure if Greenhouse ever made it out alive.
So -- are there any tools that pick up where Atlas left off?
tl;dr: There are two choices: Dashcode or Cappucino, where the GUI solution seems to be building your UI in Xcode (Interface Builder) and exporting it to Cappucino. This solution seems to be supported by the core Cappucino team. Atlas and Greenhouse are dead.
The rest of this response consists of quotes and links supporting the above conclusion.
I've got the same question and have done some research.
There are three possible frameworks where such a tool could be possible. Dashcode, Greenhouse and Atlas. Atlas is dead, Greenhouse never seemed to be more than just an experiment.
Dashcode is still being maintained. It is a really good tool, and the only platform I've found that allows building Mobile apps as well as Web Apps at the same time, from the same code base. (A lot of the mobile app builders, like titanium, phonegap, etc, seem to focus only on mobile, not building for both the desktop browser and the mobile device.)
Dashcode is being revved every time Apple releases a new version of Xcode. Further, apple is doing continuous work in this area-- for instance, the iAds Producer is really a super- souped up dashcode. Further, iBooks Author is also very much like dashcode. Both of which are specific tools for specific limited target products, but both have javascript frameworks and at least some GUI support.
Producer is really slick, though its focused on making "flash" like ads with javascript.
Dashcode has not been majorly updated for quite awhile, so it might be on the way out, but it is still a viable tool.
The 280 North guys don't seem to work for motorola anymore (boucher at least works for stripe now) and all work on Atlas has stopped.
The "officially recommended" solution seems to be XcodeCapp Which, near as I can tell, is built into Cappuciono now. "Best of all, the new XcodeCapp application automatically creates an Xcode project out of your Cappuccino project and lets you place UI components with ease." (from over a year ago, when they could have mentioned Atlas.)
Here's some references to it, including a recent saying it had been fixed for Xcode 4.4 (which was released this summer, with 4.5 being the current release.)
https://groups.google.com/forum/#!topic/objectivej/mRMiLTP2Yh8
Also, this next link is to a site with some great tutorials, and they assume you're using Xcode:
http://www.cappuccino-project.org/learn/tutorials/advanced-hello-world-2/
Here's an older blog post about the situation:
http://cappuccino.org/discuss/2011/11/16/cappuccino-0-9-5/
Which contains this in the comments:
"Only the people who own the Atlas project can make any statements about it, and unfortunately we're just not those people. We're the Cappuccino core developers and we manage the open source project Cappuccino. Atlas was a commercial product created by a company that doesn't exist anymore.
That said, don't worry about it, really. The Interface Builder integration is awesome and a very complete solution. And beyond that, you can write apps perfectly fine without any GUI editor at all. Or you could even write your own editor in Cappuccino. You've got a huge amount of possibilities and power at your disposal, so go out and build a cool app."
And also:
"The new way of converting xibs to cibs automatically is the shiny new XcodeCapp application which you will find in /usr/local/narwhal/packages/cappuccino/support/XcodeCapp.app. That either struck us as an intuitive and easy to find path, or we didn't have time to make an easier one. ;)"
Also, this summary by Antoine Mercadal :
"Atlas is a closed source software. It was originally built by the 280N guys, and you may or may not know the history, but the point is Atlas is more likely dead. We, the Cappuccino community, cannot do anything about it, unfortunately. Complaining about Atlas here is like complaining on the W3C website about IE: it doesn't make sense.
I personally paid for the Atlas beta, and I develop all my interfaces (about 30 big cibs) with it. I was also very disappointed by the bad health of Atlas. That's the price you have to paid for using proprietary beta software: shit happens.I spent a week rebuilding all my UI under IB. It was a pain and I drank a lot of coffee during this week, but it actually really worth it. The result is just awesome.
The support of Cappuccino by IB (with XcodeCapp) is now way beyond Atlas has never been. And the future is now guaranteed because XcodeCapp is a part of Cappuccino, nib2cib is a part of Cappuccino, both of them are Open Source, and nobody will never be able to "shut them down".
Atlas was a young product, Cappuccino was also a young product and like every community-based projects, all the actors/tools/members need to be "calibrated" and need to experiment several things. I think it's now done, and that's why we're approaching the 1.0.
This release is awesome, there are tons of fixes and new features, that is what we should talk about in this thread :)"
Nib2Cib has existed since before Atlas. It lets you build your UI in interface builder, and has recently become much better. The latest version of Capp includes a tool that automatically runs the converter for you when you save a xib/nib.

Any experience with a Continuous Integration Appliance? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
We have a continuous integration server running Hudson CI. I'm thinking about putting up an LCD display in the office with various build stats and am curious what others have put together.
I'm currently thinking about buying a WIFI-enabled digital picture frame that I can send generated images to. Or repurposing an old laptop...
Thoughts? Experiences?
There are many solutions (all links below point to working solutions with Hudson or existing plugins):
Hudson Build Status Lava Lamps
Hudson Ambient Orb
Hudson Do It Yourself Orb
"Red Bear Alert!" - The Hudson Bear Lamps
"Watch the bikes!" - Extreme Feedback with Traffic Lights
Start to smell those code smells
Nabaztag
TuxDroid
Radiator View (ideal for displaying on a screen on the office wall)
eXtreme Feedback Panel (even better than the Radiator View, especially for a FullHD flat panel)
Check out the other Build notifiers plugins for more ideas.
Personally, I have experienced the bunny, lava lamps, orbs and the radiator view. They all do the job but I have a little preference for the lava lamps. As Jeffrey mentioned in another answer, it's indeed funny to race against the wax to fix a build failure :)
Whatever you do, please also purchase one of these and program it such that it will detect who in your team breaks the build; aim itself at them, and shoot them.
But more seriously, a nice LCD with various displays is nice; but consider that if you use twitter, you may also like to have a twitterbot that tells all your staff the status of the builds (when the break; etc).
Christoph De Baene has a nice wiretup of using Continuous Integration with traffic lights
Take a look at this previous question: What's your Favorite Extreme Feedback Device?
At my company someone build a rails or grails webapp creating such pages. With a frame page a cycle is created using javascript.
A former company i worked for, had a flashing light connected via an usb controlled extension lead to the cruise control server. A broken build turned the light on, fixed turned of - you can use different lights with different colors for multiple builds.
Did you consider using Lava Lamps? There is also project ContinousLava - notification tool for integrations servers (Continuum and Cruise Control) - maybe in future for Hudson.
I came across this nice article "Who broke the build?"
which show how they use a USB Foam Missile Launcher.
The associated open source project to control the device is named Retaliation.
If your environment permits it, you can use a sound system with different sounds to play when someone breaks the build. "D'oh!" from Homer Simpson, Darth Vader, sirens, all of them are just some examples of what you can do.
If you have access to developers machines, you can even create jokes like this sent to their desktops:
...obviously, with other context.
The best way to create these jokes is to use "Motivational Posts" with internal jokes they can understand. Every organization has internal jokes. You can use a motivational generator.
...again, this would be the "funny" approach. If you're into programming all these features, you can do a lot of stuff!

What are some key concepts for effective development teams? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 6 years ago.
Improve this question
Where I work we've recently put together what we call the Development Standards Committee which is tasked with improving our procedures, processes, methodologies, tools, standards, and whatever we think would help us become a more effective team.
We've got a spreadsheet of items that we've ranked and are going to start tackling from the top down. We've got things such as better source control (currently on SourceSafe), implement a bug tracker (such as Mantis of FogBugz), peer code review, move to .Net 3.5, possibly move to some form of Agile, do more actual team development rather than single developer per project type stuff, and some other things...
What do you think are some key things that can make or break a development team? What should we add to this list?
Some additional information: We have about 12 people on our windows team, and about fifty in development if you include all platforms. We want to improve as much as possible for everyone, but we're our biggest focus is the Windows team. All of us have been here for a couple of years at least, so most of us know each other and work together pretty well.
The number of people on your team is actually really important here. There are basic things that every team should implement (source code control, bug tracking, etc), but there are things that are different base don team size. Code reviews on a very small team, for instance, can be more informal.
Moving to Agile is a good idea, unless you're particular development environment makes it a bad idea. Also, you'll not be able to do this without support from the people who are using your software.
Consider doing things to ensure that communication between the team is easier and with less roadblocks - do all your members know each other pretty well? Can you work with each other? Do you understand each other's idiosyncracies? Learning to work as a team is much more important than any random process improvements you can make.
Require comments when you check in code (it's great if you can tie commits back to your bug tracker)
Maybe Static Code analysis, like what's built into Visual Studio
Continuous Integration like CruiseControl
Development teams really need good people to start with, that work well together, but this isn't really an item to add to the list. It does however affect my first recommendation, be pragmatic. If you're not encouraging your developers to think about how they work and can drive them selves to improve, it's really hard to lay down a development environment that will do it for them.
Mentor and Training: If you can't do XP, then at least hook up your Juniors with Seniors whenever you can. Not only will you share knowledge but you'll share the context around your projects you own.
Some sort of Continous Integration and regular, tested, working "releases" make wonders for quality.
as better source control (currently on SourceSafe)
If this is Visual SourceSafe -- you need to change this immediately. Try cvs, svn or even something paid like Perforce.
There exists something called Rational Unified Process that deals with your problem (and much more).

Manage Scrum Software [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
What software do you use to manage Scrum software development ?
We've tried Tackle and VersionOne (both free) so far and they are good except for the fact that it's difficult to track work in progress. For example, if I have a task that I estimate will take me 8 hours to complete, I've done 4 hours of work with 4 hours remaining, the task is always reported as 8 hours remaining until it is marked complete, at which time it falls to zero.
I'd like to use a tool that will allow me to take an accurate work at the teams WIP at the end of each week and see how much impact that work has had towards a deadline along with completed tasks.
Thanks for your input!
I recommend a white board and excel spreadsheets. The whiteboard has story cards (index cards) , where the work in progress is tracked. The story card starts out with say 8 hours, and as the work progresses decrement the number on the card. At the end of the day, put the numbers in the cards to a spreadsheet.
The whiteboard is visible all the time, and gives the whole team visibility on how the work is progressing.
This question was asked recently:.
Everything from Excel to VersionOne to Scrumworks to BaseCamp was mentioned.
Personally, though, we use a heavily customized Excel sheet, whiteboards, index cards in a variety of colors and a large corkboard.
You also might want to check out Mingle. It's a tool developed by ThoughtWorks, a company that only does Agile.
We've looked at most of the tools out there and ended up with Scrumwise. We've been using it for a while now, and it's incredibly easy to use, and does what we need. It uses the remaining time on each task to compute the burndown etc.
I note that no one has pointed out the misunderstanding of WIP (work in progress).
In agile, “it is not done until it is done”.
While most people see work done as a good thing, it is not. WIP represents investment that can not yet be realised. This is an important part of Agile, but made more explicit in Lean/Kanban.
If you track work done you will encourage developers to work on several things at once, getting everything to “80%” complete. At the end of the project you will spend 4 times more (80% of your time) in “bug fixing”, doing the last 20%. You will look like you are ahead of schedule, but you will over-run.
Also after one sprint, if work packages are small (they will be if you are doing scrum), then the error from not adding part done work to work done is insignificant.
Therefore: Track WIP separately from work done and try to keep it low.
Compromise
As a compromise, you can track part completed with the following rules:
Only track one task per developer. (probably the biggest)
Add a cap, maybe 1/2 sprint.
Discount the rate, maybe 50%, if it is 80% done then report 40%. (tweak the discount rate when you have evidence but don't let it be as high as 100%)
OnTime recently added support for Scrum management (disclaimer: I work for them and helped build the product). :) We also put together an intro video for Scrum if you need more information: Video.
I've been working on an open source web based tool that you can install on site or use our hosted version. We've got sub-task tracking and a real time planning poker feature.
http://www.scrumdo.com/
I was looking up SCRUM software and found this old topic - just my two cents ....
I worked on a project in a healthcare domain for about a year and we used Version One. I am sorry to say, it was perhaps the most despised tool in the project. The testers especially, loathed it. Neither did we developers like it as it was pretty clunky/slow and generally pretty lethargic. We always had excellent customer Support from V1 but the tool just didn't cut it for us.
I am now working in a different project and we are using www.scrumwise.com - and so far so good....
VersionOne does let you change the estimates as you go - the burndown report wouldn't work otherwise. You may be hiding the estimate column or have it set to read-only - click the spanner on the right to list available columns and make sure that the estimate/ToDo column is editable.
We've found it to be rather good, though their odd insistence on customised controls breaks in Chrome.
I would suggest checking out OnTime's Planning board because using excel and an actual white board takes away from actual development time when you can automate the process with software..
I answered a similar question at https://stackoverflow.com/a/16667842/1810290 and I thought of sharing it here as well.
If you are looking for an online scrum tool, then you could have a look at Flying Donut. It is a new online product, and I've used it in my projects with great deal of success. There is a nice way of organizing your backlog, and its GUI is clean with quick response times. It provides different iteration views for planning, execution, and review.
Disclaimer: I have been using it for many months, since I helped building it.
ScrumWorks is nice for small teams. And free, too, for the basic version. We have about 30 developers with multiple projects/iterations/etc. Some basic burn-down charts, good for "yesterday's weather", etc.
Check it out at:
http://danube.com/scrumworks/basic
I think RallyDev might be worth checking out for you. Unless I'm mistaken the way that it tracks time will not cause the issue that you mentioned above.
We have been using it on our project for several months and have grown with it to where the team enjoys using the project.
We use Scrum for Team System which is excellent, but you do need to be using Visual Studio Team System to get it!
I've used this Index card generator, but I see now that there is a newer version link that only uses Excel
I also like their Planning Poker when trying to get estimates.
Just saw this, maybe in a another stackO q/a, https://scrumy.com/demo
Check out Scrum Pig at http://www.bellacode.com. It is a great Windows tool for teams collaborating together when using Scrum.
We use RallyDev for scrum management system. And I found it very much handy.
No-one has mentioned JIRA, is that a cost/OpenSource thing?
I've used JIRA for the last 3 years and have found it to be an excellent tool.
We also use a physical board with a google spreadsheet that serves as an online replica. It works really well and doesn't really add any overhead if everyone gets in the habit of maintaining both. I've blogged about it and included a sample spreadsheet:
http://www.littlebluemonkey.com/blog/online-scrum-tools-part-1-the-scrum-board/
We have used XPlanner. It's simple, but does it's job pretty well. Especially Developers get a nice overview for their current status.

Runtime Page Optimizer for ASP.net - Any comments? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
RPO 1.0 (Runtime Page Optimizer) is a recently (today?) released component for ASP and Sharepoint that compresses, combines and minifies (I can’t believe that is a real word) Javascript, CSS and other things.
What is interesting is that it was developed for ActionThis.com a NZ shop that saw at TechEd last year. They built a site that quickly needed to be trimmed down due to the deployment scale and this seems to be the result of some of that effort.
Anyone have any comments? Is it worthwhile evaluating this?
http://www.getrpo.com/Product/HowItWorks
Update
I downloaded this yesterday and gave it a whirl on our site. The site is large, complex and uses a lot of javascript, css, ajax, jquery etc as well as URL rewriters and so on. The installation was too easy to be true and I had to bang my head against it a few times to get it to work. The trick... entries in the correct place in the web.config and a close read through the AdvancedSetup.txt to flip settings manually. The site renders mostly correctly but there are a few issues which are probably due to the naming off css classed - it will require some close attention and a lot of testing to make sure that it fits, but so far it looks good and well worth the cost.
Second Update We are busy trying to get RPO hooked up. There are a couple of problems with character encoding and possibly with the composition of some of our scripts. I have to point out that the response and support from the vendor has been very positive and proactive
Third Update I went ahead and went ahead with the process of getting RPO integrated into the site that I was involved in. Although there were some hiccups, the RPO people were very helpful and put a lot of effort into improving the product and making it fit in our environment. It is definitely a no-brainer to use RPO - the cost for features means that it is simple to just go ahead and implement it. Job done. Move on to next task
I decided to answer this question again after evalutating it a little.
The image combining is really amazing
The CSS and Javascript is nicely minified
All files are cached on the server meaning that the server isn't cained every time it makes a request
The caching is performed at a browser level, meaning it will still work if you use an old (unsupported) browser because you'll just recieve the page un-compressed
You can see the difference youself Optimized vs Unoptimized
The price is as follows...
$499 until the end of september is a steal
$199 for an annual renewal is a steal
I love how RPO is plug and play.
It will take time to create a module like theirs and depending on work load can be worth the $750/year versus the development time it takes to re-create it.
I'm very excited about RPO and reviewing it's effect on my sites.
Something I used quite recently was page optimization module from I found on Darksider's blog. It it not nearly as intense as what RPO sets out to achieve, but a nice start block to building your own optimization module if that's what you're after.
Clarification on the RPO price. Launch price until end of September 2008 is $499 - and this discount is by voucher (email service#getrpo.com to get a voucher). This includes software assurrance for 12 months, after which you can choose to renew for $199 or not - the software still works.
The RPO automates 8 of Steve Souders/Yahoo's principles for High Performance Web Sites - the important thing for us was making a developer friendly tool - you can keep your resources in the format and structure that makes sense for development and the optimization happens at runtime.
I don't want to spam this forum with sales stuff, so just email me if you have any questions - ed.robinson#aptimize.net. Thanks for looking at the RPO.
Ed Robinson, Chief Executive Officer, Aptimize Ltd
I've been a user of the RPO since beta and have it deployed in anger on two of my sites:
http://www.syringe.net.nz (My blog) and
http://www.medrecruit.com (A company in which I have an interest)
I've done a longish winded blog post on the whole why not just turn on caching question here:
http://www.syringe.net.nz/2008/10/21/RuntimePageOptimizerWhyNotJustEnableCachingInIIS.aspx
The short summary version- Caching is a nice to have for people who aren't really geared up to turn it on in IIS (it's still not super easy in IIS6)... the real power is in combining resources as it's latency * request count that really kills your performance.
minifying and gzipping commonly called scripts and style sheets is totally worthwhile - the file size reduction speaks for itself. That's something that you can do through your webserver, without the help of another product.
However, merging scripts and styles and serving them together is an interesting idea from a general 'the fewer requests the better' standpoint.
It looks like interesting technology - I'd try it out. It almost certainly couldn't hurt.
Just had a little look, a lot of the things they offer you should be able to do yourself with a little palnning and foresight (combine all javascript files, combine all css, minify, enable GZip...
$750 a year seems a little steep, and theres no options.
(edit)
After speaking with the marketing bods, it's $499 until end of september, and renewing the liscence will be $199. That persuades me a lot more!
I'm going to give it a whirl and then see how much it improves our DEV server.
I personally have been using a product called PageBlaster by Snapsis that does caching, minification. It is primarily used in DotNetNuke applications, but if I recall correctly it can be used with any ASP.NET application, and the price is right.....

Resources