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

Next challenges

Recent achievements

  • Global
  • Personal


  • Give kudos
  • Received
  • Given


  • Global

Trophy case

Kudos (beta program)

Kudos logo

You've been invited into the Kudos (beta program) private group. Chat with others in the program, or give feedback to Atlassian.

View group

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

How can I access a private repo within a docker service container? Edited



I am using a docker service in bitbucket-pipelines and calling composer from within that container. However, that container does not have permission to access private repositories in bitbucket.


Would I need to create a new user just for the CI with a private key to get this working or is there an easier way to link to the existing account?

1 answer

0 votes

Hi @Antonios Pavlakis ,

If you only need to clone (and not push to) another private Bitbucket repo, you can set up Access keys.

Let's say you have repo-A and repo-B, Pipelines is running in repo-A and you want to clone repo-B.

  1. In Bitbucket website, go to repo-A's Repository settings > SSH keys
  2. In that page you can generate an SSH key pair
  3. Copy the public SSH key
  4. Go to repo-B's Repository settings > Access keys
  5. Add there the public key you copied before

You will then be able to clone repo-B from Pipelines builds running in repo-A via SSH. You will need to have admin permissions to both repos to access their Repositories settings page.

Access keys give read-only access, so if you also need to push to repo-B, you'll need a different approach.

If you don't want to tie authentication to a certain user, you can set up OAuth:

If the repos don't belong in the same workspace, you'll need to generate an OAuth consumer in the workspace that owns repo B. You'll need to have admin permissions in the workspace to do that.

Please note that the script in the documentation above is for pushing back to the same repo where Pipelines is running. If you want to push to a different repo, you can adjust the URL in the example to be the one of repo-B and use that URL in the push command (no need to change origin).

I hope this helps, please feel free to let me know if you have any questions.

Kind regards,

Suggest an answer

Log in or Sign up to answer
Community showcase
Published in Jira

Announcing the waitlist for Jira Work Management

Hey there Cloud Community members! We’re excited to give you the first glimpse of the new home for business teams on Jira — Jira Work Management. Jira Work Management is the next generation of J...

127 views 2 7
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you