Azure DevOps Services -yleiskatsaus
Tutustukaa viiteen Azure DevOps -palveluun, luokaa organisaatio ja projekti sekä yhdistäkää koodivarastonne, jotta voitte alkaa seurata työyksiköitä ja toimituksia yhdessä.
Azure DevOps Services -yleiskatsaus on ilmainen Azure Fundamentals-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Azure Fundamentals-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Azure Fundamentals-kurssilla on yhteensä 4 oppituntia.
Mikä Azure DevOps on
Azure DevOps on Microsoftin pilvipalveluna isännöity kehittäjätyökalujen kokonaisuus, joka kattaa koko ohjelmiston toimituksen elinkaaren. Se yhdistää projektinhallinnan, lähdekoodin hallinnan, koontiversioiden ja julkaisujen automatisoinnin, testien hallinnan sekä artefaktien tallennuksen yhdeksi integroiduksi alustaksi. Azure DevOpsia käyttävät tiimit voivat suunnitella sprinttejä, commitoida koodia, suorittaa automaattisia koontiversioita, ottaa sovelluksia käyttöön tuotannossa ja seurata laatumittareita — kaikki yhdestä palvelusta, joka integroituu tiiviisti muihin Azure-palveluihin.
Azure DevOpsin viisi palvelua
Azure DevOps koostuu viidestä palvelusta: Azure Boards (Agile-työkohteiden seuranta — epicit, storyt, tehtävät ja bugit), Azure Repos (rajoittamattomat Git-repositoriot tai vanha TFVC), Azure Pipelines (CI/CD-automaatio mille tahansa kielelle, alustalle ja pilvelle), Azure Test Plans (manuaalinen ja tutkiva testaus, testitapaukset ja laatumittarit) sekä Azure Artifacts (yleinen pakettisyöte NuGet-, npm-, Maven- ja Python-paketeille sekä säilökuville).
Organisaatiot ja projektit
Azure DevOps -hierarkia alkaa organisaatiosta — ylimmän tason säilöstä, joka liittyy Azure AD -vuokraajaan ja on yleensä nimetty yrityksen mukaan. Organisaation sisällä luodaan projekteja, joista kukin edustaa ohjelmistotuotetta tai tiimiä. Jokaisella projektilla on omat Boards-, Repos-, Pipelines-, Test Plans- ja Artifacts-palvelunsa. Käyttöoikeudet, laskutus ja asetukset määritetään organisaatiotasolla, mutta niitä voidaan ohittaa projektikohtaisesti.
# 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-suunnittelu
Azure Boards tukee kolmea prosessimallia: Basic (yksinkertaiset Issues- ja Tasks-työkohteet), Agile (Epics, Features, User Stories, Tasks ja Bugs) sekä Scrum (Epics, Features, Product Backlog Items, Tasks ja Bugs). Työkohteet etenevät määritettävissä olevien tilojen kautta. Kanban-taulu havainnollistaa keskeneräisen työn, sprinttien työlistat auttavat kapasiteetin suunnittelussa ja työlistat asettavat tärkeysjärjestykseen kaiken aloittamattoman työn. Yhdistämällä työkohteet committeihin, pull requesteihin ja testitapauksiin saatte kattavan jäljitettävyyden.
# 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: lähdekoodin hallinta
Azure Repos tarjoaa rajoittamattomia yksityisiä Git-repositorioita, haarakäytäntöjä, pull request -työnkulkuja ja koodikatselmointityökaluja. Haarakäytännöt valvovat suojattujen haarojen laatukriteerejä — yhdistäminen voidaan edellyttää vähimmäismäärän katselmoijia, läpäistyä koontiversion validointia, linkitettyjä työkohteita ja ratkaistuja kommentteja. Jokainen repositorio integroituu suoraan Azure Pipelinesiin, joka käynnistää koontiversiot ja käyttöönotot automaattisesti haaran push-toiminnon tai pull requestin yhteydessä.
# 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-automaatio
Azure Pipelines on CI/CD-palvelu, joka koostaa, testaa ja ottaa käyttöön millä tahansa kielellä kirjoitettuja sovelluksia mille tahansa alustalle — Azureen, AWS:ään, GCP:hen tai paikalliseen ympäristöön. Pipelines määritetään koodin kanssa repositoriossa tallennetuissa YAML-tiedostoissa. Keskeisiä käsitteitä ovat vaiheet (loogiset osat, kuten Build, Test ja Deploy), työt (rinnakkaisen suorituksen yksiköt) ja askeleet (yksittäiset tehtävät). Azure Pipelines tarjoaa avoimen lähdekoodin projekteille 1 800 ilmaista koontiminuuttia kuukaudessa.
# 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: pakettien hallinta
Azure Artifacts isännöi versioituja pakettisyötteitä paketeille NuGet (.NET), npm (Node.js), Maven (Java), pip (Python) ja Universal Packages (mielivaltaiset binäärit). Voitte jakaa sisäisiä kirjastoja projektien tai tiimien välillä julkaisematta niitä julkisiin rekistereihin. Ylävirran lähteet välittävät julkisten rekisterien (npmjs.com, nuget.org) paketit syötteen kautta, jolloin saatte yhden päätepisteen kaikille paketeille sekä mahdollisuuden tarkastaa ja välimuistittaa riippuvuudet.
# 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/Pipeline-agentit: Microsoftin isännöimät ja itse isännöidyt
Pipelines suoritetaan agenteilla — virtuaalikoneilla tai säilöillä, jotka suorittavat putkien työt. Microsoftin isännöimät agentit ovat Microsoftin tarjoamia täysin hallittuja ja valmiiksi määritettyjä virtuaalikoneita (Ubuntu, Windows ja macOS), eikä niiden käyttöönotto vaadi määrityksiä. Itse isännöidyt agentit toimivat omassa infrastruktuurissanne (paikallisessa ympäristössä tai Azuren virtuaalikoneissa), joten voitte hallita ympäristöä, valmiiksi asennettuja työkaluja ja pääsyä yksityisiin verkkoihin. Käyttäkää itse isännöityjä agentteja, kun koontiversiot tarvitsevat VNet-yhteyden, erikoislaitteistoa tai nopeamman käynnistymisen kuin pilven virtuaalikoneet tarjoavat.
# 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 startYmpäristöt ja hyväksynnät
Ympäristöt Azure Pipelinesissa edustavat käyttöönottokohteita (kehitys, testiympäristö, tuotanto) ja seuraavat käyttöönottohistoriaa. Ympäristöihin voi liittää hyväksyntöjä ja tarkistuksia — tuotantoon käyttöönotto edellyttää julkaisupäällikön manuaalista hyväksyntää. Muita tarkistuksia ovat liiketoiminta-aikojen rajoitukset (käyttöönotto sallitaan vain klo 09.00–17.00), odotusajastimet ja Azure Monitorin hälytystarkistukset (käyttöönottoa ei tehdä, jos aktiivisia kriittisiä hälytyksiä on). Näin tiimit voivat hallita riskialttiita tuotantokäyttöönottoja hallitusti.
# 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'Palveluyhteydet
Palveluyhteydet tallentavat todennetut yhteydet ulkoisiin palveluihin (Azure-tilaukset, GitHub, Docker Hub, SonarQube ja Kubernetes-klusterit), jotta putket voivat käyttää niitä ilman tunnistetietojen upottamista YAML-tiedostoon. Azure Resource Manager -palveluyhteys käyttää palvelun päänimeä tai hallittua identiteettiä Azure-resurssien käyttöönottoon. Kaikki tunnistetiedot salataan ja niiden käyttö rajataan projektiin tai putkeen, mikä estää tunnistetietojen paljastumisen putkien lokeissa.
# 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 vai GitHub
Microsoft omistaa sekä Azure DevOpsin että GitHubin, ja molemmat tukevat CI/CD:tä. Azure DevOpsia suositaan yrityksissä, jotka ovat vahvasti sitoutuneet Microsoftin työkaluihin ja tarvitsevat Azure Boardsin, Test Plansin tai Artifactsin. GitHubia suositaan avoimen lähdekoodin projekteissa, kehittäjälähtöisissä työnkuluissa ja silloin, kun tiimit käyttävät jo GitHub-tietovarastoja. GitHub Actions on GitHubin CI/CD-alusta. Azure Pipelines integroituu sekä Azure Reposiin että GitHubiin — GitHub-tietovarastojen kanssa voi käyttää Azure Boardsia ja Artifactsia.
Pikatarkistus
Testaa, miten hyvin ymmärrät tämän oppitunnin Microsoft Azure Fundamentals (AZ-900) -käsitteet.
Oppitunnin yhteenveto
Tässä oppitunnissa opit, että Azure DevOps tarjoaa viisi integroitua palvelua suunnitteluun (Boards), lähdekoodin hallintaan (Repos), CI/CD:hen (Pipelines), testaukseen (Test Plans) ja pakettien hallintaan (Artifacts), hyväksynnöillä varustetut ympäristöt rajaavat riskialttiita käyttöönottoja ja palveluyhteydet tallentavat ulkoisten palveluiden tunnistetiedot turvallisesti putkien käyttöä varten. Seuraavaksi tutustumme CI-putken rakentamiseen Azure Pipelinesilla.
Opi Azure Fundamentals tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 30
- Oppitunnit
- 120
Usein kysytyt kysymykset
Onko oppitunti ”Azure DevOps Services -yleiskatsaus” ilmainen?
Kyllä – oppitunnin ”Azure DevOps Services -yleiskatsaus” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Azure Fundamentals-kurssin, päivitä CoddyKit PROhon. Azure Fundamentals-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Azure DevOps Services -yleiskatsaus”?
Tutustukaa viiteen Azure DevOps -palveluun, luokaa organisaatio ja projekti sekä yhdistäkää koodivarastonne, jotta voitte alkaa seurata työyksiköitä ja toimituksia yhdessä. Harjoittelet Azure Fundamentals-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Azure Fundamentals-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Azure Fundamentals-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”Azure DevOps Services -yleiskatsaus”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Azure Fundamentals-oppitunnilla?
Kyllä. Jokainen Azure Fundamentals-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Azure DevOps Services -yleiskatsaus
- CI-putken rakentaminen Azure Pipelinesilla
- Jatkuva käyttöönotto Azureen
- GitHub Actions Azuressa