Delen via


Een CI/CD-pijplijn instellen met de build-taak van Azure Cosmos DB Emulator in Azure DevOps

VAN TOEPASSING OP: NoSQL MongoDB Cassandra Gremlin Tafel

Notitie

Vanwege de volledige verwijdering van door Windows 2016 gehoste hardlopers op 1 april 2022, wordt deze methode voor het gebruik van de Azure Cosmos DB-emulator met build-taak in Azure DevOps niet meer ondersteund. We werken actief aan alternatieve oplossingen. Ondertussen kunt u de onderstaande instructies volgen om gebruik te maken van de Azure Cosmos DB-emulator die vooraf is geïnstalleerd wanneer u het agenttype windows-2019 gebruikt.

De Azure Cosmos DB Emulator is een lokale omgeving waarin de Azure Cosmos DB-service wordt geëmuleerd voor ontwikkelingsdoeleinden. Met behulp van de emulator kunt u uw toepassing lokaal ontwikkelen en testen, kosteloos en zonder een Azure-abonnement te maken.

PowerShell-taak voor emulator

Een typische PowerShell-taak die de Azure Cosmos DB-emulator start, kan als volgt worden gescript:

Voorbeeld van een taakconfiguratie, waarbij u het agenttype windows-2019 selecteert. Schermopname van de taakconfiguratie met windows-2019

Voorbeeld van een taak die het PowerShell-script uitvoert dat nodig is om de emulator te starten.

Schermopname van het uitvoeren van het PowerShell-script om de emulator te starten


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

U hebt ook de mogelijkheid om uw eigen zelf-hostende Windows-agent te bouwen als u een agent wilt gebruiken die niet vooraf wordt geleverd met de Azure Cosmos DB-emulator. Op uw zelf-hostende agent kunt u het MSI-pakket https://aka.ms/cosmosdb-emulator van de meest recente emulator downloaden met 'curl' of 'wget', en vervolgens msiexec gebruiken om het te installeren. Na de installatie kunt u een vergelijkbaar PowerShell-script uitvoeren als hierboven om de emulator te starten.

Volgende stappen

Zie De Azure Cosmos DB Emulator gebruiken voor lokaal ontwikkelen en testen voor meer informatie over het gebruik van de emulator voor lokaal ontwikkelen en testen.

Zie De Azure Cosmos DB Emulator-certificaten exporteren voor gebruik met Java, Python en Node.js om TLS/SSL-certificaten van de emulator te exporteren