Skip to content

Git repositories

Cubonacci uses Git as a single source of truth for the versions of the code. The codebase of a Cubonacci project follows a certain structure and is stored on a git server. A self-hosted installation of Cubonacci integrates with the Git providers that are described below. For the Cubonacci cloud, Github is the default integration, and the only one currently available.

Adding a repository

There is a list of project repositories at the bottom of the project overview page. Adding a repository can be done here with the + button. Github has a custom integration, the other providers require two steps as described below.

GitHub

If your organization is using GitHub as a git provider, you can allow Cubonacci to access your Github account. After this permission is granted, you can choose from a list of existing repositories or let Cubonacci create a new one. Creating a new one shows you a menu with several options. Based on the response, Cubonacci will fill the repository with a code skeleton based on the choices to get you started as quickly as possible.

GitLab and BitBucket

Integrating other git providers with Cubonacci requires two steps, the first one on the Cubonacci side and the other one is on the git provider side.

Cubonacci

After choosing the git provider, add a description and a URL of the repository. You can get the correct URL from a clone button of the repository. For authentication, it is possible to either add an SSH key or a deploy user/secret. An option with write access is preferable, this allows you to commit back into git from the Notebook environment if enabled.

Git provider

Webhooks allow git providers to tell other systems that something has happened. Cubonacci has a webhook available to listen to updates of the codebase so that new versions are available immediately. On the side of the git provider, this requires some configuration to set up these webhooks.

First of all, it is required to determine which branches will trigger a message to Cubonacci. Depending on the setup this could be just the master branch for release-ready code or this could be any branch so that runs can be done with any experimental code. After this is configured, the webhook URL has to be passed. This URL is based on the URL of the Cubonacci installation and the git provider.

Git provider URL
GitHub https://CUBONACCI_URL/git-hook/github
GitLab https://CUBONACCI_URL/git-hook/gitlab
BitBucket https://CUBONACCI_URL/git-hook/bitbucket