Azure DevOps Services Genel Bakış
Beş Azure DevOps hizmetini inceleyin, bir kuruluş ve proje oluşturun ve iş öğeleriyle işlemeleri birlikte izlemeye başlamak için kod deponuzu bağlayın.
Azure DevOps Services Genel Bakış, CoddyKit'te ücretsiz bir Azure Fundamentals dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Azure Fundamentals öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Azure Fundamentals kursu toplamda 4 dersten oluşur.
Azure DevOps Nedir
Azure DevOps, yazılım teslim yaşam döngüsünün tamamını kapsayan, Microsoft'un bulutta barındırılan geliştirici araçları paketidir. Proje yönetimini, kaynak denetimini, derleme ve sürüm otomasyonunu, test yönetimini ve yapıt depolamayı tek bir tümleşik platformda birleştirir. Azure DevOps kullanan ekipler sprint'leri planlayabilir, kod işleyebilir, otomatik derlemeleri çalıştırabilir, üretime dağıtım yapabilir ve kalite ölçümlerini izleyebilir; tüm bunları diğer Azure hizmetleriyle güçlü tümleştirmelere sahip tek bir hizmet üzerinden gerçekleştirebilir.
Beş Azure DevOps Hizmeti
Azure DevOps beş hizmetten oluşur: Azure Boards (çevik iş öğesi takibi; destanlar, hikâyeler, görevler ve hatalar), Azure Repos (sınırsız Git depoları veya eski TFVC), Azure Pipelines (her dil, platform ve bulut için CI/CD otomasyonu), Azure Test Plans (el ile ve keşif amaçlı test, test senaryoları ve kalite ölçümleri) ve Azure Artifacts (NuGet, npm, Maven, Python ve kapsayıcı görüntüleri için evrensel paket akışı).
Kuruluşlar ve Projeler
Azure DevOps hiyerarşisi, Azure AD kiracınızla ilişkilendirilmiş ve genellikle şirketinizin adını taşıyan en üst düzey kapsayıcı olan bir kuruluşla başlar. Bir kuruluşun içinde, her biri bir yazılım ürününü veya ekibi temsil eden projeler oluşturursunuz. Her proje kendi Boards, Repos, Pipelines, Test Plans ve Artifacts hizmetlerine sahip olur. Erişim denetimi, faturalandırma ve ayarlar kuruluş düzeyinde yapılandırılır; ancak proje başına geçersiz kılınabilir.
# 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: Çevik Planlama
Azure Boards üç işlem şablonunu destekler: Basic (basit Issues ve Tasks), Agile (Epics, Features, User Stories, Tasks ve Bugs) ve Scrum (Epics, Features, Product Backlog Items, Tasks ve Bugs). İş öğeleri yapılandırılabilir durumlardan geçer. Kanban panosu, devam eden işleri görselleştirir; sprint biriktirme listeleri kapasiteyi planlar; biriktirme listeleri başlatılmamış tüm işlere öncelik verir. Tam izlenebilirlik için iş öğelerini işlemelere, çekme isteklerine ve test senaryolarına bağlayın.
# 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: Kaynak Denetimi
Azure Repos, dal ilkeleri, çekme isteği iş akışları ve kod inceleme araçlarıyla sınırsız özel Git depoları sağlar. Dal ilkeleri, korunan dallarda kalite kapılarını zorunlu kılar; birleştirme işleminden önce asgari sayıda inceleyici, başarılı derleme doğrulaması, bağlantılı iş öğeleri ve çözümlenmiş yorumlar gerektirir. Her depo, Azure Pipelines ile doğrudan tümleşir ve dal gönderimi veya çekme isteği üzerine derlemeleri ve dağıtımları otomatik olarak tetikler.
# 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 Otomasyonu
Azure Pipelines, herhangi bir dilde yazılmış uygulamaları herhangi bir platforma (Azure, AWS, GCP veya şirket içi ortamlar) derleyen, test eden ve dağıtan bir CI/CD hizmetidir. Pipelines, depoda kodun yanında saklanan YAML dosyalarında tanımlanır. Temel kavramlar arasında aşamalar (Build, Test ve Deploy gibi mantıksal evreler), işler (paralel yürütme birimleri) ve adımlar (tek tek görevler) bulunur. Azure Pipelines, açık kaynak projeleri için ayda 1.800 ücretsiz derleme dakikası sağlar.
# 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: Paket Yönetimi
Azure Artifacts, NuGet (.NET), npm (Node.js), Maven (Java), pip (Python) ve Universal Packages (isteğe bağlı ikili dosyalar) için sürümlendirilmiş paket akışlarını barındırır. Dahili kitaplıkları herkese açık kayıt defterlerinde yayımlamadan projeler veya ekipler arasında paylaşabilirsiniz. Yukarı akış kaynakları, herkese açık kayıt defterlerini (npmjs.com, nuget.org) akışınız üzerinden vekil olarak sunar; böylece tüm paketler için tek bir uç noktanız ve bağımlılıkları denetleme ve önbelleğe alma olanağınız olur.
# 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/İşlem Hattı Aracıları: Microsoft Tarafından Barındırılan ve Kendi Barındırdığınız
Pipelines, işlem hattı işlerini yürüten sanal makineler veya kapsayıcılar olan aracılar üzerinde çalışır. Microsoft tarafından barındırılan aracılar, Microsoft tarafından sağlanan, tamamen yönetilen ve önceden yapılandırılmış sanal makinelerdir (Ubuntu, Windows, macOS); kurulum gerekmez. Kendi barındırdığınız aracılar ise kendi altyapınızda (şirket içinde veya Azure sanal makinelerinde) çalışır ve ortam, önceden yüklenmiş araçlar ve özel ağlara erişim üzerinde denetim sağlar. Derlemeler VNet erişimi, özel donanım veya bulut sanal makinelerinin sunduğundan daha hızlı başlatma gerektirdiğinde kendi barındırdığınız aracıları kullanın.
# 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 startOrtamlar ve Onaylar
Environments, Azure Pipelines'ta dağıtım hedeflerini (Geliştirme, Hazırlama, Üretim) temsil eder ve dağıtım geçmişini izler. Ortamlara onay ve denetim kapıları ekleyebilirsiniz; Üretim ortamına yapılacak bir dağıtım için sürüm yöneticisinin manuel onayı gerekir. Diğer denetimler arasında çalışma saatleri kapıları (yalnızca 09:00-17:00 arasında dağıtım yapma), bekleme zamanlayıcıları ve Azure Monitor uyarı denetimleri (etkin kritik uyarılar varsa dağıtım yapmama) bulunur. Bu sayede ekipler, yüksek riskli üretim dağıtımları üzerinde yönetişim sağlayabilir.
# 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'Hizmet Bağlantıları
Hizmet bağlantıları, dış hizmetlere (Azure abonelikleri, GitHub, Docker Hub, SonarQube, Kubernetes kümeleri) yönelik kimliği doğrulanmış bağlantıları depolar. Böylece Pipelines, kimlik bilgilerini YAML içine gömmek zorunda kalmadan bu hizmetleri kullanabilir. Azure Resource Manager hizmet bağlantısı, Azure kaynaklarını dağıtmak için bir hizmet sorumlusu veya yönetilen kimlik kullanır. Tüm kimlik bilgileri şifrelenir ve proje ya da pipeline kapsamıyla sınırlandırılır; böylece kimlik bilgilerinin pipeline günlüklerinde açığa çıkması önlenir.
# 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 ve GitHub Karşılaştırması
Microsoft, hem Azure DevOps'un hem de GitHub'ın sahibidir ve her ikisi de CI/CD'yi destekler. Azure DevOps, Microsoft araçlarına yoğun yatırım yapan ve Azure Boards, Test Plans veya Artifacts'a ihtiyaç duyan kuruluşlarda tercih edilir. GitHub ise açık kaynak projelerinde, geliştirici odaklı iş akışlarında ve ekiplerin hâlihazırda GitHub depolarını kullandığı durumlarda tercih edilir. GitHub Actions, GitHub'ın CI/CD platformudur. Azure Pipelines hem Azure Repos hem de GitHub ile tümleşir; GitHub depolarıyla Azure Boards ve Artifacts'ı kullanabilirsiniz.
Kısa Kontrol
Bu dersteki Microsoft Azure Fundamentals (AZ-900) kavramlarını anlayıp anlamadığınızı test edin.
Ders Özeti
Bu derste şunları öğrendiniz: Azure DevOps, planlama (Boards), kaynak denetimi (Repos), CI/CD (Pipelines), sınama (Test Plans) ve paket yönetimini (Artifacts) kapsayan beş tümleşik hizmet sunar; onaylı ortamlar yüksek riskli dağıtımlara geçiş kapısı koyar ve hizmet bağlantıları, pipeline kullanımına yönelik dış hizmet kimlik bilgilerini güvenli biçimde depolar. Sırada Azure Pipelines ile bir CI pipeline oluşturmayı inceleyeceğiz.
Sıkça Sorulan Sorular
“Azure DevOps Services Genel Bakış” dersi ücretsiz mi?
Evet — “Azure DevOps Services Genel Bakış” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Azure Fundamentals kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Azure Fundamentals kursu toplamda 4 dersten oluşur.
“Azure DevOps Services Genel Bakış” dersinde ne öğreneceğim?
Beş Azure DevOps hizmetini inceleyin, bir kuruluş ve proje oluşturun ve iş öğeleriyle işlemeleri birlikte izlemeye başlamak için kod deponuzu bağlayın. Azure Fundamentals ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Azure Fundamentals öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Azure Fundamentals, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Azure DevOps Services Genel Bakış” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Azure Fundamentals dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Azure Fundamentals dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Azure DevOps Services Genel Bakış
- Azure Pipelines ile CI İşlem Hattı Oluşturma
- Azure'a Sürekli Dağıtım
- Azure'da GitHub Actions