Azure DevOps'ta Azure Cosmos DB Öykünücüsü derleme göreviyle CI/CD işlem hattı ayarlama

ŞUNLAR IÇIN GEÇERLIDIR: Nosql MongoDB Cassandra Gremlin Tablo

Not

Windows 2016'da barındırılan çalıştırıcıların 1 Nisan 2022'de tamamen kaldırılması nedeniyle, Azure DevOps'ta derleme göreviyle Azure Cosmos DB öykünücüsünün kullanılması artık desteklenmemektedir. Alternatif çözümler üzerinde etkin bir şekilde çalışıyoruz. Bu arada, "windows-2019" aracı türünü kullanırken önceden yüklenmiş olarak gelen Azure Cosmos DB öykünücüsnden yararlanmak için aşağıdaki yönergeleri izleyebilirsiniz.

Azure Cosmos DB Öykünücüsü, geliştirme amaçlı olarak Azure Cosmos DB hizmetine öykünen yerel bir ortam sağlar. Öykünücü sayesinde Azure aboneliği oluşturmadan veya masraf yapmadan uygulamanızı yerel ortamda geliştirip test edebilirsiniz.

Öykünücü için PowerShell Görevi

Azure Cosmos DB öykünücüsİnİ başlatacak tipik bir PowerShell tabanlı görev aşağıdaki gibi betik oluşturulabilir:

"windows-2019" aracı türünü seçen bir iş yapılandırması örneği. windows-2019 kullanarak iş yapılandırmasının ekran görüntüsü

Öykünücüyü başlatmak için gereken PowerShell betiğini yürüten bir görev örneği.

Öykünücüyü başlatmak için PowerShell betiğini yürütme ekran görüntüsü


# Write your PowerShell commands here.

dir "C:\Program Files\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
}

Azure Cosmos DB öykünücüsü önceden yüklenmiş olarak gelmeyen bir aracı kullanmanız gerekiyorsa kendi şirket içi barındırılan Windows aracınızı oluşturma seçeneğiniz de vardır. Şirket içi barındırılan aracınızda en son öykünücünün MSI paketini https://aka.ms/cosmosdb-emulator 'curl' veya 'wget' kullanarak indirebilir, ardından 'sessiz' yüklemek için 'msiexec' kullanabilirsiniz. Yüklemeden sonra öykünücüyü başlatmak için yukarıdakiyle benzer bir PowerShell betiği çalıştırabilirsiniz.

Sonraki adımlar

Yerel geliştirme ve test için öykünücü kullanımı hakkında daha fazla bilgi edinmek için bkz. Yerel geliştirme ve test için Azure Cosmos DB Öykünücüsünü kullanma.

Öykünücü TLS/SSL sertifikalarını dışarı aktarmak için bkz. Azure Cosmos DB Öykünücüsü sertifikalarını Java, Python ve Node.jsile kullanmak üzere dışarı aktarma