I want to build a docker image from a Bamboo YAML Specs. I tried to do the following:
- scripts:
- docker build <dockerfile-dir>
But the default agent doesn't have docker. So, I get an error telling that docker cannot be found. I have a remote agent that has docker. How can I force to run the job on the remote agent?
I guess, I need to specify requirements. But I haven't found any resources, which would tell how to specify docker in the requirements.
I'm running Bamboo 6.4.0.
Hi Andrew,
You can find this link having steps to define your job requirements. You would just have to create a custom capability in the appropriate agent(s) in Bamboo UI, and specify it as a requirement for this job. It looks something like this.
---
project:
key: DRAGON
plan:
key: SLAYER
name: Dragon Slayer Quest
stages:
- jobs:
- scripts:
- echo 'Going to slay the red dragon, watch me'
requirements:
- isDragonLazy
- isDragonAsleep
- isCaveDeep
...
Did this help?
Hi, Jeyanthan! Thanks for the quick reply.
I haven't tried it, yet. I believe that it should work. But is there any more general way of doing it? Is there any builtin keyword or variable, that corresponds to the Docker capability?
For example, here they say that there are some kind of Executable capabilities. How can I refer to them in the requirements field?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
I have the exact same problem. I can't get my build to run docker on the host machine.
Creating custom capabilities doesn't scale well. Docker is already shown as one the executable capability for the agent
An example would really help
Thanks
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Nasir,
Your issue might need further investigation from our support side. You can, however, find the examples to work with Docker in our documentation here (you need to alter the URL to match your Bamboo version).
Hope that helps.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
So I can't use the new Docker tab for our builds as it seems like it expects a pre existing docker image.
What our build does is create a new docker image, run some tests against it and then push the image to Artifactory.
I will give the custom capability a try but the yaml specs seem non functional to me as they can only do simple stuff (which I can't get to work) and not the same as java specs.
Also it doesn't support git flow (Atlassian boasts about a lot!) i.e. make changes to the yaml file per branch and only affect that branch until you merge to develop and so on.
regards,
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.