Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

build farm - accessing private repository using git over ssh

I'm currently in the process of setting up an add-on fork of the build farm. The intention is to build a couple of private packages to support development and integration of them. The farm should build for melodic.

After several weeks of the build farm is up and running - in general. I'm using an additional distributions-yaml file. So the private packages will have a tag and the farm builds only packages with this tag.

I'm stuck at the task how to add a private (release) package to the build farm.

Currently melodic_rosdistro-cache fails:

23:41:06 melodic: missing package.xml file for package "example"
23:41:06 Build step 'Execute shell' marked build as failure
23:41:06 SSH: Current build result is [FAILURE], not going to run.

No wonder since I don't know how to configure the build farm to access private repositories.

We normally use git over ssh. Thus we access the repository via e.g. "ssh://git@111.111.111.111:1888/example.git" using a ssh-rsa key.

I suppose I have to add the host key to common.yaml

ssh_host_keys:
    111.111.111.111: |1|BmGVZbXUErOjDe66B3CWNu2q8CI=|Xb3F2AVGZahgjclWEG3u7UuMIsM= ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICGrJe1TApLZFjsCUEhiOGOpJ350NNZFFrHsEOyobs1k

My questions are:

  1. Can I use git over ssh to pull this package?
  2. Is this a way which is promising, or is using github (with private repositories) the way to go?

  3. Where do I put the private ssh key to authenticate against the git server? What is the exact format for it?

  4. Where do I specify to use this key for this server? What is the exact format?
  5. Can I use an private key which is password protected or does it need to be without password? (If password protection is possible, where do I provide the password?)

Thank you in advance!