Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Bitbucket Pipelines - steps - docker - cant find image

Steve Stokes
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!
May 11, 2018

I'm building my pipline to create a docker image, then push it to AWS. I have it broken into steps, and in Bitbucket, you have to tell it what artifacts to share between them. I have a feeling this is a simple bug, but I just cannot figure it out.

It's failing at 'docker tag' in step 4 with:

docker tag $DOCKER_PROJECT_NAME:v.$BITBUCKET_BUILD_NUMBER $AWS_REGISTRY_URL/$DOCKER_PROJECT_NAME:v.$BITBUCKET_BUILD_NUMBER
Error response from daemon: No such image: projectname:v.11

Basically it cannot find the docker image created...

Here's my pipeline script (some of it simplified)

image: atlassian/default-image:latest

options:
  docker: true

pipelines:
  branches:
    dev:          
      - step:
         name: 1. Install dotnet
         script:
           # Do things

      - step:
         name: 2. Install AWS CLI
         script:
           # Do some more things

      - step:
         name: 3. Build Docker Image
         script:
           - export DOCKER_PROJECT_NAME=projectname

           - docker build -t $DOCKER_PROJECT_NAME:latest -t $DOCKER_PROJECT_NAME:v.$BITBUCKET_BUILD_NUMBER .
         artifacts:
           - ./**

      - step:
         name: 4. Push Docker Image to AWS
         script:
           # Tag and push my docker image to ECR
           - export DOCKER_PROJECT_NAME=projectname
           - docker tag $DOCKER_PROJECT_NAME:v.$BITBUCKET_BUILD_NUMBER $AWS_REGISTRY_URL/$DOCKER_PROJECT_NAME:v.$BITBUCKET_BUILD_NUMBER
           - docker push $AWS_REGISTRY_URL/$DOCKER_PROJECT_NAME:v.$BITBUCKET_BUILD_NUMBER

Now, I know this script works, but only if I remove all the steps. For whatever reason, step 4 doesn't have access to the docker image created in step 3. Any help is appreciated!

1 answer

0 votes
Philip Hodder
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
March 3, 2019

The state of one step is not carried to the next. So you'll need to combine step 3 and step 4 together in order to tag and push the built image. In any subsequent steps, you can then pull the image and operate on it (perhaps to retag the image for a deployment step).

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events