M365Con 2027 – konferensi online gratis · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Menyederhanakan DevOps: Mengintegrasikan Azure CLI ke dalam Pipeline CI/CD

By ·

Di dunia pengembangan perangkat lunak modern yang serba cepat, efisiensi dan kecepatan adalah segalanya. Seiring tim pengembang mengadopsi praktik integrasi berkelanjutan dan penerapan berkelanjutan…

Automatically translated with AI from the original post. Read the English original

▶ BLOGStreamlining DevOps:Integrating Azure CLI…M365.FM
Titelbild: Streamlining DevOps: Integrating Azure CLI into CI/CD Pipelines

Di dunia pengembangan perangkat lunak modern yang serba cepat, efisiensi dan kecepatan adalah segalanya. Seiring tim pengembang mengadopsi praktik integrasi berkelanjutan dan penerapan berkelanjutan (CI/CD), kebutuhan akan alat otomatisasi yang ringan, andal, dan lintas platform menjadi semakin penting. Baik Anda sedang membuat lingkungan staging sementara, menerapkan infrastruktur sebagai kode, maupun mengonfigurasi microservices, alat pipeline Anda harus dapat berjalan dengan cepat dan konsisten.

Hadirlah Azure CLI. Dirancang agar sederhana, cepat, dan berjalan di berbagai platform, alat ini dengan cepat menjadi pilihan utama bagi insinyur cloud yang ingin menyederhanakan alur kerja DevOps mereka. Dalam artikel ini, kita akan membahas mengapa Azure CLI unggul dalam pipeline penerapan modern, bagaimana perbandingannya dengan alat manajemen lain, dan bagaimana Anda dapat mengintegrasikannya dengan mulus ke dalam proses CI/CD Anda.

Jika Anda menikmati pembahasan mendalam ini, pastikan Anda juga mendengarkan episode podcast terkait kami, Azure CLI vs PowerShell: Which Should You Use?, yang mengulas perbedaan mendasar antara antarmuka manajemen cloud unggulan Microsoft.

Pengantar Azure CLI dalam CI/CD

Pipeline integrasi berkelanjutan dan penerapan berkelanjutan membutuhkan alat yang dapat berjalan di dalam lingkungan kontainer minimal tanpa beban berat. Secara tradisional, skrip otomatisasi terikat erat pada sistem operasi tertentu, sehingga menimbulkan kendala saat berpindah antara mesin pengembang lokal, build agent, dan klaster produksi. DevOps modern menuntut pergeseran ke alat yang memberikan paritas penuh di Windows, macOS, dan Linux.

Azure CLI menjawab tuntutan tersebut secara langsung. Dengan struktur perintah yang bersih dan ramah skrip, serta menghasilkan JSON secara default, alat ini memungkinkan pengembang dan agen otomatis untuk melakukan kueri, membuat, dan memodifikasi sumber daya cloud dengan repot yang minimal. Ketika tertanam dalam pipeline CI/CD, seperti GitHub Actions, GitLab CI, atau Azure DevOps, Azure CLI mengubah langkah penerapan yang abstrak menjadi kode yang dapat diulang dan bersifat deterministik.

Mengapa Azure CLI untuk Pipeline Modern

Dalam merancang arsitektur CI/CD modern, setiap detik sangat berharga. Build agent menggunakan sumber daya komputasi, dan antrean penerapan yang panjang dapat menghambat laju pengembangan. Azure CLI dioptimalkan khusus untuk lingkungan berkecepatan tinggi ini. Karena arsitektur dasarnya bergantung pada panggilan REST yang ringan, eksekusinya sangat cepat dan hemat sumber daya.

Selain itu, build agent berbasis kontainer sering berjalan di atas image Linux yang dipangkas. Memasang dependensi yang besar dapat memperlambat waktu startup pipeline Anda. Jejak Azure CLI yang minimal dan instalasinya yang sederhana menjadikannya pendamping ideal untuk runner CI/CD berbasis Docker. Alat ini memungkinkan pengembang menguji skrip penerapan secara lokal di lingkungan shell yang identik dengan yang dijalankan server build jarak jauh, sehingga secara signifikan mengurangi bug "tapi di mesin saya sudah jalan".

