Integrating with Bitbucket

In this guide, we’ll link a private Bitbucket repository to a Valohai project using an access key.


Generate an SSH key pair

Use ssh-keygen to create a new SSH key pair.

$ ssh-keygen -t rsa -b 4096 -N '' -f my-project-deploy-key

This will generate two files:

  • is the public key you add to Bitbucket.

  • my-project-deploy-key is the private key you add to Valohai.

Don’t include the keys in your version control

You should not include these keys in the version control. Anybody that gains access to the my-project-deploy-key file contents will have read access to your repository, so use appropriate caution.

Add the public key to Bitbucket

Find the file we generated in the last section, and it should contain one line that starts with ssh-rsa AAAA.... This line is the public key that we’ll be adding to Bitbucket.

Navigate to the add access key page in your repository at Settings > Access Keys > Add key.

Bitbucket - route to the access key creation page

Copy and paste the contents of into the Key field.

Give the access key an identifying Label such as Valohai.

Bitbucket - access key setup example

Add the private key to Valohai

Go to and navigate to the repository settings in your Valohai Project through Settings > Repository.

Valohai - route to repository settings

To make sure you get the correct repository URL, open Bitbucket in another tab. On Bitbucket, navigate to Code page and press Clone or download.

Make sure you have Clone with SSH active on the popup window. If it reads Clone with HTTPS, click the Use SSH button next to the text.

Then copy the text field with<owner>/<repository>.git

Bitbucket - where to find repository SSH URL

Next paste the SSH URL (<owner>/<repository>.git) into the URL field.

On your local machine, find the my-project-deploy-key file (without the .pub extension) we generated before. It should contain multiple lines starting with -----BEGIN RSA PRIVATE KEY----- or something similar. The contents of this file are the private key we’ll be adding to Valohai.

Copy and paste the contents of my-project-deploy-key into the SSH private key field.

Valohai - repository configuration example

After you click Save, Valohai links the GitLab repository to the project and automatically fetches your code.

After you add new commits to your GitLab repository, remember to press the Fetch repository to update the code in Valohai.

Valohai - highlighted Fetch repository button