Bitbucket: المفاهيم الأساسية، Pipelines والإمكانيات

المؤلف: IT Sectr نُشر: 2026-05-09 وقت القراءة: 8 دق

Bitbucket هي منصة Git من شركة Atlassian، متكاملة مع Jira و Confluence وأدوات أخرى من النظام البيئي. توفر Bitbucket استضافة مستودعات Git، و CI/CD مدمج عبر Bitbucket Pipelines، وأدوات قوية لمراجعة الكود. وفقًا لـ Atlassian، 2024، يستخدم Bitbucket أكثر من 10 ملايين مطور و 800,000 فريق حول العالم.

الملخص

  • Bitbucket هي منصة Git من Atlassian مع تكامل عميق مع Jira و Confluence لإدارة المشاريع.
  • Bitbucket Pipelines هو CI/CD مدمج مع تكوين YAML ودعم حاويات Docker.
  • Pull Request مع مراجعة الكود يتضمن تعليقات مضمنة وفحوصات وموافقات إلزامية.
  • Bitbucket Cloud هي إصدار SaaS، Data Center للإستضافة الذاتية للعملاء المؤسسيين.
  • التكامل مع Jira يربط تلقائيًا عمليات الـ commit و PR بالمهام عبر المفاتيح في الرسائل.

ما هو Bitbucket؟

Bitbucket هي منصة ويب لاستضافة مستودعات Git، طورتها شركة Atlassian. في البداية، كان Bitbucket يدعم Mercurial فقط (منذ 2008)، ولكن بعد إيقاف دعم Mercurial في 2020، انتقل بالكامل إلى Git. المنصة متوفرة بنسختين: Bitbucket Cloud (SaaS، استضافة Atlassian) و Bitbucket Data Center (نسخة ذاتية الاستضافة للمؤسسات).

الميزة الرئيسية لـ Bitbucket مقارنة بالمنافسين هي التكامل العميق مع منتجات Atlassian. يربط Jira تلقائيًا عمليات الـ commit و Pull Request بالمهام، ويتيح Confluence تضمين مقتطفات الكود في التوثيق، ويربط Opsgenie عمليات النشر بالحوادث. للفِرق التي تستخدم بالفعل النظام البيئي لـ Atlassian، يعد Bitbucket الخيار الطبيعي لأنه لا يتطلب إعداد تكاملات إضافية.

يقدم Bitbucket Cloud عدة مستويات من الاستضافة. الخطة المجانية تتضمن مستخدمًا واحدًا ومساحة تخزين محدودة (1 جيجابايت). الخطة القياسية تكلف 3 دولارات لكل مستخدم شهريًا مع مستودعات خاصة غير محدودة و 2500 دقيقة من Pipelines شهريًا. يستخدم Bitbucket نموذج ترخيص لكل مستخدم: يتم فوترة كل مستخدم لديه حق الوصول إلى المستودع، بما في ذلك مستخدمي القراءة فقط.

Bitbucket Pipelines: CI/CD جاهز للاستخدام

Bitbucket Pipelines هو نظام CI/CD مدمج يعمل على حاويات Docker. Pipelines مدمج مباشرة في Bitbucket Cloud ولا يتطلب تثبيت منفذين منفصلين أو تكوين webhook. يتم وصف التكوين في ملف bitbucket-pipelines.yml الموجود في جذر المستودع. يتكون كل pipeline من خطوات مجمعة في تسلسلات.

يدعم Pipelines الخطوات المتوازية، والتشغيل اليدوي، والمشغلات حسب push والجدولة، والتخزين المؤقت للتبعيات والمنتجات. يتم تشغيل كل خطوة في حاوية Docker معزولة، يتم تحديد صورتها في التكوين. فيما يلي مثال على pipeline لبناء تطبيق Android مع الاختبار والنشر إلى Firebase App Distribution:

yaml
# bitbucket-pipelines.yml
image: openjdk:17-jdk

