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 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 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.
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
- 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