CI Factory RC3 1.0

CI Factory RC3 1.0 Announcing the third release candidate for version 1.0 of CI Factory! This release, as you would expect, is mostly fixes and polish. Before I share with you the most notable changes I would like to ask for your help. Would you please help us with the CI Factory documentation? We plan to release the final version 1.0 the first week of February. There is not much time left and even just an hour or two of your time will make a difference. To help please register an account at the CI Factory home page. I will grant you rights to edit and author pages. We need help with these pages: ...

February 20, 2008 · 2 min · Jay Flowers

CI Factory Version 1.0

CI Factory Version 1.0 Well it has been a long time coming, version 1.0 is here (release notes). I am very happy with the improvements made in this release and feel confident in it’s quality and stability. I think that CI Factory is pushing into an new frontier, I don’t see other products trying to solve some of the problems that CI Factory addresses: for instance automated branching. Another good example is the developer workspace installer. If I had to label this new frontier I would call it workspace management. I look forward to fortifying CI Factory with capabilities in this new frontier. I can’t imagine having been able to write these features if CI Factory did not have such strong opinions. ...

February 12, 2008 · 8 min · Jay Flowers

Iteration One

Iteration One We just finished iteration one! We are doing 1 week iterations just in case you can’t count. We really over committed on the first iteration, we forgot about the holiday. Oops. None of the stories were fully completed, and there was business value to show. It’s a new team and we are still getting used to what we can get done in a week. I am more than a little concerned about how we have utilized our tool stack. My pair was lucky enough not to encounter any hindrance from how we were using the tools, though we were not using JBoss or Selenium for our story; this iteration we will. It is going to be a pain in the butt jumping out of the IDE to manage JBoss, Selenium, and Maven. Selenium RC needs to be running if you are going to run Selenium tests in the IDE and turned off if running them from Maven. JBoss dies a painful death after several deployments, so we will have to keep and eye on this. Hey, did the tests fail because we broke something or did JBoss die again? Also we have what I expect to be just a bandaid on a build script issue where integration tests start to run before deployment to JBoss has completed, the bandaid being a sleep command in the Maven pom.xml. ...

January 26, 2008 · 2 min · Jay Flowers

Shifting the Focus

Shifting the Focus Last week I was having fun pair programming and TDD’n. This was my first time pairing with my new friend so we naturally had to work through our differences. One in particular was about a difference in unit testing and doubling (mocking) has stuck me with through the weekend. My partner wanted to test and double protected members. I was concerned that this was testing implementation and would bite us in the butt later by increasing the level of effort to refactor. Another member of the team has no experience with test doubles beyond home grown simple stubs. Working to explain the situations in which you would and would not want to use mocks, stubs, spys, etc has stuck with me too. Particularly the distinction between state based testing and interaction based testing. ...

January 22, 2008 · 3 min · Jay Flowers

Is Open Source More Agile Than Commercial Software?

Is Open Source More Agile Than Commercial Software? In general I think open source is better at enabling you to behave Agile then commercial software. Lets start from the point when you realize that you have a need that is not being fulfilled. I want to explore this in two slightly different directions. First imagine that we have not finished defining our tool set and second imagine that we already have a tool set to integrate into. ...

January 21, 2008 · 4 min · Jay Flowers

Iteration Zero

Iteration Zero I just started on a new contract using Java! I have mixed feeling about working on a Java project. I have little experience with the language, yet I am not concerned about it, it is very similar to C#. I am concerned about my fulfillment on this project. I am hoping that exposure to new ideas, tools, and ways to tackling problems will provide fulfillment. We just finished iteration zero, setting up the project infrastructure. It has been nothing but frustration so far. I have been surprised by the lack of opinion in the tools that we have tried; maybe another way of putting it is guidance. Eclipse for example has no opinion about anything as compared to Visual Studio. It looks like I have gotten spoiled by CI Factory as well. We tried Hudson and Cruise Control and neither even got close to a working setup. First we tried Hudson. It is too simple in my opinion. It was a great experience when everytihg worked, and frustrating when things were not working. At some point we decided to proceed with Cruise Control. I have the pleasure of working with StarTeam on this project, and that has complicated the environment. Cruise Control had issues with integrating StarTeam into the fold. Thanks to Borland’s license we had to compile Cruise Control ourselves. We finally got Cruise Control to load the StarTeam plugins only to find that the Cruise Control dashboard refused to work when Cruise Control was run as a windows service. On and on it went until we I noticed that we were approaching 150% of our time allotment for setting up a CI Server. We had to get a CI Server up and running and quick. There was no end in sight on the current path, continuing would be neurotic. I made the command decision to switch to Cruise Control .Net. We had it all hooked up including Maven and JUnit reporting in about an hour. That included messing with the Maven bat file to report failed builds (you need to remove the /B from the exit command). ...

