You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Before reading this page, it is highly recommended you read repositories concept page.

 

A repository in Continua CI is a reference to an external Version Control System (VCS) that provides a way for Continua CI to interact with that VCS. Once a repository has linked a VCS to a configuration, all builds created by that configuration can then access the VCS and use it's files within the build process. Before a build is executed, Continua will check your VCS for any new changes, get the latest version and distribute the latest version to the Continua Agents that will run the build.

By using triggers, Continua can automatically trigger a build every time a change is commited to your VCS.

Repository Types

Continua CI uses multiple repository types when dealing with various VCSs. Each VCS that is supported by Continua has a matching repository type. For example, if you want to link a mercurial repository to Continua then you would have to create a mercurial repository. Each repository type required different information to connect to their respective VCS. For more information on a specific type of repository, see the Repository Types section.

Repository Scope

Repositories can be created in Continua at either the Global, Project or Configuration level. Check out our Repository Scope page for more information on how to assign a repository to the various scope levels and why this distinction is a good idea.

Finding Repositories

Depending on the repository scope, repositories can befound in different areas of Continua CI:

Administration Repositories Section

The repositories administration page can be found in the Administration section, under Continous Integration (CI Server). On this page you can edit and delete every repository that exists in Continua CI, regardless of the repository scope

Note that any new repositories that are created in the Administration section will automatically be assigned to the Global scope, while existing repositories will keep their original scope.

The Administration repository page also allows you to reset repositories. More information on resetting repositories can be found in the Resetting a Repository section below.

Project Wizard Repositories Section

The Project Wizard repositories page can be found by editing a specific project and navigating to the repository section. This page allows you to create, edit and delete both project and global repositories

Configuration Wizard Repositories Section

The Configuration Wizard repositories page can be found by editing a specific configuration and navigating to the repository section. This page allows you to create, edit and delete project, global and configuration repositories.

Through this page you can also assign project and global repositories to a specific configuration. Repositories can be assigned by ticking the Repository checkbox in either the Global Repositories table or Project Repositories table (In the figure above, global_source has been assigned to this configuration while binaries has not). Note that when you assign a repository to a configuration that you must click either Complete Wizard or Save & Continue to save your changes.

Creating and Editing Repositories

Repositories can be created and edited via the pages listed above.

Name

The name of this repository. Note that the name cannot contain spaces

Issue Connector

Issue Connectors monitor your commit messages and links any bug fixes to your issue tracking system. Selecting an issue connector on the repository means that continua will monitor all commit messages from this repository for issue ids and then attempt to link these issues to your issue tracking system.

By default Continua comes with standard issue connectors that link to some of the more common issue tracking systems. Issue connectors can be created and edited under the administration section. For more information, view the Issue Connectors section.

Polling Frequency

Specify how often this repository should be checked for any new commits / check-ins.

The polling frequency can be set to Never (Manual) which means Continua will never automatically check for changes. See the Manually Polling for Changes section below for more details on how to call manual polls.

Timeout (mins)

Specifies the timeout period, in minutes, for any processes where Continua interacts with this repository. Note that some processes can take a long time to execute, such as pulling an entire repository.

If a repository times out then Continua will put the repository into an errored state. See the Errored Repositories section below for more details on how to resolve an errored repository.

Type

Specifies the type of repository we are creating or editing, eg. Mercurial or Git. Once a repository type has been selected, additional repository type specific properties will be added to the dialog. These properties can be accessed through the tabs located at the top of the dialog.

Enabled

Enable or disable a repository. View the Disabled Repositories section below for more information on disabled repositories

Exclude Patterns

 

Downtime

 

Resetting a Repository

 

Errored Repositories

 

Disabled Repositories

 

Manually Polling for Changes

Continua can be instructed to manually poll your repository by calling the Manual Poll Url that is displayed under the Polling Frequency property

Configuration Repositories

The main function of the Configuration Wizard's Repository page is to create and assign repositories to the Configuration. For a repository to be usable by a Configuration it first must be assign to it. Global and Project Repositories can be assigned to a Configuration by selecting the checkbox next to the Repositories name. The following picture shows all the repositories in Continua CI that this Configuration can access. Both the Global Repository MyGlobalRepo and the project level repository myProjectRepo are assigned to the Configuration we're editing since its check box is ticked.

Note: The two Configuration specific repositories MyConfigurationRepo and hg do not have a check box next to its name. This is because Repositories with Configuration scope are always assigned to the Configuration.

 

Creating Repositories in the Configuration Wizard

A repository can be created both in the Project Wizard and the Configuration Wizard. The Project Wizard restricts you to creating and modifying repositories at the Global and Project level scope. In the Configuration Wizard, you have a third option when creating a Repository, and that is to create one within the Configuration scope. A repository created with Configuration scope can only be accessed by that Configuration and is automatically assigned to the Configuration.

Project Repositories

The Repository step of the Project Wizard allows you to create repositories that can be used by any Configuration in Continua (known as global repositories) and repositories specific to the current project (known as project repositories) which can only be used by Configurations in the project.

The repositories are displayed grouped by their scope type, Global and Project.

Each section has its own [Create] button which pops up a dialog to create a repository. You will see the same create dialog irrespective of the repositories scope so make sure you click the correct [Create] button to create the repository with the right scope.

Issue Tracker

If you've setup an Issue Connector, this is the place to assign it to the repository. The Issue tracker is optional and can be added at any time. See Issue Connectors for more information.

Polling Frequency

The frequency at which Continua will check for changes in the repository.

Type

The type of version control system of your repository. See Repository Types for a full list of supported repositories. When you select a repository type, additional tabs will be displayed containing repository specific settings.  

Validation

Once a Type has been selected and the appropriate fields filled in, you can click the Validate button to check if the settings are correct.

 

 

Modify a Repository

After creating a repository you will see it listed on the wizard's repository page.

Each repository will list its name, repository type and issue tracker. In addition, it will show which configurations are using the repository and if you have the right permission, the links to edit, delete and change the scope of a repository. Editing a repository will popup a dialog exactly like the one used to create it. Changing a repositories scope is as simple as clicking the link. Note however, you will not be able to change the scope of a repository until it's safe to do so. For example, if you have a global repository that is used by configurations in ProjectA and ProjectB then you can't change the scope of that repository to exist only in ProjectA since configurations in ProjectB would then lose access to it.

  • No labels