Build Requests

On the same page that you view requests you can perform a build.

To do a build you select the Build tab. This is only enabled if you have rights to do a build for this project. Rights to do a build for a project can be changed by selecting the menu Admin -> Projects. Edit the project and change the user's rights on the Users step of the edit wizard.

Output Variables - the first thing to note is that you are presented with a list of output variables that were defined for this project. Output variables are optional but they can be a powerful part of automating your build process. These variables have a value that was set for the project, but you can override those values for the currently selected branch. The override values are saved until you change or clear them.

These output variables will populate an XML file with the name as defined by the project's build variable SYSCCNetXMLFile. In our example this variable is valued with c:\Builds\CCNet\BuildTriggers\BuildInstruction_Build_%b_%i.xml

This means that when you do a build the system will create this XML file and populate it with variables. This file is usually used to trigger an automatic build process such as Cruise Control and can be used by build tools such as MSBuild.

So when we do a build the XML file will be created with variables like the sample below.

Build Process - When you click the build button the application will pull the files found in the requests from Subversion. If the files are not defined as coming from a SQL source it will pull the files in the same directory structure as they are in Subversion and place them under your build directory.

So in the example below our build directory variable is valued with c:\Builds\%p\%b\%i which expands to be c:\Builds\Northwind\3.3\113 and you can see the source code keeps the same directory heirary structure as it is in Subversion.

The usual steps from here is that either your automated process or by hand the files that made up the previous version of your system are pulled from Subversion and then the requested files would be overlaid on top of that. The biuld for the front-end code would be done on that. This front-end would then be deployeed to your test system. It is expected that you would automate this process using tools such as MSBuild along with CCNet. This is outside of the scope of the Release Manager application, but we do provide you with working examples.

SQL Files - When the files that are defined as SQL files are in a request that is being built they will be combined into a single file. The file name is defined by the project's build variable SYSBuildSQLFileName. In our example project this is %p_v%b_Upgrade_build_%i.sql . So in our example build this will expand to be c:\Builds\Northwind\3.3\113\Northwind_v3.3_Upgrade_build_113.sql.

Whenever a SQL file is built there will be a corrisponding file created with the same name but ending in txt. This file will list the file names of the files that went into the .sql file.

The SQL files will be pulled from Subversion and combined in the order as defined by the Build Order column that was assigned to the file during creation of the request - if any. After that, the sort logic is defined by the Build Folder Sort Order. Finally the last sort logic is to sort alphabetically by file name.

The SQL file would just need to be applied to your test database. This can be done by hand or by an automated process.