Bitbucket Pipelines

Cloud版に付属しているCI/CDツール。 製品ページ

Documentation

参考:

Features

Deployments

Documentation:

NOTE:

  • Deployments設定で、デプロイ先環境の管理ができる。
  • bitbucket-pipelines.ymlのstep設定で deployment: Production などと指定すると、そのstepのビルドがデプロイ先環境と紐付けられる。
  • ダッシュボードで履歴が確認できる
  • ロールバックもGUIぽちぽちで行ける

How-to

プルリクエストで実行する

ドキュメント: bitbucket-pipelines.yml の設定 - アトラシアン製品ドキュメント

pull-requests というキーワードによって、PRをトリガーとするパイプライン処理を記述できる。

Example:

pipelines:
  pull-requests:
    '**': #this runs as default for any branch not elsewhere defined
      - step:
          script:
            - ...
    feature/*: #any branch with a feature prefix
      - step:
          script:
            - ...

参考:

ステップを手動実行する

ドキュメント: bitbucket-pipelines.yml の設定 - アトラシアン製品ドキュメント

  • trigger: manual をつける。
  • ※最初のステップは手動にはできない

Example:

pipelines:
  default:
    - step:
        script:
          - ./run-test.sh
    - step:
        trigger: manual
        script:
          - ./deploy.sh

Tips:

  • パイプライン全体を手動トリガーで実行する場合、customパイプラインを使う

Dockerイメージの利用

Docker イメージをビルド環境として使用する - アトラシアン製品ドキュメント

  • DockerHubでは認証情報を渡すことでプライベートイメージの利用も可能
  • AWSのECRやGCPのGCRも利用可能

パイプラインの変数

パイプラインでの変数 - アトラシアン製品ドキュメント

  • 「secure」チェックをONにすると、パイプラインの実行ログ上でもマスクされ、表示されなくなる
    • $MY_SECRET のように表示される

パイプラインをトリガーせずにコミット

コミットメッセージに [skip ci] または [ci skip] を含める。

Bitbucket Pipelines の FAQ - アトラシアン製品ドキュメント

パイプラインからリポジトリを変更してプッシュする

リポジトリにプッシュ バックする - アトラシアン製品ドキュメント

Example:

pipelines:
  default:
    - step:
        script:
        - echo "Made a change in build ${BITBUCKET_BUILD_NUMBER}" >> changes.txt
        - git add changes.txt
        - git commit -m "[skip ci] Updating changes.txt with latest build number."
        - git push

Topics

Server版ではどうすればよいか?

Bitbucketサーバ版に対応してそうなCIツール:

  • CircleCI