Azure CLI vs PowerShell: Perbandingan Singkat

Perdebatan yang umum dalam manajemen cloud adalah memilih antara Azure CLI dan PowerShell. Kedua alat ini sangat bertenaga, tetapi keduanya melayani persona pengguna dan pola operasional yang sepenuhnya berbeda. Untuk memahami mengapa Azure CLI sering menjadi pemenang untuk pipeline CI/CD, ada baiknya kita membandingkan keduanya secara berdampingan.

SkenarioAlat TerbaikKeunggulan
Penerapan Sumber Daya CepatAzure CLICepat, ringan, perintah sederhana, berjalan di platform apa pun, sangat baik untuk DevOps dan penulisan skrip.
Otomatisasi Skala PerusahaanPowerShellMenangani otomatisasi yang kompleks, keluaran berbasis objek, operasi massal, integrasi Windows yang kuat.
Integrasi Pipeline CI/CDAzure CLIPerintah tingkat tinggi, dukungan native untuk infrastruktur sebagai kode, pengaturan pipeline yang mudah.
Penulisan Skrip LanjutanPowerShellPenulisan skrip yang fleksibel, pembuatan modul sendiri, kendali mendalam atas sumber daya Azure.
Manajemen Lintas PlatformAzure CLIBerjalan di Linux, macOS, dan Windows, dibangun dengan Python, ideal untuk lingkungan yang beragam.

Meskipun PowerShell unggul dalam tugas administratif yang berat dan berorientasi objek serta integrasi Windows yang mendalam, Azure CLI lebih unggul dalam pipeline berbasis kontainer berkat keluaran teksnya yang sederhana, waktu eksekusi yang lebih cepat untuk operasi ringan dalam jumlah besar, dan kompatibilitas Bash bawaan.

Instalasi dan Konfigurasi Azure CLI

Sebelum Anda dapat mengotomatiskan infrastruktur cloud, pastikan Azure CLI sudah terpasang dan terautentikasi dengan benar di lingkungan deployment Anda. Untungnya, proses instalasinya mudah pada sistem operasi apa pun.

Jika Anda menyiapkan mesin lokal atau agen build virtual machine yang berjalan di Windows, Anda dapat memasang CLI menggunakan PowerShell:

Invoke-WebRequest -Uri https://aka.ms/installazurecliwindows -OutFile .\AzureCLI.msi; Start-Process msiexec.exe -Wait -ArgumentList '/I AzureCLI.msi /quiet'; rm .\AzureCLI.msi

Untuk runner CI/CD berbasis Linux (seperti runner GitHub Actions Ubuntu standar), instalasi dapat dilakukan dalam satu langkah menggunakan repositori paket Microsoft. Anda juga dapat memanfaatkan lingkungan runner yang sudah terpasang dan sudah menyertakan Azure CLI secara default. Setelah terpasang, memverifikasi instalasi cukup dengan menjalankan:

az --version

Untuk autentikasi pipeline, hindari login browser interaktif. Sebagai gantinya, konfigurasikan pipeline Anda agar melakukan autentikasi secara aman menggunakan Service Principal atau Managed Identity:

az login --service-principal -u $AZURE_CLIENT_ID -p $AZURE_CLIENT_SECRET --tenant $AZURE_TENANT_ID

Sintaksis dan Perintah Inti Azure CLI

Keunggulan Azure CLI terletak pada sintaksisnya yang intuitif dan mudah diprediksi. Setiap perintah diawali dengan namespace az, dilanjutkan dengan grup resource atau layanan, dan diakhiri dengan tindakan yang ingin Anda lakukan. Struktur perintah yang datar ini membuat penulisan dan pembacaan skrip pipeline menjadi sangat mudah.

Berikut beberapa perintah dasar yang sering digunakan dalam otomatisasi cloud:

# Create a resource group
az group create --name MyPipelineResourceGroup --location eastus

# List all virtual machines in a table format
az vm list --output table

# Deploy an ARM or Bicep template
az deployment group create --resource-group MyPipelineResourceGroup --template-file azuredeploy.json

