Home arrow Documentation arrow Core Documentation arrow Introduction

Blogs

CI Factory is in Windows Developer Power Tools

Introduction PDF Print

CI Factory was born out of a desire to quit writing unique build scripts for every new project. There are some papers that talk about this in detail:

The goal of the project is to provide a standard workspace, that when conformed to CI Factory will be able to build with little to no customization. The workspace described in A Recipe for Build Maintainability and Reusability is utilized by CI Factory. CI Factory uses the industry standard tools to accomplish the goal. CCNET and NAnt are the core products that are used. A workspace produced by CI Factory is self-contained, it has its own CCNET server, CCNET dashboard, and copy of NAnt. This means that there is nothing about CI Factory that prevents a host machine from hosting more than one CI Factory produced workspace. Each workspace can vary independently and experience downtime without disturbing others. The main build script, similar sub main, does very little in the way of visible functionality. It manages the high level control flow, setup, and teardown. The functional work is performed by packages can by the main build script. A Package can provide functionality to the build through NAnt targets and build reports. A target script must adhere to an interface, simply provide a setup and teardown target. A target script will be accompanied by a properties script as well. The targets provided are like functions and and the properties are like parameters. Targets are designed to take full advantage of the standard workspace and contribute to the standard. This situation allows the goal to be achieved easily; for example building a .NET product. The workspace defined requires that the Visual Studio solution file be placed in a particular directory(C:\Projects\<projectname>\Current\Product) and named in particular format(<projectname>.sln). This allows for a script that will work for any project that follows the standard.  This same pattern is used for things like executing unit tests, compiling installers, calculating metrics, profiling code coverage, etc: convention over configuration. CI Factory is bundled with several packages, you can write your own too. To create a workspace for your project you will need to select a set of packages that meet your needs and provide a few pieces of information about your source control repository.

 

 
< Prev   Next >