Skip to main content

Bitbucket Pipeline

To use Bitbucket CI/CD, You can create bitbucket-pipelines.yaml file in the root of your application or use Bitbucket pipeline in the dashboard

BitBucket Pipeline

Here’s how you can set up a pipeline configuration for Bitbucket:

image: dart:stable

- step:
name: Code Quality
- apt-get update && apt-get install -y --no-install-recommends wget gnupg2
- wget -qO- | gpg --dearmor -o /usr/share/keyrings/dcm.gpg
- echo 'deb [signed-by=/usr/share/keyrings/dcm.gpg arch=amd64] stable main' | tee /etc/apt/sources.list.d/dart_stable.list
- apt-get update
- apt-get install -y dcm=1.18.1-1 # Adjust DCM version as needed
- dcm run --analyze --unused-code --reporter=checkstyle lib > checkstyle-result.xml # DCM_CI_KEY and DCM_EMAIL retrieved from ENV automatically
- pipe: atlassian/checkstyle-report:0.4.0

BitBucket Pipeline

  1. Image: Specifies the Docker image to use for running the pipeline. Here, dart:stable is used.

  2. Pipelines: Defines the pipeline configuration. In Bitbucket Pipelines, you organize jobs under specific triggers (branches in this case).

  3. Branch Configuration: Under branches, you specify which branch triggers this pipeline configuration (main branch in this example).

  4. Steps:

    • Each step represents a job within the pipeline.
    • Step Name: Describes the job purpose (DCM Analysis).
    • Script:
      • Installs necessary packages (wget, gnupg2) required for setting up DCM.
      • Downloads DCM's GPG key and adds the repository configuration.
      • Updates package lists and installs DCM using apt-get install.
      • Runs dcm analyze or dcm run with the provided DCM_CI_KEY and DCM_EMAIL parameters to perform static code analysis on the lib directory. Note that you don't need to pass DCM_CI_KEY and DCM_EMAIL if they are available in ENV variables. DCM can automatically detect and retrieve them from Env variables.
      • Pipe and create xml file for atlassian/checkstyle-report to analyze and report in PR.

Here is the pipeline result in BitBucket console:

BitBucket Console

Here is the pipeline result in BitBucket PR:

BitBucket PR

  • Environment Variables: Replace $DCM_CI_KEY and $DCM_EMAIL with actual values or Bitbucket environment variables.

  • Security: Handle sensitive information securely using Bitbucket’s environment variables or secret management features.

  • Customization: Adjust the DCM version (1.18.1-1 in this example) according to your project's requirements.

Setting Environment Variables in Bitbucket

Bitbucket allows you to set environment variables directly in the repository settings or through the pipeline configuration UI:

  1. Repository Settings: Navigate to your Bitbucket repository, go to Settings > Pipelines > Environment variables. Here, you can add and manage environment variables securely.

  2. Pipeline Configuration: You can also define environment variables directly within the pipeline configuration YAML file using the variables section or referencing them inline.