Using the client backends - nicholasdavidson/pybit GitHub Wiki

Hooks, URIs and methods

Some VCS tools are suitable for use with post-commit hooks - currently only subversion has a supported hook for pybit. Other VCS tools need their own method data and each backend handles this data as per their own requirements.

In the pybitweb frontend, submitting a new Job involves specifying the package instance as well as the method and the URI. The method specifies which backend to use and each backend has particular expectations of the URI provided.

In addition, some backends can use a specific version control ID, details are provided under the section for that backend.

Subversion Method - svn

The URI is the anonymous checkout URI of the package, not the entire tree. Clients are not usually authenticated for the subversion repository but if a simple HTTP Basic Auth is used, this can be folded into the syntax of the subversion URI. The URI specifies the full path, including whether to use a branch, a tag or trunk.

If there is no anonymous access, a passphrase-less SSH key will be needed on each client and the URI specified will have to include the username which has access to that SSH key.

If a Revision is specified, this is passed to the subversion export as a revision number to checkout. This allows builds of specific versions when a suitable tag is not available.

Git Method - git

The URI is the location of the anonymous git checkout.

If there is no anonymous access, a passphrase-less SSH key will be needed on each client and the URI specified will have to include the username which has access to that SSH key.

To build a specific git tag, provide the tag name as the Revision. Building of specific git branches is not currently supported.

Apt method - apt

The URI is the location of the Debian mirror which apt can use to obtain the source package. Currently, this URI has deb-src prepended, the suite specified in the package instance is then appended, followed by main. Options to use other components are not currently supported.

e.g. if the URI is http://cdn.debian.org/debian and the suite is wheezy, the full line passed to apt would be:

deb-src http://cdn.debian.org/debian wheezy main

Any entry in the Revision is not used (if it is likely too confusing to overload Revision as Component).

⚠️ **GitHub.com Fallback** ⚠️