Bitbucket CI/CDで自動デプロイを設定する方法【実践編】

Bitbucket CI/CDで自動デプロイを設定する方法【実践編】

Bitbucket CI/CDで自動デプロイを設定する方法【実践編】

📌 目次

🔍 Bitbucket CI/CDとは?

Bitbucket CI/CDは、Bitbucket Pipelinesを活用した自動化ツールであり、開発プロセスを効率化するための仕組みです。コードの変更を検知し、テスト、ビルド、デプロイを自動化できます。

💡 CI/CDを導入するメリット

  • 開発スピードの向上: 手作業のデプロイを削減し、迅速なリリースが可能。
  • エラーの早期発見: コード変更ごとに自動テストを実行し、不具合を事前に防ぐ。
  • 安定したデプロイ: 環境の違いによる問題を減らし、一貫したデプロイプロセスを実現。
  • ヒューマンエラーの削減: 自動化により、デプロイミスや設定ミスを防ぐ。

⚙️ Bitbucket CI/CDの基本設定

Bitbucket CI/CDを利用するためには、まずPipelinesを有効化し、適切な設定を行う必要があります。以下の手順でセットアップを進めます。

📌 1. Bitbucket Pipelinesの有効化

  1. Bitbucketのリポジトリにアクセスし、左側のメニューから「Repository settings」を開く。
  2. 「Pipelines」セクションを選択し、「Enable Pipelines(Pipelinesを有効化)」をクリック。

📌 2. YAMLファイルの作成

リポジトリのルートディレクトリにbitbucket-pipelines.ymlというファイルを作成し、CI/CDのプロセスを定義します。

image: node:16
pipelines:
  default:
    - step:
        name: Install dependencies
        caches:
          - node
        script:
          - npm install
    - step:
        name: Run Tests
        script:
          - npm test

📌 3. 環境変数の設定

APIキーやデータベースの接続情報など、機密情報を環境変数として管理します。

  1. Bitbucketの「Repository settings」→「Environment variables」に移動。
  2. 「Add variable」をクリックし、必要なキーと値を入力。
  3. 「Secured」をONにすると、変数の値がマスキングされます。

📌 4. キャッシュの活用

ビルド時間を短縮するために、依存関係のキャッシュを設定します。例えば、Node.jsの場合:

caches:
  - node

これにより、次回のビルド時に依存関係を再インストールする必要がなくなります。

📌 5. 実行結果の確認

Pipelinesが正しく動作するか確認するため、テストコミットをプッシュし、「Pipelines」タブでログをチェックします。

🚀 自動デプロイの設定手順

Bitbucket CI/CDを活用して自動デプロイを設定することで、開発プロセスの効率化と安定性の向上が可能です。以下の手順で安全かつスムーズなデプロイ環境を構築しましょう。

📌 1. デプロイ先サーバーの準備

  1. デプロイ先のサーバーにSSHでログインし、必要なディレクトリを作成。
  2. 適切なユーザー権限を設定し、Bitbucketからアクセスできるようにする。
  3. 必要なランタイム環境(Node.js, Python, Docker など)をインストール。

📌 2. SSH鍵の設定

  1. ローカルマシンでSSH鍵を生成(Bitbucket専用の鍵を作成)。
  2. ssh-keygen -t rsa -b 4096 -C "bitbucket-ci"
  3. 生成された公開鍵(id_rsa.pub)をデプロイ先サーバーの~/.ssh/authorized_keysに追加。
  4. Bitbucketの「Repository settings」→「SSH keys」に秘密鍵(id_rsa)を登録。

📌 3. Bitbucket Pipelinesにデプロイステップを追加

デプロイの自動化を行うために、bitbucket-pipelines.ymlにデプロイステップを追加します。

pipelines:
  branches:
    master:
      - step:
          name: Deploy to Production
          deployment: production
          script:
            - echo "Starting deployment..."
            - scp -r ./dist user@server:/var/www/project
            - ssh user@server 'cd /var/www/project && npm install --production && pm2 restart app'

📌 4. 環境変数の設定

  1. Bitbucketの「Repository settings」→「Environment variables」を開く。
  2. 以下の変数を追加し、安全に管理。
    • DEPLOY_SERVER(デプロイ先のサーバーアドレス)
    • DEPLOY_USER(デプロイ用のSSHユーザー)
    • DEPLOY_PATH(デプロイ先のディレクトリ)

📌 5. デプロイのテスト

  1. 新しいブランチを作成し、デプロイ用の設定が正しく機能するかテスト。
  2. テスト後、Bitbucket Pipelinesのログを確認し、エラーが発生していないかチェック。
  3. 必要に応じてデバッグを行い、本番環境に適用。

📌 6. ロールバック戦略の準備

万が一のデプロイ失敗時に備えて、以下の方法でロールバックを迅速に行えるように準備しておきます。

  • Gitタグや過去のブランチを使用して、安定版のバージョンへ迅速に戻せるようにする。
  • デプロイ前にバックアップを取得し、環境を復旧できるようにする。
  • デプロイスクリプトにロールバック用のコマンドを追加しておく。

これで、Bitbucket CI/CDを活用した自動デプロイ環境のセットアップが完了しました。今後の運用の中で適宜最適化を行い、よりスムーズなデプロイプロセスを確立しましょう。

✅ 自動デプロイのベストプラクティス

  • 環境変数を活用: APIキーや認証情報を直接コードに含めず、安全に管理。
  • デプロイの前にテストを実施: バグが本番環境に流入しないようにする。
  • ロールバック戦略を用意: 万が一問題が発生した場合に迅速に対応できるように。
  • 自動通知を設定: Slackやメール通知を設定し、デプロイの成功・失敗をチームに共有。

❓ Q&A

Q1. Bitbucket Pipelinesは無料で使えますか?

A. 無料プランでも利用可能ですが、実行時間には制限があります。

Q2. 環境変数の設定方法は?

A. Bitbucketの「Repository settings」→「Environment variables」から追加可能です。

Q3. デプロイが失敗する場合の対処法は?

A. ログを確認し、環境変数や接続設定を見直しましょう。

Q4. 複数の環境(開発/本番)でデプロイを分けるには?

A. branches セクションを使用し、環境ごとに異なるステップを定義します。

Q5. Slack通知を設定するには?

A. BitbucketのWebhook機能を利用し、SlackのIncoming Webhookと連携します。

このブログの人気の投稿

Windowsリモートデスクトップ設定方法

ホームページ制作って開発者なしで、Elementorで可能か?

BitbucketとJiraを連携する方法!開発チーム向け効率化ガイド