Menyiapkan alur CI/CD dengan tugas build Emulator Azure Cosmos DB di Azure DevOps
BERLAKU UNTUK: NoSQL MongoDB Cassandra Gremlin Meja
Catatan
Karena penghapusan penuh pelari yang dihosting Windows 2016 pada 1 April 2022, metode penggunaan emulator Azure Cosmos DB dengan tugas build di Azure DevOps tidak lagi didukung. Kami saat ini secara aktif mengupayakan solusi alternatif. Sementara itu, Anda dapat mengikuti petunjuk di bawah untuk memanfaatkan emulator Azure Cosmos DB yang telah diinstal sebelumnya saat menggunakan jenis agen "windows-2019".
Azure Cosmos DB Emulator menyediakan lingkungan lokal yang meniru layanan Azure Cosmos DB untuk tujuan pengembangan. Emulator tersebut memungkinkan Anda mengembangkan dan menguji aplikasi secara lokal tanpa membuat langganan Azure atau membayar biaya apa pun.
Tugas PowerShell untuk Emulator
Tugas berbasis PowerShell khas yang akan memulai emulator Azure Cosmos DB dapat diskrip sebagai berikut:
Contoh konfigurasi pekerjaan, memilih jenis agen "windows-2019".
Contoh tugas yang menjalankan skrip PowerShell yang diperlukan untuk memulai emulator.
# Write your PowerShell commands here.
dir "$env:ProgramFiles\Azure Cosmos DB Emulator\"
Import-Module "$env:ProgramFiles\Azure Cosmos DB Emulator\PSModules\Microsoft.Azure.CosmosDB.Emulator"
$startEmulatorCmd = "Start-CosmosDbEmulator -NoFirewall -NoUI"
Write-Host $startEmulatorCmd
Invoke-Expression -Command $startEmulatorCmd
# Pipe an emulator info object to the output stream
$Emulator = Get-Item "$env:ProgramFiles\Azure Cosmos DB Emulator\Microsoft.Azure.Cosmos.Emulator.exe"
$IPAddress = Get-NetIPAddress -AddressFamily IPV4 -AddressState Preferred -PrefixOrigin Manual | Select-Object IPAddress
New-Object PSObject @{
Emulator = $Emulator.BaseName
Version = $Emulator.VersionInfo.ProductVersion
Endpoint = @($(hostname), $IPAddress.IPAddress) | ForEach-Object { "https://${_}:8081/" }
MongoDBEndpoint = @($(hostname), $IPAddress.IPAddress) | ForEach-Object { "mongodb://${_}:10255/" }
CassandraEndpoint = @($(hostname), $IPAddress.IPAddress) | ForEach-Object { "tcp://${_}:10350/" }
GremlinEndpoint = @($(hostname), $IPAddress.IPAddress) | ForEach-Object { "http://${_}:8901/" }
TableEndpoint = @($(hostname), $IPAddress.IPAddress) | ForEach-Object { "https://${_}:8902/" }
IPAddress = $IPAddress.IPAddress
}
Anda juga memiliki opsi untuk membangun agen Windows yang dihost sendiri jika Anda perlu menggunakan agen yang tidak disertakan dengan emulator Azure Cosmos DB yang telah diinstal sebelumnya. Pada agen yang dihost sendiri, Anda dapat mengunduh paket MSI emulator terbaru dari https://aka.ms/cosmosdb-emulator menggunakan 'curl' atau 'wget', lalu menggunakan 'msiexec' untuk 'diam' menginstalnya. Setelah penginstalan, Anda dapat menjalankan skrip PowerShell yang sama dengan yang di atas untuk memulai emulator.
Langkah berikutnya
Untuk mempelajari selengkapnya tentang penggunaan emulator untuk pengembangan dan pengujian lokal, lihat Menggunakan Emulator Azure Cosmos DB untuk pengembangan dan pengujian lokal.
Untuk mengekspor sertifikat TLS/SSL emulator, lihat Mengekspor sertifikat Emulator Azure Cosmos DB untuk digunakan dengan Java, Python, dan Node.js