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](https://github.com/ros-infrastructure/buildfarm_deployment_config/blob/master/hiera/hieradata/common.yaml) 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](https://github.com/dotdotdotdash/ROS-Buildfarm-Tutorial/blob/master/hiera/hieradata/common.yaml) file, with the [comments](https://github.com/dotdotdotdash/ROS-Buildfarm-Tutorial/blob/3e1dd83cba87099dc925decfe2e26222f52c8dc1/hiera/hieradata/common.yaml#L1-L4) for [line5-6](https://github.com/dotdotdotdash/ROS-Buildfarm-Tutorial/blob/3e1dd83cba87099dc925decfe2e26222f52c8dc1/hiera/hieradata/common.yaml#L5-L6 ), I understood that I have to replace the values for `jenkins::slave::ui_user` and `jenkins::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](https://github.com/dotdotdotdash/ROS-Buildfarm-Tutorial/blob/3e1dd83cba87099dc925decfe2e26222f52c8dc1/hiera/hieradata/common.yaml#L9) as it is. [Lines 11-12](https://github.com/dotdotdotdash/ROS-Buildfarm-Tutorial/blob/3e1dd83cba87099dc925decfe2e26222f52c8dc1/hiera/hieradata/common.yaml#L11-L12) 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](https://github.com/dotdotdotdash/ROS-Buildfarm-Tutorial/blob/3e1dd83cba87099dc925decfe2e26222f52c8dc1/hiera/hieradata/common.yaml#L15) is time zone and I changed it accordingly.
2.3. [Lines 17-23](https://github.com/ros-infrastructure/buildfarm_deployment_config/blob/3e1dd83cba87099dc925decfe2e26222f52c8dc1/hiera/hieradata/common.yaml#L17-L23), I would like to know how to actually do this. First up, I generated a ssh keygen based on this [link](https://developer.github.com/v3/guides/managing-deploy-keys/#deploy-keys), which should generate two keys, a public and a private one. In [line-21](https://github.com/ros-infrastructure/buildfarm_deployment_config/blob/3e1dd83cba87099dc925decfe2e26222f52c8dc1/hiera/hieradata/common.yaml#L21), 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
The next step is to edit the repo.yaml file and I tried to edit it in the following ways:
1.1. According to the instructions [here](https://github.com/ros-infrastructure/buildfarm_deployment_config/blob/master/hiera/hieradata/buildfarm_role/repo.yaml), I left [lines 1-6](https://github.com/ros-infrastructure/buildfarm_deployment_config/blob/3e1dd83cba87099dc925decfe2e26222f52c8dc1/hiera/hieradata/buildfarm_role/repo.yaml#L1-L6), unchanged. But please advise me if I have to change anything here. An example other than the one that I'm already using will be very much appreciated.
1.2. Next up would be [lines 7-95](https://github.com/ros-infrastructure/buildfarm_deployment_config/blob/3e1dd83cba87099dc925decfe2e26222f52c8dc1/hiera/hieradata/buildfarm_role/repo.yaml#L7-L95). I would like to know whether I have create another ssh key pair or use the one from the key pair used with the common.yaml file. Also, please let me know if I have to use a different ssh key pair, should I create it in the same way I did for the common.yaml keys.
1.3. Should I just leave [lines 97-117] as it is ? If the answer is no, could you please explain it to me why are we having this and what should I do to make it fit for my package ?
1.4. The last instruction given basically tells me to change the `reprepro_config`, which I have no idea on how to edit. Do I have to change [lines 120 - 131](https://github.com/ros-infrastructure/buildfarm_deployment_config/blob/master/hiera/hieradata/buildfarm_role/repo.yaml#L120-L131) ? Exhaustive answers are very much appreciated.
Originally posted by venkisagunner on ROS Answers with karma: 89 on 2018-04-23
Post score: 0