Secara default, perintah Azure CLI mengembalikan payload JSON yang bersih. Hal ini memudahkan Anda untuk melakukan query properti tertentu menggunakan ekspresi JMESPath bawaan (--query) dan meneruskan nilai tersebut ke langkah berikutnya dalam alur kerja CI/CD Anda.

Mengotomatiskan Deployment dengan Azure CLI

Otomatisasi adalah jantung DevOps. Saat men-deploy aplikasi ke Azure, Anda jarang ingin mengandalkan klik manual di Azure Portal. Dengan membungkus logika deployment Anda dalam skrip Azure CLI, Anda memastikan konsistensi penuh di lingkungan development, staging, dan production.

Bayangkan Anda perlu menyediakan Azure App Service baru, memperbarui pengaturan konfigurasinya, dan men-deploy kode Anda setiap kali ada merge ke cabang main. Skrip otomatis menggunakan Azure CLI membuat tugas ini menjadi mudah:

# Create an App Service plan
az appservice plan create --name MyPlan --resource-group MyResourceGroup --sku B1 --is-linux

# Create the web app
az webapp create --name MyAppService --resource-group MyResourceGroup --plan MyPlan --runtime "NODE:18-lts"

# Configure environment variables
az webapp config appsettings set --name MyAppService --resource-group MyResourceGroup --settings DATABASE_URL="Server=tcp:myServer.database.windows.net..."

Karena perintah-perintah ini bersifat idempoten, menjalankannya berulang kali tidak akan merusak infrastruktur Anda. Sebaliknya, perintah tersebut memastikan lingkungan target sesuai dengan kondisi konfigurasi yang Anda inginkan.

Mengintegrasikan Azure CLI ke dalam Pipeline CI/CD

Mengintegrasikan perintah Azure CLI ke dalam orkestrator CI/CD populer seperti GitHub Actions atau Azure DevOps Pipelines sangatlah mudah. Karena agen pipeline umumnya menjalankan skrip shell, Anda dapat langsung menyisipkan perintah `az` standar ke dalam file konfigurasi alur kerja Anda.

Berikut contoh cuplikan dari file alur kerja GitHub Actions yang melakukan login ke Azure dan men-deploy aplikasi web:

name: Deploy to Azure
on:
  push:
    branches: [ main ]
jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout code
      uses: actions/checkout@v3

    - name: Azure Login
      uses: azure/login@v1
      with:
        creds: ${{ secrets.AZURE_CREDENTIALS }}

    - name: Deploy Azure Resources
      run: |
        az group create --name ProdRG --location eastus
        az deployment group create --resource-group ProdRG --template-file infra/main.bicep

Dengan memanfaatkan action runner resmi yang dikombinasikan dengan perintah Azure CLI mentah, Anda membangun pipeline deployment yang tangguh, dapat diaudit, dan otomatis, yang berjalan dengan lancar setiap kali ada perubahan kode.

Praktik Terbaik untuk Menyederhanakan DevOps dengan Azure CLI

Untuk memaksimalkan otomatisasi Azure CLI Anda serta menjaga pipeline CI/CD tetap aman dan efisien, ikuti praktik terbaik yang sudah terbukti berikut ini:

Kesimpulan

Mengintegrasikan Azure CLI ke dalam pipeline CI/CD merupakan terobosan besar bagi tim DevOps modern. Sifatnya yang ringan, kompatibilitas lintas platform, dan sintaksisnya yang intuitif menjadikannya pendamping ideal untuk deployment cloud yang cepat dan otomatis. Dengan memadukan praktik autentikasi yang aman, skrip yang terstruktur, dan integrasi pipeline yang kokoh, Anda dapat mencapai tingkat kecepatan dan keandalan yang belum pernah ada sebelumnya dalam siklus pengiriman perangkat lunak Anda.

Untuk mendalami topik ini lebih jauh dan mendengarkan debat seru tentang filosofi command-line, simak episode podcast pendamping kami: Azure CLI vs PowerShell: Which Should You Use?. Kuasai kedua alat ini, pahami kekuatan unik masing-masing, dan ambil kendali penuh atas arsitektur cloud Azure Anda hari ini!

Azure DevOps Automation GitHub Actions

Related articles

RSS