Chapter 3. Northwind Sample Project

This section will walk you through making changes to the Northwind sample project code and database and then continue through the automatic build until it is released to NorthwindTest site and database.

  1. Open SQL Server Management Studio, start a new query and select the NorthwindDev database. Script a change to the content of HomeMessage like below except but your own message. Notice that we are writing it so that the script is repeatable.

    Save this to the file C:\BuildSamples\Development\Northwind\DB\3.3\data\InsertHomeMessage.SQL This file should already exist so you will be overwriting it.

  2. Make a change to the text (but not the controls) found in the file C:\BuildSamples\Development\Northwind\Web\3.3\Northwind\Default.aspx.

  3. Check in the front-end code changes. Do this by right clicking the directory C:\BuildSamples\Development\Northwind\Web\3.3 and selecting SVN Commit. Select the files you want to include. If you changed the connections string during setup then include the file Northwind/Support/Config/WebEnvironment.config.

    Note that when you are looking at the commit dialog there should be a button in the top right hand corner that says "Skip Release Manager". This shows that the Release Manager is active for this directory. If it is not there please review the Release Manager Plug-in help found by openning your Release Manager web application and selecting Help->TortoiseSVN Plug-in and then Setup.

    1. Once you click OK on the TotoiseSVN Commit dialog form the Release Manager TortoiseSVN Plug-in should open.

      Note that the first time you see this dialog form you can click the New Request button and create a new request. It will prefill the name with the comment you created in the previous step if any. Add or change the name. Then check the checkbox next to an issue or two. Click the Save button to save the request.

      Now do the same process of checking-in with the C:\BuildSamples\Development\Northwind\DB\3.3 directory. This time when the Release Manager TortoiseSVN plug-in pops up check the same request that you used or created in the previous step. The issue items will be automatically checked off. Now the front-end code and the SQL code are joined together by this request.

      1. Start CruiseControl.NET. This is done by clicking the destop icon or by running C:\Program Files\CruiseControl.NET\server\ccnet.exe You should see the CruiseControl.NET trace running.

      2. Start a build by openning your Release Manager web application and clicking the Build/Requests menu option. Select branch Development\Northwind\3.3. Select the Build tab. You should see your requests. Check all of the requests or all of the issue items. Change the Output Variable EmailAddress to your email address. Make sure the PublishDir Output Variable is correct and click the Build button.

        If you switch over to the CruiseControl.NET window you should see it start building.

      3. At the end of the build process the trace should show success. Open your NorthwindTest web site. The default for this is http://localhost/NorthwindTest/Default.aspx. You might have to click Refresh to show the changes.

        The text in red should show the change you made to the HomeMessage table. The CODE BUILD VERSION and DB BUILD VERSION sections show show the new build versions and time.

      4. Review the build log page by going to http://localhost/ReleaseManagerOutput/Northwind/3.3/LatestBuild.html this will open the latest build report for the 3.3 branch in the Northwind project. If you didn't setup the optional ReleaseManagerOutput site in IIS you can still view the report by openning the file C:\BuildSamples\Builds\ReleaseManagerOutput\Northwind\3.3\LatestBuild.html

        You should see the request you made and the files that you changed.

      5. Review the SQL update file created by going to C:\BuildSamples\Builds\ReleaseManagerOutput\Northwind\3.3 and then openning the highest build number directory. You can then open the file Northwind_v3.3_Upgrade_Build_9.SQL where the 9 is the build number.

        Note the SQL update file will start with whatever text you defined in your project's SYSBeginSQL system variable. The place holders will be expanded in the text - so %p will expand to be the project name and %b will expand to be the branch number, etc.

        After the predefined section the SQL script files from the release requests will be combined based on the directories that they were in (table, proc, data, etc.). Or by the sort override value the user gave the file if any.

      6. Finally, audit the branches that you just changed. Open your Release Manager web application and clicking the Audit Branch menu option. Select branch Development\Northwind\3.3 if isn't already selected. Check both the /DB/3.3 and /Web/3.3 directories.

        After clicking the View Branch button you should see a listing of all of the files changed in the 3.3 branches. At the bottom you should see a grid listing files that were changed in the branch but were not in the last build. If this grid is not there, it means all of the changed files were in the the last build.