Azure Fundamentals · Lekcja

Przegląd usług Azure DevOps

Poznaj pięć usług Azure DevOps, utwórz organizację i projekt oraz połącz repozytorium kodu, aby rozpocząć wspólne śledzenie elementów pracy i zatwierdzeń.

Lekcja 1 z 413 kroki

Przegląd usług Azure DevOps to bezpłatna lekcja Azure Fundamentals na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Azure Fundamentals, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Azure Fundamentals zawiera 4 lekcji w sumie.

Czym jest Azure DevOps?

Azure DevOps to hostowany w chmurze zestaw narzędzi deweloperskich firmy Microsoft obejmujący cały cykl dostarczania oprogramowania. Łączy zarządzanie projektami, kontrolę kodu źródłowego, automatyzację kompilacji i wydań, zarządzanie testami oraz przechowywanie artefaktów na jednej, zintegrowanej platformie. Zespoły korzystające z Azure DevOps mogą planować sprinty, zatwierdzać kod, uruchamiać automatyczne kompilacje, wdrażać aplikacje na produkcji i śledzić metryki jakości — wszystko z poziomu jednej usługi, która oferuje rozbudowane integracje z innymi usługami Azure.

Pięć usług Azure DevOps

Azure DevOps obejmuje pięć usług: Azure Boards (śledzenie elementów pracy w metodykach Agile — epiki, historyjki, zadania i błędy), Azure Repos (nieograniczone repozytoria Git lub starszy system TFVC), Azure Pipelines (automatyzacja CI/CD dla dowolnego języka, platformy i chmury), Azure Test Plans (testowanie ręczne i eksploracyjne, przypadki testowe oraz metryki jakości) oraz Azure Artifacts (uniwersalny kanał pakietów dla NuGet, npm, Maven, Python i obrazów kontenerów).

Organizacje i projekty

Hierarchia Azure DevOps rozpoczyna się od organizacji — kontenera najwyższego poziomu powiązanego z dzierżawą Azure AD, zazwyczaj noszącego nazwę firmy. W organizacji tworzy się projekty, z których każdy reprezentuje produkt programistyczny lub zespół. Każdy projekt otrzymuje własne elementy Boards, Repos, Pipelines, Test Plans i Artifacts. Kontrolę dostępu, rozliczenia i ustawienia konfiguruje się na poziomie organizacji, ale można je zastąpić ustawieniami projektu.

# 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: planowanie w metodyce Agile

Azure Boards obsługuje trzy szablony procesów: Basic (proste elementy Issues i Tasks), Agile (Epics, Features, User Stories, Tasks i Bugs) oraz Scrum (Epics, Features, Product Backlog Items, Tasks i Bugs). Elementy pracy przechodzą przez konfigurowalne stany. Tablica Kanban przedstawia wizualnie pracę w toku; backlogi sprintów służą do planowania wydajności; backlogi ustalają priorytety wszystkich nierozpoczętych prac. Elementy pracy można łączyć z zatwierdzeniami, żądaniami ściągnięcia i przypadkami testowymi, aby zapewnić pełną identyfikowalność.

# 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: kontrola kodu źródłowego

Azure Repos zapewnia nieograniczone prywatne repozytoria Git z zasadami dotyczącymi gałęzi, przepływami pracy żądań ściągnięcia i narzędziami do przeglądu kodu. Zasady dotyczące gałęzi wymuszają bramki jakości na chronionych gałęziach — przed scaleniem wymagają minimalnej liczby recenzentów, pomyślnej walidacji kompilacji, powiązanych elementów pracy i rozwiązania komentarzy. Każde repozytorium integruje się bezpośrednio z Azure Pipelines, automatycznie uruchamiając kompilacje i wdrożenia po wypchnięciu zmian do gałęzi lub utworzeniu żądania ściągnięcia.

# 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: automatyzacja CI/CD

Azure Pipelines to usługa CI/CD, która kompiluje, testuje i wdraża aplikacje napisane w dowolnym języku na dowolnej platformie — Azure, AWS, GCP lub lokalnie. Potoki definiuje się w plikach YAML przechowywanych wraz z kodem w repozytorium. Najważniejsze pojęcia to etapy (logiczne fazy, takie jak Build, Test i Deploy), zadania (jednostki wykonywane równolegle) oraz kroki (pojedyncze zadania). Azure Pipelines zapewnia 1800 bezpłatnych minut kompilacji miesięcznie dla projektów open source.

# 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: zarządzanie pakietami

Azure Artifacts hostuje kanały wersjonowanych pakietów dla NuGet (.NET), npm (Node.js), Maven (Java), pip (Python) i Universal Packages (dowolne pliki binarne). Umożliwia udostępnianie bibliotek wewnętrznych między projektami lub zespołami bez publikowania ich w publicznych rejestrach. Źródła nadrzędne pośredniczą w dostępie do publicznych rejestrów (npmjs.com, nuget.org) za pośrednictwem kanału, zapewniając jeden punkt dostępu do wszystkich pakietów oraz możliwość kontrolowania i buforowania zależności.

