How to setup a buildfarm for my git repo ?
NOTE: I'm asking this question after going through series of web pages, ros discourse discussions, ros answers discussions and issues in github. Please note that I made a considerable effort to learn but the documentation to me seems more sparse (high level). Please understand that I'm a total noob and if something you see here looks rubbish or garbage please point it out. I'm ready to learn. Having said that here it goes.
- What exactly I'm trying to achieve here ?
I have a git repo with me that takes in the camera images and estimates user pose, saves data and trains a classifier. I want to setup a build farm for this repo, perform continuous integration and post build steps. Oh ! and also, please let me know if this is possible with the ros buildfarm. Provide documentation that clearly explains what to do if someone like me wants to setup a buildfarm.
- What have I done so far ?
I started off here at ros.org to learn about buildfarms and then I stumbled upon buildfarm_deployment which I tried to follow in the following ways.
- Fork the repo, create ssh keys in my master machine which is ubuntu 16.04 xenial and has ros kinetic which is running on a VM. I thought of having a Jetson Tx2 as my agent and a Raspberry Pi 3 B as my repo but I'm willing to change this to two more VMs having same specs as my master. Please let me know whether there are any other steps apart from setting up 3 instances which is not captured in the documentation that I have to follow.
I found that the next step is to change the common.yaml file which is found here which I directly edited on my forked repo. I have several questions on this one. Any good piece of information will be greatly appreciated.
2.1. In common.yaml file, with the comments for line5-6, I understood that I have to replace the values for
jenkins::slave::ui_user
andjenkins::slave::ui_pass
with my jenkins username & password and I changed it. If this wrong please advise me what exactly I should be doing here.2.2. Next up I left line-9 as it is. Lines 11-12 were simple enough that I changed the IP address to my master machine and raspi (for now, I can change this to another VM if cross compilation won't work). Line-15 is time zone and I changed it accordingly.
2.3. Lines 17-23, I would like to know how to actually do this. First up, I generated a ssh keygen based on this link, which should generate two keys, a public and a private one. In line-21, should I copy paste the public key or the private key, I generated locally ?
Once I get the answers for all the questions, I will proceed with the next set of questions. Thank you for taking time in reading this.
EDIT - 1 ...