Bitbucket Pipelines FAQs

Frequently asked questions for Bitbucket Pipelines.

See also:

How much does Bitbucket Pipelines cost?

For details on pricing, see

Is there a limit to how much I can use Pipelines?

See the limitations of Pipelines.

What is a build minute?

Build minutes are minutes executing a pipeline on a runner, excluding time acquiring a runner. In other words, they're the minutes when your pipeline status is "In progress".

How can I check my usage for this month?

You can check your team or account's minutes usage for the month by going to Avatar, selecting a workspace > Settings > Plan details.

I've already added my credentials as an environment variable on another repository. Can I reuse that?

No, your credentials are shared with the Pipelines only for the repository it's connected to and can't be used in other repositories.

How can I update the list of known hosts for SSH/SCP?

The default Docker image comes with only two known hosts: and To connect via a tool that does host verification, you need to update the list of known hosts to include the fingerprint of the host that you want to connect to.

To update the list, you need to add a command in your bitbucket-pipelines.yml file. The command must be added before the first command that tries to connect to the new host.

Put the following into your bitbucket-pipelines.yml file, substituting:

  • {HOST} with the fully qualified name of the host 

  • {FINGERPRINT} with the fingerprint of the new host

1 echo "{HOST} ssh-rsa {FINGERPRINT}" >> /root/.ssh/known_hosts


An example for would look like this:

1 echo ", ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw==" >> /root/.ssh/known_hosts

For more information:

Why don't I see any pipelines?

A list of pipelines displays all builds triggered by commits, no matter if they're successful, pending, in progress, or failed. An initial commit of your bitbucket-pipelines.yml file can trigger the first build, so if you don't see any entries in the pipelines table, you might want to check a couple of things.

  • First of all, each branch needs a valid bitbucket-pipelines.yml file. 

  • If the branch that you want to build already has the bitbucket-pipelines.yml file and you still don't see any pipelines in the list, you might want to add a configuration pipeline that will match your branch. You can do it in two ways:

    • add a branch-specific pipeline that matches the name of the branch that you want to build

    • add a default pipeline that will have configuration for all branches, unless specified otherwise

For more information, see Configure bitbucket-pipelines.yml.

Can I whitelist IP address ranges to grant Bitbucket Pipelines access to my firewall?

Yes. See What are the Bitbucket Cloud IP addresses for the public IP addresses. Note that Bitbucket Pipelines is a shared service and the same IP addresses are used by builds configured by all our customers.

Can I commit without triggering the pipeline?

Yes. If you don't want to run a pipeline on a commit that would normally trigger one, you can include [skip ci] or [ci skip] anywhere in your commit message of the HEAD commit. Any commits that include [skip ci] or [ci skip] in the message are ignored by Pipelines.

Why doesn't $? get the expected exit code from the previously run command?

Pipelines executes the printf command before every command in a script section of the bitbucket-pipelines.yml file in order to print those commands to the logs. This means, for example, that:

1 2 script: - mvn clean build

actually behaves like this:

1 2 3 script: - printf "+ mvn clean build\n" - mvn clean build

See this Atlassian Community question for more details.

If I’ve pushed a Git annotated tag in my Pipeline step, why can’t I retrieve it in a subsequent step?

This could be a result of the cache optimizations Bitbucket does in relation to clones. To fix this issue, instruct Pipelines to perform a full clone in the step that looks up the Git annotated tag, as shown in the code snippet below.


1 2 3 - step: clone: depth: full

Alternatively, if you have a large repository that will take a long time to fully clone, you can fetch the tags by executing the following command as your first script command: git fetch --tags

How can I give you feedback?

Use the Give feedback! button on Bitbucket or Pipeline pages. Note that we are unable to respond to this feedback, but we do read it!

  For feature requests, raise an issue on our issue tracker.

  For technical support, raise a ticket with our technical support team.

Additional Help