# 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/

Agenci potoków: firmy Microsoft i agenci samodzielnie hostowani

Potoki są uruchamiane na agentach — maszynach wirtualnych lub kontenerach wykonujących zadania potoku. Agenci hostowani przez firmę Microsoft to w pełni zarządzane, wstępnie skonfigurowane maszyny wirtualne (Ubuntu, Windows lub macOS) udostępniane przez firmę Microsoft — nie wymagają konfiguracji. Agenci samodzielnie hostowani działają we własnej infrastrukturze (lokalnie lub na maszynach wirtualnych Azure), zapewniając kontrolę nad środowiskiem, zainstalowanymi narzędziami i dostępem do sieci prywatnych. Agentów samodzielnie hostowanych należy używać, gdy kompilacje wymagają dostępu do VNet, specjalistycznego sprzętu lub szybszego uruchamiania niż to zapewniane przez maszyny wirtualne w chmurze.

# 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

Środowiska i zatwierdzenia

Środowiska w Azure Pipelines reprezentują miejsca docelowe wdrożeń (Dev, Staging, Production) i śledzą historię wdrożeń. Do środowisk można dołączać bramki zatwierdzeń i kontroli — wdrożenie do Production wymaga ręcznego zatwierdzenia przez menedżera wydań. Inne kontrole obejmują bramki godzin pracy (wdrażanie tylko między 09:00 a 17:00), liczniki czasu oczekiwania oraz kontrole alertów Azure Monitor (wdrożenie nie jest wykonywane, jeśli występują aktywne alerty krytyczne). Zapewnia to zespołom nadzór nad wdrożeniami produkcyjnymi o wysokim ryzyku.

# 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'

Połączenia usług

Połączenia usług przechowują uwierzytelnione połączenia z usługami zewnętrznymi (subskrypcjami platformy Azure, GitHub, Docker Hub, SonarQube i klastrami Kubernetes), dzięki czemu potoki mogą z nich korzystać bez umieszczania danych uwierzytelniających w plikach YAML. Połączenie usługi Azure Resource Manager używa jednostki usługi lub zarządzanej tożsamości do wdrażania zasobów platformy Azure. Wszystkie dane uwierzytelniające są szyfrowane i ograniczone do projektu lub potoku, co zapobiega ich ujawnieniu w dziennikach potoków.

# 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 a GitHub

Firma Microsoft jest właścicielem zarówno Azure DevOps, jak i GitHub, a obie platformy obsługują CI/CD. Azure DevOps jest preferowany w przedsiębiorstwach silnie korzystających z narzędzi firmy Microsoft, które potrzebują Azure Boards, Test Plans lub Artifacts. GitHub jest preferowany w projektach open source, w przepływach pracy skoncentrowanych na deweloperach oraz wtedy, gdy zespoły już korzystają z repozytoriów GitHub. GitHub Actions to platforma CI/CD firmy GitHub. Azure Pipelines integruje się zarówno z Azure Repos, jak i z GitHub — repozytoria GitHub mogą korzystać z Azure Boards i Artifacts.

Szybkie sprawdzenie

Sprawdź swoją znajomość zagadnień Microsoft Azure Fundamentals (AZ-900) omówionych w tej lekcji.

Podsumowanie lekcji

W tej lekcji poznali Państwo: Azure DevOps udostępnia pięć zintegrowanych usług obejmujących planowanie (Boards), kontrolę kodu źródłowego (Repos), CI/CD (Pipelines), testowanie (Test Plans) i zarządzanie pakietami (Artifacts), środowiska z zatwierdzeniami tworzą bramki dla wdrożeń o wysokim ryzyku, a połączenia usług bezpiecznie przechowują dane uwierzytelniające usług zewnętrznych na potrzeby potoków. Następnie omówimy tworzenie potoku CI za pomocą Azure Pipelines.

Bezpłatny start

Ucz się Azure Fundamentals dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „Przegląd usług Azure DevOps” jest bezpłatna?

Tak — pełny tekst „Przegląd usług Azure DevOps” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Azure Fundamentals, przejdź na CoddyKit PRO. Kurs Azure Fundamentals zawiera 4 lekcji w sumie.

Co nauczysz się w „Przegląd usług Azure DevOps”?

Poznaj pięć usług Azure DevOps, utwórz organizację i projekt oraz połącz repozytorium kodu, aby rozpocząć wspólne śledzenie elementów pracy i zatwierdzeń. Ćwiczysz Azure Fundamentals z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Azure Fundamentals?

Nie wymagamy żadnego doświadczenia. Azure Fundamentals w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Przegląd usług Azure DevOps”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Azure Fundamentals?

Tak. Każda lekcja Azure Fundamentals zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Przegląd usług Azure DevOps
  2. Budowanie potoku CI za pomocą Azure Pipelines
  3. Ciągłe wdrażanie na platformie Azure
  4. GitHub Actions na platformie Azure
← Powrót do Azure Fundamentals