Share via


CI-/CD-folyamat beállítása az Azure Cosmos DB Emulator buildelési feladatával az Azure DevOpsban

A KÖVETKEZŐKRE VONATKOZIK: Nosql MongoDB Cassandra Gremlin Táblázat

Megjegyzés

A Windows 2016 által üzemeltetett futók 2022. április 1-jén történő teljes eltávolítása miatt az Azure Cosmos DB emulátor azure DevOps-beli buildelési feladattal való használatának ez a módszere már nem támogatott. Aktívan dolgozunk az alternatív megoldásokon. Eközben az alábbi utasításokat követve használhatja az Azure Cosmos DB emulátort, amely előre telepítve van a "windows-2019" ügynöktípus használatakor.

Az Azure Cosmos DB Emulator helyi környezetet biztosít, amely az Azure Cosmos DB szolgáltatást emulálja a fejlesztéshez. Az emulátor használatával helyben fejlesztheti és tesztelheti alkalmazását, anélkül, hogy ehhez regisztrálnia kellene egy Azure-előfizetést, vagy fizetnie kellene a szolgáltatásért.

Az Emulator PowerShell-feladata

Egy tipikus PowerShell-alapú feladat, amely elindítja az Azure Cosmos DB emulátort, az alábbiak szerint szkriptelhető:

Példa feladatkonfigurációra a "windows-2019" ügynöktípus kiválasztásával. Képernyőkép a windows-2019-et használó feladatkonfigurációról

Példa az emulátor elindításához szükséges PowerShell-szkriptet végrehajtó feladatra.

Képernyőkép az emulátor elindításához használt PowerShell-szkript végrehajtásáról


# 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
}

Ha olyan ügynököt kell használnia, amely nem rendelkezik előre telepített Azure Cosmos DB-emulátorsal, saját windowsos ügynököt is létrehozhat. A saját üzemeltetésű ügynökén letöltheti a legújabb emulátor MSI-csomagját https://aka.ms/cosmosdb-emulator a "curl" vagy a "wget" használatával, majd használhatja az "msiexec" parancsot a "quiet" telepítéséhez. A telepítés után a fentihez hasonló PowerShell-szkriptet futtathat az emulátor elindításához.

Következő lépések

További információ az emulátor helyi fejlesztéshez és teszteléshez való használatáról: Az Azure Cosmos DB Emulator használata helyi fejlesztéshez és teszteléshez.

Az emulátor TLS-/SSL-tanúsítványainak exportálásával kapcsolatban lásd : Az Azure Cosmos DB Emulator-tanúsítványok exportálása Javával, Pythonnal és Node.js