I want to build a docker image from a Bamboo YAML Specs. I tried to do the following:
- 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.
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?
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.