pipelines:
  pull-requests:
    '**':
      - step:
          name: Build and Test
          caches:
            - gradle
          script:
            - ./gradlew assembleDebug testDebugUnitTest
          artifacts:
            - app/build/outputs/apk/debug/

  branches:
    main:
      - step:
          name: Deploy to Firebase
          script:
            - pipe: atlassian/firebase-distribution:1.0.0
              variables:
                APP_FILE: 'app/build/outputs/apk/debug/app-debug.apk'

لدى Bitbucket Pipelines حد 50 دقيقة لكل pipeline للنسخة السحابية، وهو كافٍ لمعظم المشاريع ولكنه قد يكون عنق زجاجة للمستودعات الأحادية الكبيرة. بالنسبة لـ Data Center، تتم إزالة الحد بالكامل — يتم تحديد مدة pipeline فقط من خلال موارد الخادم المتاحة. كما يدعم Pipelines صور Docker المخصصة، مما يسمح باستخدام أي أدوات بناء واختبار.

Pull Request ومراجعة الكود في Bitbucket

Pull Request في Bitbucket مصمم مع التركيز على عمليات مراجعة الكود المؤسسية. يقدم Bitbucket: تعليقات مضمنة على أسطر معينة من الفرق، وفحوصات إلزامية من Pipelines أو الخدمات الخارجية، والحد الأدنى من الموافقات للدمج، وحظر الدمج حتى اجتياز جميع الفحوصات، وإعلان تضارب المصالح (decline). تنقسم واجهة PR إلى ثلاثة أعمدة: الكود المصدري، الفرق، وهيكل الملفات.

ميزة فريدة في Bitbucket هي Code Insights. هذه API لتكامل أدوات جودة الكود الخارجية (SonarQube، CodeScene، ESLint، Detekt) التي تعرض نتائجها مباشرة في واجهة Pull Request. يمكن للمطور رؤية: عدد الأخطاء الجديدة، تغطية الاختبارات، روائح الكود والتكرارات. يتيح Code Insights اتخاذ قرارات الدمج بناءً على مقاييس موضوعية وليس فقط الرأي الشخصي للمراجع.

يدعم Bitbucket أيضًا أذونات الفروع: يمكن منع حذف الفروع، وفرض إنشاء PR لفروع محددة، وتحديد قائمة المستخدمين الذين لديهم صلاحية الدمج في الفرع الرئيسي. بالإضافة إلى ذلك، هناك فحوصات الدمج — قائمة بالشروط الإلزامية (Pipelines ناجح، حد أدنى N من الموافقات، لا تعليقات مفتوحة) التي يجب استيفاؤها قبل أن يصبح زر الدمج متاحًا. تحمي هذه الإعدادات فرع الإنتاج من التغييرات غير الموثقة العرضية.

تكامل Bitbucket مع Jira و Confluence

تكامل Bitbucket مع Jira هو ميزة رئيسية للمنصة. عندما يضيف المطور مفتاح مهمة في رسالة الـ commit (مثلاً PROJ-123)، يربط Jira هذا الـ commit تلقائيًا بالمهمة. تعرض واجهة المهمة علامة تبويب التطوير التي تحتوي على جميع عمليات الـ commit و Pull Request والفروع والنشر المتعلقة بهذه المهمة. تقوم PRs تلقائيًا بتحديث حالة المهمة في Jira عند الدمج (الانتقال إلى Done).

Confluence تتكامل أيضًا مع Bitbucket: يمكن تضمين مقتطفات كود حية من المستودع في صفحات Confluence باستخدام ماكرو Code Block. تتم مزامنة التغييرات في الكود تلقائيًا مع Confluence، وهو أمر مناسب للحفاظ على التوثيق المعماري. بالإضافة إلى ذلك، توفر Atlassian Smart Commits — إدارة مهام Jira مباشرة من رسائل الـ commit: انتقالات الحالة، وتسجيل الوقت، وتغييرات الأولوية.

لـ أتمتة DevOps، يدعم Bitbucket Deployment Gates — ربط النشر بحالة المهمة. عندما يصل pipeline إلى مرحلة النشر، يتحقق Jira مما إذا كانت جميع المهام في الإصدار لها حالة موافق عليه. إذا لم يكن الأمر كذلك — يتم حظر النشر. هذا يطبق مبدأ Continuous Delivery مع مراقبة الجودة على مستوى المهمة، وليس فقط على مستوى الكود.

