bitbucket-workflow
Bitbucketのプルリクエスト、Pipelines CI/CD、Jira連携、およびAtlassianエコシステムワークフローのベストプラクティス
description の原文を見る
Bitbucket best practices for pull requests, Pipelines CI/CD, Jira integration, and Atlassian ecosystem workflows
SKILL.md 本文
Bitbucket ワークフローのベストプラクティス
Bitbucket ワークフロー(プルリクエスト、Bitbucket Pipelines、Jira 統合、Atlassian エコシステムのベストプラクティス)の専門家です。
コア原則
- すべてのコード変更に対して適切なレビュープロセスを備えたプルリクエストを使用します
bitbucket-pipelines.ymlを使用した Bitbucket Pipelines で CI/CD を実装します- Jira 統合を活用してシームレスな課題追跡を実現します
- Gitflow などのブランチングモデルに従い、構造化された開発を行います
- ブランチパーミッション とアクセス制御を通じてセキュリティを維持します
プルリクエストのベストプラクティス
効果的なプルリクエストの作成
-
PR は焦点を絞り、レビュー可能に保つ
- 機能または修正は 1 つの PR に 1 つ
- 説明にコンテキストを含める
-
PR タイトルの慣例
- Jira 課題を参照:
PROJ-123: Add user authentication - 従来形式を使用:
feat: implement login page
- Jira 課題を参照:
-
PR 説明テンプレート
## Summary 変更内容と動機の簡潔な説明。 ## Jira Issue [PROJ-123](https://your-org.atlassian.net/browse/PROJ-123) ## Changes - 行った具体的な変更のリスト ## Testing - 変更がどのようにテストされたか - 手動テストの手順 ## Checklist - [ ] テストを追加/更新 - [ ] ドキュメントを更新 - [ ] パイプラインがパス
Bitbucket でのコードレビュー
- レビュアーを追加する - 適切なチームメンバーを選択
- タスクを使用する - アクション可能なフィードバックのためのタスクを作成
- 承認または変更をリクエスト - 明確な承認ワークフロー
- ディスカッションを解決 - マージ前にすべてのフィードバックに対応
マージ戦略
- マージコミット: ブランチ履歴全体を保持
- スクイャッシュ: 複数のコミットを 1 つのコミットに結合
- ファストフォワード: 可能な場合は線形履歴
Bitbucket Pipelines
基本的なパイプライン設定
image: node:20
definitions:
caches:
npm: ~/.npm
steps:
- step: &build-step
name: Build
caches:
- npm
script:
- npm ci
- npm run build
artifacts:
- dist/**
- step: &test-step
name: Test
caches:
- npm
script:
- npm ci
- npm test
pipelines:
default:
- step: *build-step
- step: *test-step
branches:
main:
- step: *build-step
- step: *test-step
- step:
name: Deploy to Production
deployment: production
trigger: manual
script:
- pipe: atlassian/aws-s3-deploy:1.1.0
variables:
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION: 'us-east-1'
S3_BUCKET: 'my-bucket'
LOCAL_PATH: 'dist'
develop:
- step: *build-step
- step: *test-step
- step:
name: Deploy to Staging
deployment: staging
script:
- ./deploy.sh staging
パイプラインの機能
並列ステップ
pipelines:
default:
- parallel:
- step:
name: Unit Tests
script:
- npm test:unit
- step:
name: Integration Tests
script:
- npm test:integration
- step:
name: Lint
script:
- npm run lint
条件付きステップ
pipelines:
pull-requests:
'**':
- step:
name: Build and Test
script:
- npm ci
- npm test
condition:
changesets:
includePaths:
- "src/**"
- "package.json"
カスタムパイプ
pipelines:
default:
- step:
name: Deploy
script:
- pipe: atlassian/aws-ecs-deploy:1.6.0
variables:
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION: 'us-east-1'
CLUSTER_NAME: 'my-cluster'
SERVICE_NAME: 'my-service'
TASK_DEFINITION: 'task-definition.json'
テスト用サービス
definitions:
services:
postgres:
image: postgres:15
variables:
POSTGRES_DB: test_db
POSTGRES_USER: test_user
POSTGRES_PASSWORD: test_pass
redis:
image: redis:7
pipelines:
default:
- step:
name: Integration Tests
services:
- postgres
- redis
script:
- npm ci
- npm run test:integration
キャッシング
definitions:
caches:
npm: ~/.npm
pip: ~/.cache/pip
gradle: ~/.gradle/caches
pipelines:
default:
- step:
caches:
- npm
script:
- npm ci
- npm run build
Jira 統合
スマートコミット
コミットメッセージから Jira 課題を更新するためのスマートコミットを有効にします:
PROJ-123 #comment Fixed the login redirect issue
PROJ-123 #time 2h 30m
PROJ-123 #done
ブランチ命名
ブランチ名に Jira 課題キーを含める:
feature/PROJ-123-user-authenticationbugfix/PROJ-456-fix-login-redirect
これにより、ブランチが課題に自動的にリンクされます。
自動化ルール
Jira オートメーションをセットアップ:
- ブランチ作成時に課題を「進行中」に移動
- PR 作成時に課題を「レビュー中」に移動
- PR マージ時に課題を「完了」に移動
ブランチングモデル
Bitbucket の Gitflow
pipelines:
branches:
main:
- step:
name: Deploy Production
deployment: production
script:
- ./deploy.sh production
develop:
- step:
name: Deploy Staging
deployment: staging
script:
- ./deploy.sh staging
'release/*':
- step:
name: Release Build
script:
- npm run build:release
'feature/*':
- step:
name: Feature Build and Test
script:
- npm ci
- npm test
'hotfix/*':
- step:
name: Hotfix Build
script:
- npm ci
- npm test
ブランチパーミッション
リポジトリ設定 > ブランチパーミッションで設定:
Main ブランチ:
- ダイレクトプッシュなし
- プルリクエストが必須
- 最小 1 件の承認が必須
- ビルド成功が必須
- すべてのタスク解決が必須
Develop ブランチ:
- プルリクエストが必須
- 最小 1 件の承認が必須
- ビルド成功が必須
リポジトリ管理
デフォルトレビュアー
一貫したコードレビューのためにデフォルトレビュアーを設定:
- チームリーダーをデフォルトレビュアーとして追加
- CODEOWNERS のようなパターンを使用
マージチェック
マージチェックを有効化:
- 最小承認数
- 未解決のタスクなし
- ビルド成功
- 変更リクエストなし
アクセスレベル
- Admin: 完全なコントロール
- Write: プッシュとマージ
- Read: クローンと表示
セキュリティのベストプラクティス
リポジトリ変数
リポジトリ設定 > パイプライン > 変数でセキュア変数を設定:
# パイプラインで参照
script:
- echo "Deploying with token"
- ./deploy.sh --token=$DEPLOY_TOKEN
変数オプション:
- Secured: ログでマスク
- デプロイに必須
IP 許可リスト
デプロイ環境に対して特定の IP 範囲へのパイプラインアクセスを制限します。
アクセストークン
個人トークンの代わりにリポジトリまたはプロジェクトアクセストークンを使用:
- 特定のリポジトリにスコープ化
- ローテーションが簡単
- より良い監査証跡
デプロイメント環境
環境設定
pipelines:
branches:
main:
- step:
name: Deploy to Production
deployment: production
script:
- ./deploy.sh
リポジトリ設定 > デプロイメントで環境を設定:
- 環境ごとに環境変数を設定
- デプロイパーミッションを設定
- デプロイ履歴を表示
デプロイメントパーミッション
- 本番環境への特定ユーザーの承認が必須
- デプロイウィンドウをセットアップ
- デプロイフリーズ期間を有効化
Atlassian エコシステム統合
Confluence 統合
- リポジトリを Confluence スペースにリンク
- コードスニペットを埋め込む
- コミットからドキュメントを自動更新
Trello 統合
- カードをコミットに接続
- PR イベント時の自動カード移動
Opsgenie 統合
- パイプライン失敗からアラートをトリガー
- デプロイの問題についてのオンコール通知
ベストプラクティスの要約
- Jira キー付きの説明的なブランチ名を使用
- Main ブランチのブランチパーミッションを設定
- 適切なステージを備えた包括的なパイプラインを実装
- 一般的なタスク(AWS、Docker など)にパイプを使用
- スマートコミットを有効化して Jira を更新
- 適切なパーミッションを備えたデプロイメント環境を設定
- シークレット用のリポジトリ変数を使用
- 品質ゲートのマージチェックを設定
- Atlassian 統合を活用してシームレスなワークフローを実現
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- d-subrahmanyam
- ライセンス
- MIT
- 最終更新
- 2026/3/24
Source: https://github.com/d-subrahmanyam/deno-fresh-microservices / ライセンス: MIT
関連スキル
superpowers-streamer-cli
SuperPowers デスクトップストリーマーの npm パッケージをインストール、ログイン、実行、トラブルシューティングできます。ユーザーが npm から `superpowers-ai` をセットアップしたい場合、メールまたは電話でサインインもしくはアカウント作成を行いたい場合、ストリーマーを起動したい場合、表示されたコントロールリンクを開きたい場合、後で停止したい場合、またはソースコードへのアクセスなしに npm やランタイムの一般的な問題から復旧したい場合に使用します。
catc-client-ops
Catalyst Centerのクライアント操作・監視機能 - 有線・無線クライアントのリスト表示・フィルタリング、MACアドレスによる詳細なクライアント検索、クライアント数分析、時間軸での分析、SSIDおよび周波数帯によるフィルタリング、無線トラブルシューティング機能を提供します。MACアドレスやIPアドレスでのクライアント検索、サイト別やSSID別のクライアント数集計、無線周波数帯の分布分析、Wi-Fi信号の問題調査が必要な場合に活用できます。
ci-cd-and-automation
CI/CDパイプラインの設定を自動化します。ビルドおよびデプロイメントパイプラインの構築または変更時に使用できます。品質ゲートの自動化、CI内のテストランナー設定、またはデプロイメント戦略の確立が必要な場合に活用します。
shipping-and-launch
本番環境へのリリース準備を行います。本番環境へのデプロイ準備が必要な場合、リリース前チェックリストが必要な場合、監視機能の設定を行う場合、段階的なロールアウトを計画する場合、またはロールバック戦略が必要な場合に使用します。
linear-release-setup
Linear Releaseに向けたCI/CD設定を生成します。リリース追跡の設定、LinearのCIパイプライン構築、またはLinearリリースとのデプロイメント連携を実施する際に利用できます。GitHub Actions、GitLab CI、CircleCIなど複数のプラットフォームに対応しています。
tracking-application-response-times
API エンドポイント、データベースクエリ、サービスコール全体にわたるアプリケーションのレスポンスタイムを追跡・最適化できます。パフォーマンス監視やボトルネック特定の際に活用してください。「レスポンスタイムを追跡する」「API パフォーマンスを監視する」「遅延を分析する」といった表現で呼び出せます。