Repositories
A repository in Continua CI is a reference to an external version control system. It Version Control System (VCS) that provides a way for Continua CI to interact with that VCS. Adding a repository to Continua a repository and assigning it to a Configuration allows the user to make use of that repositoriesthe VCS's content in other parts of Continua, for example, assigning it to a Configuration and then referencing it in Stages & Actions. Once a repository has been assigned to a Configuration, its changesets are tracked and displayed on various pages:
...
Continua CI. Some examples of using a repository in Continua CI include:
- Automatically trigger a build whenever a check-in occurs in a tracked VCS.
- Referencing components of the VCS in build actions.
- Monitor and record changes in the repository. These include changesets that triggered a build or changesets that have been added since the previous build was run.
- Show changesets that were committed by the current user. For a user to correctly view their own changes, they will first need to configure their Repository User Mappings.
- Link a repository to an Issue Connector. This allows you to automatically link repository check-in comments
...
- to an issue in your issue tracking system.
Triggers
A Trigger is a Continua CI feature that waits for certain events to occur, when they occur the Configuration the trigger is assigned to is executed. A trigger can be setup to execute the Configuration when a check in is made to a specified repository or at a certain period in time.
...
A trigger is attached to a configuration and is set to listen for certain events to occur. If a matching event occurs, the trigger executes a build on its configuration. Triggers can listen for the following events:
- A change being made in a repository.
- Another configuration completing its build.
- Firing a build at a certain date or time.
Repository Caches
...
...
...
...
...
...
Building the right
...
code base
The cache isn't just a bunch of files - it is versioned. This makes it easy for us to get the right version of the source to build. For example, lets say you have a Repository Trigger with a quiet period of 1 minute (, which means that is, the build will wait 1 minute after its triggered to see if any other changes come in). Given the following steps:
- A new commit (Change1) is detected, which queues up a new build.
- just Just after the quiet period has ended, (and the build is just starting) a new change (Change2) is detected in your repository, which is automatically sync'd to all of the agents.
- now your Your build starts running on an agent
...