I am playing with the idea of trying to create a docker container which can run multiple Bamboo agents.
The idea is that I can start a docker container with the number of agents as an argument. So kind of mimicking the executor functionality in Jenkins. Just starting with docker so I am wondering if anyone has tried this or already has a docker image for this?
Alternatively, does anyone see any major blockers to doing this? I know we can manually run multiple agents on a machine, so conceptually this should be possible I guess.
Sooo I have done something very similar I have not however wired it into Bamboo to see what it would do.
I have basically built a chroot jail-shell (what docker does under the hood) and crammed Bamboo into it. Turned it on and it worked. I imagine that you can have a script that lives inside the docker container that you simply pass a variable into that will spin up that many containers based on the value given. It does work though.
Java requires access to /proc, and bamboo does things like ps check. You'll also need access to /dev/urandom, so you need to have access to /dev in the container. And git, thats about it. Its pretty simple...
In fact I'm not sure of any other way to get past the Remote Agent Authenitcater save greping out the uuid in the bamboo-agent.cfg.xml from an already approved agent and pushing into the new agents bamboo-agent.cfg.xml file with some script mechanism. As I'm typing this out that would be something bamboo or `docker exec` can do.
I would love to see this happen where we could spin up many agents in a container... I just wonder how well it would scale. Go for it!!1
Okay, sounds possible, so I think I will give it a shot next week, when I have the time. If I get it working I will push the image to docker hub, where you are welcome to use/change. Thanks for the feedback :-)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Awesome could you kindly update this thread with your image? Thanks!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.