نظرة عامة على Azure DevOps Services
تعرّف على خدمات Azure DevOps الخمس، وأنشئ مؤسسة ومشروعًا، وصِل مستودع التعليمات البرمجية لبدء تتبع عناصر العمل وعمليات الإيداع معًا.
نظرة عامة على Azure DevOps Services درس مجاني في Azure Fundamentals على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Azure Fundamentals، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Azure Fundamentals 4 دروس في المجموع.
ما المقصود بـ Azure DevOps؟
إن Azure DevOps مجموعة مستضافة سحابيًا من أدوات المطورين من Microsoft، تغطي دورة حياة تسليم البرامج بالكامل. وتجمع بين إدارة المشاريع، والتحكم في المصدر، وأتمتة الإنشاء والإصدار، وإدارة الاختبارات، وتخزين العناصر البرمجية في منصة متكاملة واحدة. ويمكن للفرق التي تستخدم Azure DevOps تخطيط دورات العمل، وتنفيذ التعليمات البرمجية، وتشغيل عمليات الإنشاء المؤتمتة، والنشر في بيئة الإنتاج، وتتبع مقاييس الجودة — كل ذلك من خدمة واحدة تتكامل بعمق مع خدمات Azure الأخرى.
خدمات Azure DevOps الخمس
يتألف Azure DevOps من خمس خدمات: Azure Boards (تتبع عناصر العمل بأسلوب Agile — الملاحم، والقصص، والمهام، والأخطاء)، وAzure Repos (مستودعات Git غير محدودة أو TFVC القديم)، وAzure Pipelines (أتمتة CI/CD لأي لغة ومنصة وسحابة)، وAzure Test Plans (الاختبار اليدوي والاستكشافي، وحالات الاختبار، ومقاييس الجودة)، وAzure Artifacts (موجّه حزم شامل لـ NuGet وnpm وMaven وPython وصور الحاويات).
المؤسسات والمشاريع
يبدأ التسلسل الهرمي لـ Azure DevOps بـ مؤسسة — وهي الحاوية العليا المرتبطة بمستأجر Azure AD، وتُسمّى عادةً باسم شركتك. وتنشئ داخل المؤسسة مشاريع، يمثل كل منها منتجًا برمجيًا أو فريقًا. ويحصل كل مشروع على Boards وRepos وPipelines وTest Plans وArtifacts الخاصة به. ويُكوَّن التحكم في الوصول والفوترة والإعدادات على مستوى المؤسسة، لكن يمكن تجاوزها لكل مشروع.
# Create an Azure DevOps project via CLI
# First install the Azure DevOps extension
az extension add --name azure-devops
# Configure defaults
az devops configure --defaults organization=https://dev.azure.com/myorg
# Create a new project
az devops project create \
--name MyProject \
--description 'E-commerce platform' \
--visibility private \
--process AgileAzure Boards: التخطيط بأسلوب Agile
تدعم Azure Boards ثلاثة قوالب للعمليات: Basic (المشكلات والمهام البسيطة)، وAgile (الملاحم والميزات وقصص المستخدم والمهام والأخطاء)، وScrum (الملاحم والميزات وعناصر تراكم المنتج والمهام والأخطاء). وتنتقل عناصر العمل بين حالات قابلة للتهيئة. وتعرض لوحة Kanban العمل الجاري بصريًا؛ وتخطط قوائم تراكم دورة العمل للسعة؛ بينما تحدد قوائم التراكم أولوية كل العمل الذي لم يبدأ. واربط عناصر العمل بعمليات التنفيذ وطلبات السحب وحالات الاختبار لتحقيق إمكانية تتبع كاملة.
# Create a work item (User Story) via CLI
az boards work-item create \
--title 'Add payment processing' \
--type 'User Story' \
--description 'As a customer I want to pay by credit card' \
--assigned-to developer@contoso.com \
--project MyProject
# List open work items
az boards work-item list \
--project MyProject \
--query "[?fields.\"System.State\"=='Active']"Azure Repos: التحكم في المصدر
توفر Azure Repos مستودعات Git خاصة غير محدودة، مع سياسات الفروع ومهام سير عمل طلبات السحب وأدوات مراجعة التعليمات البرمجية. وتفرض سياسات الفروع بوابات جودة على الفروع المحمية — مثل اشتراط حد أدنى من المراجعين، واجتياز التحقق من الإنشاء، وربط عناصر العمل، وحل التعليقات قبل الدمج. ويتكامل كل مستودع مباشرةً مع Azure Pipelines، مما يؤدي إلى تشغيل عمليات الإنشاء والنشر تلقائيًا عند دفع فرع أو إنشاء طلب سحب.
# Clone an Azure Repos Git repository
git clone https://myorg@dev.azure.com/myorg/MyProject/_git/MyRepo
# Set branch policies via CLI
az repos policy required-reviewer create \
--branch main \
--branch-match-type exact \
--project MyProject \
--repository-id <repo-id> \
--blocking true \
--enabled true \
--minimum-approver-count 2 \
--allow-downvotes falseAzure Pipelines: أتمتة CI/CD
إن Azure Pipelines خدمة CI/CD تنشئ التطبيقات وتختبرها وتنشرها، سواء كُتبت بأي لغة أو استهدفت أي منصة — Azure أو AWS أو GCP أو البيئات المحلية. وتُعرَّف مسارات العمل في ملفات YAML المخزنة إلى جانب التعليمات البرمجية في المستودع. وتشمل المفاهيم الأساسية المراحل (مراحل منطقية مثل Build وTest وDeploy)، والمهام (وحدات تنفيذ متوازية)، والخطوات (مهام فردية). وتوفر Azure Pipelines عدد 1,800 دقيقة إنشاء مجانية شهريًا للمشاريع مفتوحة المصدر.
# azure-pipelines.yml (minimal CI pipeline)
trigger:
branches:
include:
- main
pool:
vmImage: ubuntu-latest
stages:
- stage: Build
jobs:
- job: BuildJob
steps:
- task: NodeTool@0
inputs:
versionSpec: '18.x'
- script: npm install && npm run build
displayName: 'Install and Build'
- script: npm test
displayName: 'Run unit tests'Azure Artifacts: إدارة الحزم
تستضيف Azure Artifacts موجّهات حزم ذات إصدارات لـ NuGet (.NET)، وnpm (Node.js)، وMaven (Java)، وpip (Python)، وUniversal Packages (الملفات الثنائية العشوائية). شارك المكتبات الداخلية بين المشاريع أو الفرق دون نشرها في السجلات العامة. وتعمل المصادر الأولية كوسيط للسجلات العامة (npmjs.com وnuget.org) من خلال موجّهك، مما يمنحك نقطة نهاية واحدة لجميع الحزم وإمكانية تدقيق التبعيات وتخزينها مؤقتًا.
# Publish an npm package to Azure Artifacts
npm install -g vsts-npm-auth
vsts-npm-auth -config .npmrc
# .npmrc file:
# registry=https://pkgs.dev.azure.com/myorg/MyProject/_packaging/MyFeed/npm/registry/
# Publish
npm publish --registry https://pkgs.dev.azure.com/myorg/MyProject/_packaging/MyFeed/npm/registry/وكلاء مسارات العمل: من Microsoft مقابل المستضافين ذاتيًا
تعمل مسارات العمل على وكلاء — وهم أجهزة افتراضية أو حاويات تنفّذ مهام المسار. ويُعد الوكلاء المستضافون من Microsoft أجهزة افتراضية مُدارة بالكامل ومُعدّة مسبقًا (Ubuntu وWindows وmacOS) توفرها Microsoft — ولا تتطلب أي إعداد. أما الوكلاء المستضافون ذاتيًا فيعملون على بنيتك الأساسية (محليًا أو على أجهزة Azure الافتراضية)، مما يمنحك التحكم في البيئة والأدوات المثبتة مسبقًا والوصول إلى الشبكات الخاصة. استخدم الوكلاء المستضافين ذاتيًا عندما تحتاج عمليات الإنشاء إلى الوصول إلى VNet أو إلى أجهزة متخصصة أو إلى بدء تشغيل أسرع مما توفره الأجهزة الافتراضية السحابية.
# Register a self-hosted agent on a Linux VM
# 1. Download the agent package
curl -O https://vstsagentpackage.azureedge.net/agent/3.x/vsts-agent-linux-x64-3.x.x.tar.gz
mkdir myagent && tar xzf vsts-agent-linux-x64-3.x.x.tar.gz -C myagent && cd myagent
# 2. Configure the agent
./config.sh --url https://dev.azure.com/myorg --auth pat --token <PAT>
# 3. Run as a service
sudo ./svc.sh install && sudo ./svc.sh startالبيئات والموافقات
تمثل البيئات في Azure Pipelines أهداف النشر (التطوير، والتجهيز، والإنتاج)، كما تتعقب سجل النشر. ويمكنك إرفاق بوابات الموافقة وعمليات التحقق بالبيئات — إذ يتطلب النشر إلى بيئة الإنتاج موافقة يدوية من مدير الإصدار. وتشمل عمليات التحقق الأخرى بوابات ساعات العمل (النشر بين الساعة 09:00 والساعة 17:00 فقط)، ومؤقتات الانتظار، وعمليات التحقق من تنبيهات Azure Monitor (عدم النشر عند وجود تنبيهات حرجة نشطة). ويمنح ذلك الفرق حوكمة على عمليات النشر عالية المخاطر في بيئة الإنتاج.
# YAML: deployment job targeting an environment with approval
- stage: DeployProd
jobs:
- deployment: DeployToProduction
environment:
name: Production # Requires manual approval in Azure DevOps portal
resourceType: VirtualMachine
strategy:
runOnce:
deploy:
steps:
- task: AzureWebApp@1
inputs:
appName: myapp-prod
package: '$(Pipeline.Workspace)/drop/app.zip'اتصالات الخدمة
تخزن اتصالات الخدمة اتصالات موثّقة بالخدمات الخارجية (اشتراكات Azure وGitHub وDocker Hub وSonarQube وعناقيد Kubernetes)، بحيث يمكن لخطوط الأنابيب استخدامها من دون تضمين بيانات الاعتماد في YAML. ويستخدم اتصال خدمة Azure Resource Manager كيان خدمة أو هوية مُدارة لنشر موارد Azure. وتُشفّر جميع بيانات الاعتماد وتُقيّد بنطاق المشروع أو خط أنابيب معيّن، مما يمنع كشف بيانات الاعتماد في سجلات خط الأنابيب.
# Create an Azure Resource Manager service connection via CLI
az devops service-endpoint azurerm create \
--azure-rm-service-principal-id '<AppId>' \
--azure-rm-subscription-id '<SubId>' \
--azure-rm-subscription-name 'MySubscription' \
--azure-rm-tenant-id '<TenantId>' \
--name 'AzureProductionSC' \
--project MyProject
# Use in pipeline YAML
# - task: AzureCLI@2
# inputs:
# azureSubscription: 'AzureProductionSC'
# scriptType: bash
# scriptLocation: inlineScriptAzure DevOps في مقابل GitHub
تمتلك Microsoft كلاً من Azure DevOps وGitHub، ويدعم كلاهما CI/CD. ويُفضَّل Azure DevOps في المؤسسات التي تعتمد اعتماداً كبيراً على أدوات Microsoft وتحتاج إلى Azure Boards أو Test Plans أو Artifacts. أما GitHub فيُفضَّل لمشاريع المصادر المفتوحة، وسير العمل الذي يركّز على المطورين، وعندما تستخدم الفرق مستودعات GitHub بالفعل. وGitHub Actions هو نظام CI/CD الخاص بـ GitHub. ويتكامل Azure Pipelines مع Azure Repos وGitHub معاً — ويمكنك استخدام Azure Boards وArtifacts مع مستودعات GitHub.
تحقق سريع
اختبر مدى فهمك لمفاهيم Microsoft Azure Fundamentals (AZ-900) التي تناولها هذا الدرس.
مراجعة الدرس
تعلّمت في هذا الدرس أن Azure DevOps يوفر خمس خدمات متكاملة تغطي التخطيط (Boards)، والتحكم في المصدر (Repos)، وCI/CD (Pipelines)، والاختبار (Test Plans)، وإدارة الحزم (Artifacts)، وأن البيئات المزودة بالموافقات تفرض بوابات على عمليات النشر عالية المخاطر، بينما تخزن اتصالات الخدمة بيانات اعتماد الخدمات الخارجية بأمان لاستخدامها في خط أنابيب. بعد ذلك، سنستكشف إنشاء خط أنابيب CI باستخدام Azure Pipelines.
الأسئلة الشائعة
هل درس «نظرة عامة على Azure DevOps Services» مجاني؟
نعم — نص درس «نظرة عامة على Azure DevOps Services» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Azure Fundamentals، انتقل إلى CoddyKit PRO. تتضمن دورة Azure Fundamentals 4 دروس في المجموع.
ماذا ستتعلم في «نظرة عامة على Azure DevOps Services»؟
تعرّف على خدمات Azure DevOps الخمس، وأنشئ مؤسسة ومشروعًا، وصِل مستودع التعليمات البرمجية لبدء تتبع عناصر العمل وعمليات الإيداع معًا. تتمرن على Azure Fundamentals مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Azure Fundamentals؟
لا تُشترط خبرة سابقة. Azure Fundamentals على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «نظرة عامة على Azure DevOps Services»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Azure Fundamentals هذا؟
نعم. كل درس في Azure Fundamentals يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- نظرة عامة على Azure DevOps Services
- إنشاء مسار CI باستخدام Azure Pipelines
- النشر المستمر إلى Azure
- GitHub Actions على Azure