Group Your Configurations
Continua CI Architecture
Continua CI organises your configurations in a hierarchical structure where everything
in the Continua CI environment can be passed down or over-written by individual
configurations.
There are three basic levels to this architecture:
- Global level. Anything you create globally can be accessed by all your projects
and configurations.
- Projects group your configurations into conceptual groups and allow you to apply
settings to all configurations in a certain project.
- Finally, configurations can specify options and values per individual build.
Apply Settings at any Level
This architecture provides great flexibility when setting up and maintaining your
builds. For example, it means you can link multiple builds to a single
version control repository in one place.
It also acts as an override mechanism where you can set
repositories, variables
etc. for the majority of your builds and override them for special case builds.
Configurations
Configurations are the heart of Continua CI and as the name suggests, they provide
the configuration for an individual build. Here you can specify all your build actions,
triggers,
source control repositories, etc that will be used when running your build.
Anything specified on a configuration overrides any other settings. For example,
you can define a global
security policy, however your team lead should be responsible for running deployment
configurations. Just override the security for your deployment configurations and then only your team lead can execute them.
Projects
Projects group your configurations according to your business logic. They are best
used when breaking up the various facets of your business.
With projects you can group similar builds, that together create a final product.
So if you have a main project, binaries and a graphics configuration all using the
same source control
repository, just group them in a project.
Global Level
Anything you set at the global level can be accessed by everything in Continua CI.
It allows you to set default values for everything including
user access, source
control repositories and
variables.
You can rest easy knowing that all these values and settings can be overridden by
any of your projects or configurations.