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ń.
Przegląd usług Azure DevOps to bezpłatna lekcja Cloud & IT Cert Prep 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 Cloud & IT Cert Prep, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cloud & IT Cert Prep 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 AgileAzure 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 falseAzure 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: inlineScriptAzure 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.
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 Cloud & IT Cert Prep, przejdź na CoddyKit PRO. Kurs Cloud & IT Cert Prep 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 Cloud & IT Cert Prep 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ąć Cloud & IT Cert Prep?
Nie wymagamy żadnego doświadczenia. Cloud & IT Cert Prep 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 Cloud & IT Cert Prep?
Tak. Każda lekcja Cloud & IT Cert Prep 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
- Przegląd usług Azure DevOps
- Budowanie potoku CI za pomocą Azure Pipelines
- Ciągłe wdrażanie na platformie Azure
- GitHub Actions na platformie Azure