Presentation is loading. Please wait.

Presentation is loading. Please wait.

Black marble the strategic IT asset for your organisation BUT IT WORKS ON MY PC OR CONTINUOUS INTEGRATION TO IMPROVE SOFTWARE QUALITY Richard Fennell Engineering.

Similar presentations


Presentation on theme: "Black marble the strategic IT asset for your organisation BUT IT WORKS ON MY PC OR CONTINUOUS INTEGRATION TO IMPROVE SOFTWARE QUALITY Richard Fennell Engineering."— Presentation transcript:

1 black marble the strategic IT asset for your organisation BUT IT WORKS ON MY PC OR CONTINUOUS INTEGRATION TO IMPROVE SOFTWARE QUALITY Richard Fennell Engineering Director Developer Day Scotland 10 th May 2008

2 black marble Agenda Why do we need continuous integration?Why do we need continuous integration? What have we done in the past?What have we done in the past? CruiseControlCruiseControl Team Foundation ServerTeam Foundation Server Going Further…Going Further…

3 black marble Why do we need continuous integration? Replication of development environments can be hard The project integration phase is hard It is usually attempted only at the end of the project It is prone to time overruns and often introduces bugs

4 black marble What is Continuous Integration? Based on automated builds The solution is built whenever the code is changed Should be started as soon as possible And repeated as often as possible A core part of most Agile processes

5 black marble Nightbuild - Batch off Echo Start BLACKMT build SET ssdir=\\wellington\data\sourcesafe echo Remove old files from DIR and create any directories required md \projects\blackmtx cd \projects\blackmtx \user\nightbuild\rm /f /x /r *.* echo Get the latest files from sourcesafe "C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\ss" get $\scarlet\programs\blackmtx\*.* -R -Ynightbuild,nightbuild -I- -W Echo Build the product "C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\MSDEV.EXE" blackmtx.dsw /MAKE "blackmtx - Win32 Release" /REBUILD /OUT build.txt Echo Sending log file via c:\user\nightbuild\ParserMailer VS6 wellington "Night Build of Scarlet BLACKMTX.OCX - Win32 Release" build.txt echo Build off Echo Start BLACKMT build SET ssdir=\\wellington\data\sourcesafe echo Remove old files from DIR and create any directories required md \projects\blackmtx cd \projects\blackmtx \user\nightbuild\rm /f /x /r *.* echo Get the latest files from sourcesafe "C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\ss" get $\scarlet\programs\blackmtx\*.* -R -Ynightbuild,nightbuild -I- -W Echo Build the product "C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\MSDEV.EXE" blackmtx.dsw /MAKE "blackmtx - Win32 Release" /REBUILD /OUT build.txt Echo Sending log file via c:\user\nightbuild\ParserMailer VS6 wellington "Night Build of Scarlet BLACKMTX.OCX - Win32 Release" build.txt echo Build complete

6 black marble Nightbuild – did it help? A good start Provided an automated build process Provided a check that we had not broken any associated projects Good for shared libraries Could be extended to integrate testing and deployment

7 black marble CruiseControl Originally a Java-based framework for a continuous build process Distributed under an open source BSD- style license and is free for use Ported to.NET by Thoughtworks and hosted on SourceForge as ccnet

8 black marble CruiseControl Image Source -

9 black marble the strategic IT asset for your organisation demo demo Using CruiseControl

10 black marble CruiseControl Tips If it fails check the timeouts If it still fails check temporary files Look at DevEnv tasks, usually these have already done the hard work Have a play to see if MSBuild, nAnt or individual tasks works best for you. Use the community - Google like mad for tips, samples and tasks!

11 ExcelProject Operations, QA and Help Desk Non-Microsoft Developer Team System Web Access Visual Studio Team System Application Life Cycle Management (ALM) Solution

12 black marble TFS Build Automation Team Foundation Client Application Tier Build Machine Create build type Start build View Reports Team Build Web Services MSBuild Drop Location Data Tier Sources Work items Team Build data Team Foundation warehouse

13 black marble the strategic IT asset for your organisation demo demo Using Team Build for CI

14 black marble TFS versus CruiseControl TFS provides –Integration with the rest of the Team Server –Unified access to all MSBuild tasks But at the cost of: –Cost –Have to use nested MSBUILD files –Less integration with third party tools

15 black marble Going Further Building deployment systems e.g. MSI Automated deployments to test or to ClickOnce servers. Automated provisioning of virtual test environments Automated functional testing as well as unit testing

16 black marble Summary Get an integration build going as soon as possible Extend it as you go along Make breaking the build a hanging offence Experiment to find out the best solution for your project – consider CI even if only a one person team

17 black marble Good Resources

18 black marble For Further Information My random thoughts at: You can also get in touch via: – Website –


Download ppt "Black marble the strategic IT asset for your organisation BUT IT WORKS ON MY PC OR CONTINUOUS INTEGRATION TO IMPROVE SOFTWARE QUALITY Richard Fennell Engineering."

Similar presentations


Ads by Google