Dela via


Konfigurera en CI/CD-pipeline med azure Cosmos DB-emulatorns bygguppgift i Azure DevOps

GÄLLER FÖR: NoSQL MongoDB Kassandra Gremlin Bord

Kommentar

På grund av fullständig borttagning av Windows 2016-värdbaserade löpare den 1 april 2022 stöds inte längre den här metoden för att använda Azure Cosmos DB-emulatorn med byggaktivitet i Azure DevOps. Vi arbetar aktivt med alternativa lösningar. Under tiden kan du följa anvisningarna nedan för att utnyttja Azure Cosmos DB-emulatorn som är förinstallerad när du använder agenttypen "windows-2019".

Azure Cosmos DB-emulatorn ger en lokal miljö som emulerar Azure Cosmos DB-tjänsten för utveckling. Med emulatorn kan du utveckla och testa programmet lokalt, utan att skapa en Azure-prenumeration och utan att det kostar något.

PowerShell-uppgift för emulatorn

En typisk PowerShell-baserad uppgift som startar Azure Cosmos DB-emulatorn kan skriptas på följande sätt:

Exempel på en jobbkonfiguration som väljer agenttypen "windows-2019". Skärmbild av jobbkonfigurationen med windows-2019

Exempel på en uppgift som kör PowerShell-skriptet som behövs för att starta emulatorn.

Skärmbild som kör PowerShell-skriptet för att starta emulatorn


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

Du har också möjlighet att skapa en egen lokalt installerad Windows-agent om du behöver använda en agent som inte levereras med Azure Cosmos DB-emulatorn förinstallerad. På din egen värdbaserade agent kan du ladda ned den senaste emulatorns MSI-paket från https://aka.ms/cosmosdb-emulator att använda "curl" eller "wget" och sedan använda "msiexec" för att "tyst" installera det. Efter installationen kan du köra ett liknande PowerShell-skript som det ovan för att starta emulatorn.

Nästa steg

Mer information om hur du använder emulatorn för lokal utveckling och testning finns i Använda Azure Cosmos DB-emulatorn för lokal utveckling och testning.

Information om hur du exporterar TLS/SSL-certifikat för emulatorn finns i Exportera Azure Cosmos DB-emulatorcertifikat för användning med Java, Python och Node.js