Ikhtisar Azure DevOps Services
Jelajahi lima layanan Azure DevOps, buat organisasi dan proyek, lalu hubungkan repositori kode untuk mulai melacak item kerja dan komit secara bersamaan.
Ikhtisar Azure DevOps Services adalah pelajaran Cloud & IT Cert Prep gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cloud & IT Cert Prep, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.
Apa Itu Azure DevOps?
Azure DevOps adalah rangkaian alat pengembang berbasis cloud dari Microsoft yang mencakup seluruh siklus hidup pengiriman perangkat lunak. Azure DevOps menggabungkan manajemen proyek, kendali sumber, otomatisasi build dan rilis, manajemen pengujian, serta penyimpanan artefak dalam satu platform terintegrasi. Tim yang menggunakan Azure DevOps dapat merencanakan sprint, melakukan commit kode, menjalankan build otomatis, melakukan deployment ke produksi, dan melacak metrik kualitas — semuanya dari satu layanan dengan integrasi mendalam ke layanan Azure lainnya.
Lima Layanan Azure DevOps
Azure DevOps terdiri dari lima layanan: Azure Boards (pelacakan item kerja Agile — epik, cerita, tugas, bug), Azure Repos (repositori Git tak terbatas atau TFVC lama), Azure Pipelines (otomatisasi CI/CD untuk bahasa, platform, dan cloud apa pun), Azure Test Plans (pengujian manual dan eksploratif, kasus pengujian, serta metrik kualitas), dan Azure Artifacts (umpan paket universal untuk NuGet, npm, Maven, Python, dan citra kontainer).
Organisasi dan Proyek
Hierarki Azure DevOps dimulai dari sebuah organisasi — kontainer tingkat teratas yang terkait dengan penyewa Azure AD Anda dan biasanya diberi nama sesuai perusahaan Anda. Di dalam organisasi, Anda membuat proyek, yang masing-masing mewakili produk perangkat lunak atau tim. Setiap proyek memiliki Boards, Repos, Pipelines, Test Plans, dan Artifacts sendiri. Kontrol akses, penagihan, dan pengaturan dikonfigurasi pada tingkat organisasi, tetapi dapat ditimpa untuk setiap proyek.
# 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: Perencanaan Agile
Azure Boards mendukung tiga templat proses: Basic (Issues dan Tasks sederhana), Agile (Epics, Features, User Stories, Tasks, Bugs), dan Scrum (Epics, Features, Product Backlog Items, Tasks, Bugs). Item kerja berpindah melalui status yang dapat dikonfigurasi. Papan Kanban memvisualisasikan pekerjaan yang sedang berlangsung; backlog sprint merencanakan kapasitas; backlog memprioritaskan semua pekerjaan yang belum dimulai. Tautkan item kerja ke commit, pull request, dan kasus pengujian untuk ketertelusuran penuh.
# 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: Kendali Sumber
Azure Repos menyediakan repositori Git privat tak terbatas dengan kebijakan cabang, alur kerja pull request, dan alat peninjauan kode. Kebijakan cabang menerapkan gerbang kualitas pada cabang yang dilindungi — dengan mewajibkan jumlah minimum peninjau, validasi build yang berhasil, item kerja tertaut, dan penyelesaian komentar sebelum penggabungan. Setiap repositori terintegrasi langsung dengan Azure Pipelines, sehingga build dan deployment dipicu secara otomatis saat cabang didorong atau pull request dibuat.
# 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: Otomatisasi CI/CD
Azure Pipelines adalah layanan CI/CD yang membangun, menguji, dan melakukan deployment aplikasi yang ditulis dalam bahasa apa pun ke platform apa pun — Azure, AWS, GCP, atau lingkungan lokal. Pipelines didefinisikan dalam file YAML yang disimpan bersama kode di repositori. Konsep utamanya mencakup tahapan (fase logis seperti Build, Test, Deploy), pekerjaan (unit eksekusi paralel), dan langkah (tugas individual). Azure Pipelines menyediakan 1.800 menit build gratis per bulan untuk proyek sumber terbuka.
# 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: Manajemen Paket
Azure Artifacts menghosting umpan paket berversi untuk NuGet (.NET), npm (Node.js), Maven (Java), pip (Python), dan Universal Packages (biner arbitrer). Bagikan pustaka internal antara proyek atau tim tanpa menerbitkannya ke registri publik. Sumber upstream bertindak sebagai proksi registri publik (npmjs.com, nuget.org) melalui umpan Anda, sehingga Anda memiliki satu titik akhir untuk semua paket serta kemampuan mengaudit dan menyimpan dependensi dalam cache.
# 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/Agen Pipeline: Microsoft vs Dihosting Mandiri
Pipelines berjalan pada agen — VM atau kontainer yang menjalankan pekerjaan pipeline. Agen yang dihosting Microsoft adalah VM terkelola sepenuhnya dan telah dikonfigurasi sebelumnya (Ubuntu, Windows, macOS) yang disediakan oleh Microsoft — tidak diperlukan penyiapan. Agen yang dihosting mandiri berjalan di infrastruktur Anda sendiri (lokal atau VM Azure), sehingga Anda dapat mengendalikan lingkungan, alat yang telah diinstal sebelumnya, dan akses ke jaringan privat. Gunakan agen yang dihosting mandiri ketika build memerlukan akses VNet, perangkat keras khusus, atau waktu mulai yang lebih cepat daripada yang disediakan VM cloud.
# 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 startLingkungan dan Persetujuan
Lingkungan di Azure Pipelines merepresentasikan target deployment (Pengembangan, Staging, Produksi) dan melacak riwayat deployment. Anda dapat menambahkan gerbang persetujuan dan pemeriksaan ke lingkungan—deployment ke Produksi memerlukan persetujuan manual dari manajer rilis. Pemeriksaan lainnya mencakup gerbang jam kerja (hanya melakukan deployment antara pukul 09.00–17.00), penghitung waktu tunggu, dan pemeriksaan peringatan Azure Monitor (jangan melakukan deployment jika ada peringatan kritis yang aktif). Dengan demikian, tim dapat mengatur deployment Produksi berisiko tinggi.
# 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'Koneksi Layanan
Koneksi layanan menyimpan koneksi terautentikasi ke layanan eksternal (langganan Azure, GitHub, Docker Hub, SonarQube, klaster Kubernetes) sehingga pipeline dapat menggunakannya tanpa menyematkan kredensial dalam YAML. Koneksi layanan Azure Resource Manager menggunakan perwakilan layanan atau identitas terkelola untuk melakukan deployment sumber daya Azure. Semua kredensial dienkripsi dan dibatasi cakupannya ke proyek atau pipeline, sehingga mencegah kredensial terekspos dalam log pipeline.
# 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 vs GitHub
Microsoft memiliki Azure DevOps dan GitHub, dan keduanya mendukung CI/CD. Azure DevOps lebih disukai di perusahaan yang sangat bergantung pada alat Microsoft serta memerlukan Azure Boards, Test Plans, atau Artifacts. GitHub lebih disukai untuk proyek sumber terbuka, alur kerja yang berfokus pada pengembang, dan tim yang sudah menggunakan repositori GitHub. GitHub Actions adalah platform CI/CD milik GitHub. Azure Pipelines terintegrasi dengan Azure Repos dan GitHub—Anda dapat menggunakan Azure Boards dan Artifacts dengan repositori GitHub.
Pemeriksaan Cepat
Uji pemahaman Anda tentang konsep Microsoft Azure Fundamentals (AZ-900) dari pelajaran ini.
Ringkasan Pelajaran
Dalam pelajaran ini Anda mempelajari bahwa Azure DevOps menyediakan lima layanan terintegrasi yang mencakup perencanaan (Boards), pengendalian sumber (Repos), CI/CD (Pipelines), pengujian (Test Plans), dan pengelolaan paket (Artifacts); lingkungan dengan persetujuan menjadi gerbang bagi deployment berisiko tinggi; serta koneksi layanan menyimpan kredensial layanan eksternal secara aman untuk digunakan oleh pipeline. Selanjutnya, kita akan mempelajari cara membuat pipeline CI dengan Azure Pipelines.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Ikhtisar Azure DevOps Services” gratis?
Ya — teks lengkap “Ikhtisar Azure DevOps Services” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cloud & IT Cert Prep, upgrade ke CoddyKit PRO. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Ikhtisar Azure DevOps Services”?
Jelajahi lima layanan Azure DevOps, buat organisasi dan proyek, lalu hubungkan repositori kode untuk mulai melacak item kerja dan komit secara bersamaan. Kamu berlatih Cloud & IT Cert Prep dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Cloud & IT Cert Prep?
Tidak diperlukan pengalaman sebelumnya. Cloud & IT Cert Prep di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Ikhtisar Azure DevOps Services” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Cloud & IT Cert Prep ini?
Ya. Setiap pelajaran Cloud & IT Cert Prep menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Ikhtisar Azure DevOps Services
- Membangun Alur CI dengan Azure Pipelines
- Penerapan Berkelanjutan ke Azure
- GitHub Actions di Azure