Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

How to build docker image from yaml specs?

mode89
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
April 10, 2018

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.

1 answer

0 votes
Jeyanthan I
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
April 10, 2018

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?

mode89
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
April 10, 2018

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?

uknami
Contributor
July 3, 2018

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 

Jeyanthan I
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
July 4, 2018

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.

uknami
Contributor
July 18, 2018

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,

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events