Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

A project is the highest level entity in Continua CI and acts as a container for a Configuration(s). Without a project Configurations cannot exists. Projects don't exists purely for a Configuration to exist though, they also provide a way for users of the system to setup project specific configurables. For example, security and permissions that are applied at a global level can also be applied to a specific project. A user has the ability to allow and deny certain permissions to a user/group/role just for a specific project. A project can also contain repositories which are only accessible by configurations created in the project. Projects are also capable of overriding variables and cleanup policies which were defined at the global level.

 

have a one-to-many relationship with Configurations where each Project can contain multiple Configurations, however each Configuration can only exist in one Project. Projects enable Continua CI to group Configurations together and apply settings across all Configurations in that Project.

For example, Project wide settings allow you to:

  • Set User Permissions that apply to all Configurations in a certain Project.
  • Create Repositories that are only accessible to Configurations in a certain Project.
  • Override Global Variables for all Configurations in a certain Project.
  • Create Project specific cleanup policies.

Configurations

 

 

...

A Configuration is the defining component of Continua CI and the continuous integration process. The main function of a Configuration is to define a work flow using the Stage Editor which runs whenever the Configuration is executed. A Configuration can be executed manually by a user or a Trigger. Triggers are setup per configuration and can be set to trigger the Configuration at a specific time or when a check in is made to a repository. Repositories need to be assigned to a Configuration before a trigger can start monitoring the repositories' activity. A Configuration also has the ability to be setup with conditions that are checked before a Configuration is executed, when all conditions pass the Configuration can be executed. Finally, like a Project, a Configuration can also have Configuration specific permissions, variables and cleanup policies which are specific to that Configuration. Configurations contain all the information that is needed to complete builds, including:

  • The Action Work Flow. This work flow is where you specify the individual actions that will run when you execute your build process. Using the Stage Editor you can define multiple build stages per Configuration and set a variety of actions on these stages.
  • How a Configuration is triggered. Configurations can be fired either manually through the Continua CI user interface or by creating a Trigger on the Configuration. Triggers can be set to fire in the following ways:
    • Fire the Configuration when a checkin is made to a source control repository.
    • Fire the Configuration at a certain date or time.
    • Fire the Configuration after another Configuration has completed.
  • Repositories. Source control repositories, such as Subversion and Mercurial, can be linked to Configurations so that a repository's activity can be monitored and in turn, trigger builds.
  • Build Conditions. Conditions can be set on Configurations to determine what will trigger a build. For example, Configurations can be set to fire only if the previous Configuration completed its build successfully. Alternatively, you could set a Configuration to fire only if a certain file was updated in it's repository.
  • Inheriting Project settings. Configurations inherit settings from its project, however these can be overridden per Configuration. Permissions, Variables and Cleanup Policies are all inherited automatically from the Configuration's Project, however these can be set per Configuration.