January 20, 2008 · 3 min · Jay Flowers

CI Factory RC4 1.0

CI Factory RC4 1.0 Announcing the forth release candidate for version 1.0 of CI Factory! The list is getting pretty short, here it is in total: New/Improvements Added After and ReplaceOuter modes to XmlPokeTask. Install XmlDiff for Simian Alert. Added kludge to Arguments.xml Post.Install to correct order of operations in Main.Build.xml. Make 2005 default VS for VS.NETDeploy Add Collapsible warnings Add license files Fixes Fix: correct NCover version to 2.0.3.0. Fix: SetupIIS.xml fails when virtual dirs already exist. Fix: MSBuild and DotNetUnit show report for Personal.Build.xml. Fix: correct install generation output for SetUp and TearDown target calls in Main.Build.xml. Fix: Switch all instances of hard coding installed files with Program Files to use of env var, these had been set as env var only in the install script. Fix: DotNetUnitTest check file report exists before copy Fix: Delete CCNet Remote dll Fix: preserve CCNet user emails Fix: Simian Alert, only install if the Simian Package is set to install. Fix: Give web apps an opportunity to end sessions and what not while coverage is still on. Fix: VS.NETDeploy ref’n a property before it was set. Fix: Simian Alert img paths and conditional show of removed blocks. Fix: Simian Alert compare counts, use int::parse to compare. Fix: Try to preserve email users for ccnet project config. This works for the default config. Fix: Aggregator remoting ...

January 17, 2008 · 2 min · Jay Flowers

CI Factory RC1 1.0

CI Factory RC1 1.0 That’s right! You read correctly, it says 1.0. This is the first release candidate for version 1.0. There are no features left to add in this release. There is some cleanup, such as documentation updates. I expect the final version to be released sometime early next year. So let’s look at what’s changed since the last version, 0.8. In my opinion the major changes are: the web dashboard has had a facelift, a Perforce, FxCop, Archive, Workspace, and NUnit Package have been added, and automated branch creation. There are numerous other changes. ...

December 6, 2007 · 6 min · Jay Flowers

CI Factory Beta 0.9.0.159

CI Factory Beta 0.9.0.159 This is the fifth release of the 0.9 series, build 159. You can read the release notes here and download from here. Notably new in this release: Added FxCop Package, donated by Steve Bohlen. Steve has a nice blog post on it here. Thanks Steve! Added links from summary report sections to detailed reports for many Packages. Allow initial version to be set in the Arguments.xml at install time. Add the creation of a branching script: CreateBranch.xml. It is located in the build directory. Currently Subversion is the only Package that supports the necessary targets. I am still working on Perforce, it has proven a little tricky. The rest of the source control packages will have the targets implemented soon. ...

November 23, 2007 · 1 min · Jay Flowers

CI Factory Beta 0.9.0.111

CI Factory Beta 0.9.0.111 This is the fourth release of the 0.9 series, build 111. You can read the release notes here and download from here. Notably new in this release: Archive Package and Diskspace Alert script to help manage the space on your build server. It’s always a bummer when the build breaks because the build server ran out of hard drive space. An upgrade script, this may be the most important part of this release. That’s right! There is now a script to help you upgrade to a new version of CI Factory. It doesn’t do it all yet but it does a lot of the work for you. Please find the new file upgrade.bat in the CI Factory root folder, next to run.bat. Simply execute this, there is no need to configure anything first. Well if you have changed ProjectsDirectory to something other than c:\Projects then you need to adjust that property in …\CI Factory\Install Scripts\Upgrade.xml. The script will walk you trough the upgrade asking questions and doing the work. There are a few steps that it does not yet do that you will need to perform: ...

November 4, 2007 · 2 min · Jay Flowers