قوالب المستودعات

يسمح Bitbucket بإنشاء قوالب مستودعات لتوحيد هياكل المشاريع. للمشاريع المحمولة، يمكن إنشاء قالب بملفات مسبقة الإعداد: تكوين Gradle، gitignore، إعدادات Detekt و Ktlint، و pipeline لـ CI لنظام Android وملف README مع تعليمات البناء. يمكن إنشاء مشروع جديد من القالب ببضع نقرات، مما يسرع دمج المطورين الجدد.

Bitbucket مقابل GitHub و GitLab

مقارنة Bitbucket مع GitHub و GitLab تعتمد على النظام البيئي الذي يعمل فيه الفريق. يتخلف Bitbucket عن GitHub في حجم المجتمع (10 ملايين مقابل 100 مليون مستخدم)، لكنه يتفوق في التكاملات المؤسسية بفضل كومة Atlassian. إذا كان الفريق يستخدم بالفعل Jira لإدارة المهام و Confluence للتوثيق، فإن Bitbucket يوفر تكاملاً سلساً دون إعداد إضافي.

فيما يتعلق بـ CI/CD، فإن Bitbucket Pipelines أقل من GitLab CI/CD في السيناريوهات المتقدمة (لا توجد pipelines فرعية، أو بنى مصفوفية، أو pipelines متعددة المستويات) ومن GitHub Actions في عدد الإجراءات الجاهزة (يحتوي Marketplace Actions على أكثر من 20,000 خطوة مقابل آلاف الـ pipes العامة في Bitbucket). ومع ذلك، فإن Pipelines أسهل في التكوين للسيناريوهات الشائعة بفضل مكونات pipe الجاهزة من Atlassian.

المعيارBitbucketGitHubGitLab
CI/CDPipelines، 50 د/خطوةActions، 2000 د/شهرCI/CD، بلا حدود (ذاتي)
التكاملJira، ConfluenceCopilot، Slack، AzureKubernetes، Prometheus
الاستضافة الذاتيةData Center (مدفوع)Enterprise ServerCE (مجاني)
المستخدمون~10 ملايين~100 مليون~30 مليون
الترخيصملكيةملكيةMIT (مفتوح المصدر)

اختيار Bitbucket مبرر في سيناريوهين: الفريق يستخدم بالفعل النظام البيئي لـ Atlassian (Jira + Confluence + Opsgenie) أو يعمل في بيئة مؤسسية حيث تم نشر Bitbucket Data Center كأداة قياسية. للشركات الناشئة ومشاريع المصدر المفتوح، يقدم GitHub مجتمعًا أكثر ثراءً وميزات مجانية، بينما يقدم GitLab أفضل CI/CD ذاتي الاستضافة.

Bitbucket Data Center للمؤسسات

Bitbucket Data Center هو الإصدار المؤسسي للمنصة، مصمم للتثبيت على البنية التحتية الخاصة بك. على عكس الإصدار السحابي، يقدم Data Center: التجميع (وضع نشط-نشط لعقد متعددة)، Smart Mirroring (مرايا موزعة جغرافيًا لسرعة clone/fetch)، توفر عالي (99.99% وقت تشغيل مع التجميع)، وتدقيق كامل للإجراءات.

يتضمن Data Center جميع ميزات الإصدار السحابي، ولكن مع إضافات مؤسسية. Smart Mirroring يقوم بمزامنة المستودعات تلقائيًا بين الخوادم في مراكز بيانات مختلفة — يحصل المطورون من أوروبا وآسيا على نفس سرعة clone/fetch حيث تتم عمليات Git من خلال المرآة الأقرب. تسجل سجلات التدقيق كل إجراء: من ومتى ومن أي IP أنشأ فرعًا أو قام بـ push أو دمج PR.

ترخيص Bitbucket Data Center يعتمد على عدد المستخدمين (وليس المستودعات). الحد الأدنى للترخيص هو 50 مستخدمًا بسعر يبدأ من 1,520 دولارًا سنويًا (المستوى القياسي). Data Center إلزامي للمؤسسات التي: تتطلب اتفاقيات مستوى خدمة (SLA) على التوفر، أو لا يمكن للبيانات مغادرة الدولة (GDPR، 152-FZ)، أو يتجاوز عدد المطورين 500، أو تحتاج إلى تكامل مع نظام LDAP/SAML مؤسسي.

