0Pricing
Cloud & IT Cert Prep · บทเรียน

ภาพรวมบริการ Azure DevOps

สำรวจบริการ Azure DevOps ทั้งห้า สร้างองค์กรและโครงการ และเชื่อมต่อที่เก็บโค้ดของคุณเพื่อเริ่มติดตามรายการงานและคอมมิตไปพร้อมกัน

ภาพรวมบริการ Azure DevOps เป็นบทเรียน Cloud & IT Cert Prep ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cloud & IT Cert Prep และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cloud & IT Cert Prep มีบทเรียนทั้งหมด 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 Agile

Azure Boards: การวางแผนแบบ Agile

Azure Boards รองรับแม่แบบกระบวนการสามแบบ ได้แก่ Basic (Issues และ Tasks แบบง่าย), Agile (Epics, Features, User Stories, Tasks และ Bugs) และ Scrum (Epics, Features, Product Backlog Items, Tasks และ Bugs) รายการงานจะเคลื่อนผ่านสถานะที่กำหนดค่าได้ กระดาน 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 false

Azure Pipelines: การทำ CI/CD อัตโนมัติ

Azure Pipelines คือบริการ CI/CD ที่สร้าง ทดสอบ และนำแอปพลิเคชันที่เขียนด้วยภาษาใด ๆ ไปใช้งานบนแพลตฟอร์มใด ๆ ก็ได้ เช่น Azure, AWS, GCP และภายในองค์กร Pipelines จะกำหนดไว้ในไฟล์ 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) และแพ็กเกจสากล (ไบนารีตามอำเภอใจ) คุณสามารถแชร์ไลบรารีภายในระหว่างโครงการหรือทีมได้โดยไม่ต้องเผยแพร่ไปยังรีจิสทรีสาธารณะ แหล่งต้นทางจะทำหน้าที่เป็นพร็อกซีไปยังรีจิสทรีสาธารณะ (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 เทียบกับการโฮสต์ด้วยตนเอง

Pipelines จะทำงานบนตัวแทน ซึ่งเป็น VM หรือคอนเทนเนอร์ที่ใช้ดำเนินงานของไปป์ไลน์ ตัวแทนที่โฮสต์โดย Microsoft คือ VM ที่ Microsoft จัดการและกำหนดค่าไว้ล่วงหน้า (Ubuntu, Windows, macOS) โดยไม่ต้องตั้งค่าเอง ส่วนตัวแทนที่โฮสต์ด้วยตนเองจะทำงานบนโครงสร้างพื้นฐานของคุณเอง (ภายในองค์กรหรือ VM บน Azure) ทำให้คุณควบคุมสภาพแวดล้อม เครื่องมือที่ติดตั้งไว้ล่วงหน้า และการเข้าถึงเครือข่ายส่วนตัวได้ ใช้ตัวแทนที่โฮสต์ด้วยตนเองเมื่อบิลด์ต้องเข้าถึง VNet ต้องใช้ฮาร์ดแวร์เฉพาะทาง หรือต้องการเริ่มต้นเร็วกว่าที่ VM บนคลาวด์ให้ได้

# 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 ใช้แทนเป้าหมายการนำไปใช้งาน (Dev, Staging, Production) และติดตามประวัติการนำไปใช้งาน คุณสามารถแนบด่านการอนุมัติและการตรวจสอบเข้ากับสภาพแวดล้อมได้ โดยการนำไปใช้งานใน Production ต้องได้รับการอนุมัติด้วยตนเองจากผู้จัดการรุ่นเผยแพร่ การตรวจสอบอื่น ๆ ได้แก่ ด่านช่วงเวลาทำการ (นำไปใช้งานได้เฉพาะระหว่าง 09:00-17:00) ตัวจับเวลารอ และการตรวจสอบการแจ้งเตือนของ Azure Monitor (ห้ามนำไปใช้งานหากมีการแจ้งเตือนร้ายแรงที่ยังทำงานอยู่) วิธีนี้ช่วยให้ทีมกำกับดูแลการนำไปใช้งานใน Production ที่มีความเสี่ยงสูงได้

# 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 ใช้ service principal หรือ managed identity เพื่อนำทรัพยากร 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: inlineScript

Azure 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 ให้บริการแบบผสานรวม 5 รายการ ซึ่งครอบคลุมการวางแผน (Boards) การควบคุมซอร์สโค้ด (Repos) CI/CD (Pipelines) การทดสอบ (Test Plans) และการจัดการแพ็กเกจ (Artifacts) สภาพแวดล้อมที่มีการอนุมัติทำหน้าที่เป็นด่านสำหรับการนำไปใช้งานที่มีความเสี่ยงสูง และการเชื่อมต่อบริการจัดเก็บข้อมูลประจำตัวของบริการภายนอกอย่างปลอดภัยเพื่อให้ไปป์ไลน์ใช้งาน ต่อไปเราจะสำรวจการสร้างไปป์ไลน์ CI ด้วย Azure Pipelines

คำถามที่พบบ่อย

บทเรียน “ภาพรวมบริการ Azure DevOps” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ภาพรวมบริการ Azure DevOps” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cloud & IT Cert Prep ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cloud & IT Cert Prep มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ภาพรวมบริการ Azure DevOps”

สำรวจบริการ Azure DevOps ทั้งห้า สร้างองค์กรและโครงการ และเชื่อมต่อที่เก็บโค้ดของคุณเพื่อเริ่มติดตามรายการงานและคอมมิตไปพร้อมกัน คุณปฏิบัติ Cloud & IT Cert Prep ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cloud & IT Cert Prep หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cloud & IT Cert Prep บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “ภาพรวมบริการ Azure DevOps” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cloud & IT Cert Prep นี้ได้ไหม

ได้ บทเรียน Cloud & IT Cert Prep ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ภาพรวมบริการ Azure DevOps
  2. การสร้าง CI Pipeline ด้วย Azure Pipelines
  3. การปรับใช้อย่างต่อเนื่องไปยัง Azure
  4. GitHub Actions บน Azure
← กลับไปที่ Cloud & IT Cert Prep