【入門編】Bitbucket Pipelinesの隠れた名機能「Deployment Environments」でリリース管理を可視化する – バージョン管理・CI/CD活用バイブル

こんにちは。現場で泥臭いトラブルシューティングを繰り返しながら、システムの安定稼働を追求しているエンジニアです。

今日は、Bitbucketを使っているチームが「なんとなく」使いがちなCI/CDツール「Bitbucket Pipelines」を、最強のリリース管理ツールへと昇華させる秘訣をお話しします。

多くのチームが「コードをプッシュして、デプロイされる」という自動化で満足していますが、本当にプロフェッショナルな現場が求めているのは、「今、どのバージョンのコードが、どの環境で動いているか」を一瞬で把握できる透明性です。

それを実現するのが、Bitbucket Pipelinesの隠れた名機能「Deployment Environments(デプロイ環境)」です。

—

1. なぜ「Deployment Environments」が必要なのか?

初心者のうちは、スクリプトでベタ書きのデプロイを組みがちです。しかし、開発規模が大きくなると「ステージングには誰のコードが入ってる?」「本番環境の環境変数はどこで管理してる?」という混乱が必ず起きます。

Deployment Environmentsを使うと、以下のメリットが生まれます。

  • 可視化: Bitbucketの画面上で、どの環境に何がデプロイされたか一目でわかる。
  • 承認フロー: 本番デプロイ時に「ボタンを押す」という人的な承認ステップを簡単に挟める。
  • 変数管理の隔離: 環境ごとに安全にパスワードやAPIキーを管理できる。

これをマスターすれば、もう「本番環境に間違えてデバッグ用のコードを流した」なんて悲劇とは無縁になれますよ。

—

2. さあ、設定を始めよう:bitbucket-pipelines.yml の極意

まずは、プロジェクトのルートにある `bitbucket-pipelines.yml` に定義を記述します。ここが全ての司令塔です。

image: atlassian/default-image:latest

1. ここで環境を定義する(pipelinesのトップレベルで指定)
deployments:
staging:

  • step:

name: Deploy to Staging
deployment: Staging # Bitbucket側で「Staging」として認識させる
script:

  • echo “Deploying to Staging…”
  • ./deploy.sh –env staging

production:

  • step:

name: Deploy to Production
deployment: Production
trigger: manual # ここが重要!手動承認(ボタンを押すまで待機)にする
script:

  • echo “Deploying to Production…”
  • ./deploy.sh –env production

pipelines:
branches:
master:

  • step: build-and-test # 共通のビルド処理などはアンカー機能でDRYに
  • step:

<<: deploy-to-staging main:

  • step: build-and-test
  • step:

<<: deploy-to-production # 本番へのパス ここがポイント!

  • `deployment: Staging` と書くだけで、BitbucketのGUI上に環境が自動生成されます。
  • `trigger: manual` を指定することで、本番デプロイは「管理者がボタンを押した時だけ」実行されます。これが本番事故を防ぐ最後の砦です。

—

3. GUIで「今」を確認する

設定を反映して一度デプロイを走らせてみてください。
Bitbucketのリポジトリ画面の左メニューにある 「Deployments」 をクリックしてみましょう。

そこには、まるで魔法のように:

  • Environment(環境): Staging / Production
  • Status(状態): Success / Failed
  • Current Version: 最後にどのコミットがデプロイされたか

が美しく並んでいるはずです。これこそが、チームの心理的安全性を支える「可視化」の正体です。

—

4. 環境ごとの変数は「Workspace Variables」で守る

「本番環境のDBパスワードをYAMLに書く」なんてことは絶対にしないでくださいね。

Bitbucketの [Repository settings] > [Pipelines] > [Deployments] へ移動してください。ここで先ほど定義した `Staging` や `Production` ごとに、専用の環境変数を登録できます。

  • Secured: チェックを入れると値がマスクされ、ログにも表示されなくなります。
  • Scope: 本番環境だけにこのAPIキーを使う、といった制御が可能です。

これにより、コード自体を環境に依存させず、「環境変数を差し替えるだけで動く」クリーンなデプロイパイプラインが完成します。

—

先輩エンジニアからの最後のアドバイス

CI/CDの真髄は「自動化」ではなく「信頼の構築」です。

パイプラインが緑色に光り、GUIで誰がいつデプロイしたかが可視化されている状態は、チームメンバーに「このシステムはいつでも安全にリリースできる」という自信を与えます。

まずは小さなプロジェクトで、この `Deployment Environments` を試してみてください。慣れてくると、もうこの機能なしでのデプロイは怖くてできなくなるはずです。

もし分からないことがあれば、いつでも聞いてください。あなたのパイプラインが、今日からより堅牢で美しいものになることを応援しています!

タイトルとURLをコピーしました