Bitbucket Snippets للكود المشترك

Bitbucket Snippets هي أداة لتخزين ومشاركة أجزاء صغيرة من الكود. على عكس المستودعات، لا تحتوي Snippets على تاريخ Git كامل ولكنها تدعم الإصدارات والتعليقات والنسخ (forks). Snippets مفيدة للتكوينات المشتركة (docker-compose.yml للتطوير المحلي)، ونصوص هجرة SQL، وأمثلة الكود التي لا تتطلب مستودعًا كاملاً. كل Snippet له URL فريد ويمكن ربطه بمشروع في Jira.

API Bitbucket للأتمتة

Bitbucket REST API 2.0 يسمح بإدارة برمجية للمستودعات و Pull Request والفروع والأذونات. تُستخدم API لأتمتة سير العمل: إنشاء مستودع من قالب، تحديث الأذونات بشكل مجمع، الحصول على إحصائيات Pull Request، والتكامل مع أنظمة CI الخارجية. حد الطلب هو 1,000 طلب في الساعة للمستخدمين الموثقين. تدعم API التقسيم إلى صفحات عبر معلمات Page و Pagelen للعمل مع مجموعات البيانات الكبيرة.

الأسئلة الشائعة

ما هو Bitbucket وما فائدته؟

Bitbucket هي منصة Atlassian لتخزين كود Git مع CI/CD ومراجعة الكود وتكامل مدمج مع Jira. تستخدمها الفِرق التي تعمل بالفعل في النظام البيئي لـ Atlassian.

كيف يختلف Bitbucket Pipelines عن GitHub Actions؟

Pipelines يستخدم مكونات pipe (خطوات جاهزة من Atlassian)، مما يسهل المهام النموذجية. يقدم GitHub Actions Marketplace أوسع وبنى مصفوفية مرنة، لكنه يتطلب المزيد من التكوين.

كم تكلفة Bitbucket لفريق صغير؟

لفريق من 5 أشخاص، Bitbucket Cloud Standard يكلف 15 دولارًا شهريًا (3 دولارات لكل مستخدم). الخطة المجانية متاحة فقط لمستخدم واحد مع وظائف محدودة.

كيف أنقل مستودعًا من GitHub إلى Bitbucket؟

يوفر Bitbucket أداة استيراد مدمجة من GitHub و GitLab ومنصات أخرى. في الواجهة، اختر Import repository، وأدخل URL وبيانات المصادقة — سيتم نقل جميع عمليات الـ commit والفروع.

ما هو Bitbucket Data Center؟

Data Center هو الإصدار المؤسسي من Bitbucket للتثبيت على الخوادم الخاصة مع التجميع و Smart Mirroring والتدقيق. مناسب للمؤسسات التي لديها مئات المطورين ومتطلبات أمان البيانات.

الخلاصة

  • Bitbucket هي منصة Git من Atlassian تركز على التكاملات المؤسسية ومراجعة الكود.
  • Pipelines هو CI/CD مدمج على حاويات Docker مع مكونات pipe جاهزة من Atlassian.
  • التكامل مع Jira يربط تلقائيًا عمليات الـ commit و PR بالمهام، ويحدث الحالات عند الدمج.
  • Code Insights يعرض نتائج محللي الكود الخارجيين مباشرة في واجهة Pull Request.
  • Data Center هو إصدار مؤسسي ذاتي الاستضافة مع التجميع و Smart Mirroring والتدقيق الكامل.
  • Bitbucket مثالي للفِرق التي تستخدم بالفعل Jira و Confluence في بيئة مؤسسية.
  • ابدأ بإنشاء مستودع، وتوصيل Pipelines، وتكوين Code Insights — هذا يغطي الاحتياجات الأساسية للفريق.

سنقوم بتطوير تطبيق جوال جاهز

تقدم IT Sectr تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.

مناقشة المشروع

اقرأ أيضًا