I'm trying to get the entire buildfarm running with public github configs (the security shouldn't matter since by default they can't be accessed outside of the host running the docker containers, later I'd like to document the process in detail for changing every key). Having the default config be an add-on rosdistro and build a couple of example projects off of github would be the ultimate goal but I'm only partway there.
So far it is to the point of having a live jenkins I can browse to from my host, and building_repository appears as an executor, but the slave did not. My first attempt to generate_all_jobs also failed, I'll document that further. I think running docker within docker is fine, but maybe configuration needs to be adjusted to make that work.
It would be great if anyone else interested could build the dockerfiles in that repository and see if they can help me. (probably should put them on dockerhub later?)
One strange thing is that I can RUN the reconfigure.bash in the Dockerfile, but puppet apply takes up to ten minutes, but then I need to log into a live container and run it again to make it fully work (for jenkins to actually start for the master), and then puppet apply finishes in a more normal 90 seconds.
I suspect there is a mix of installation steps and configuration changes happening in the script that the docker image records, but any processes/daemons launched are not automatically relaunched when the container starts. Maybe these can be identified and properly set up in the images.
In the case of the master jenkins fails to install during the reconfigure.bash step, so I've added a RUN that installs it after that failed attempt.
Earlier I set up virtualbox vms and put some questions on
answers.ros.org about them, and in that process I'm ready to bloom release my packages to my add-on rosdistro (but haven't tried it yet)- but my config git repos and packages are not publicly available. Hopefully with docker anyone can set up an entire example farm with no configuration changes until they are ready to do so, and others can help me get to that point.
One difference with my private vm buildfarm effort is that I want to build packages privately on gitlab, and I don't know if this will create some problems later- but this all-docker process will be pure github. (is there a gitlab online I can put a few projects into?)
-Lucas Walter