Konfigurowanie potoku ciągłej integracji/ciągłego wdrażania za pomocą zadania kompilacji emulatora usługi Azure Cosmos DB w usłudze Azure DevOps
DOTYCZY: NoSQL MongoDB Kasandra Gremlin Stół
Uwaga
Ze względu na pełne usunięcie hostowanych modułów uruchamiaczy systemu Windows 2016 w dniu 1 kwietnia 2022 r. ta metoda korzystania z emulatora usługi Azure Cosmos DB z zadaniem kompilacji w usłudze Azure DevOps nie jest już obsługiwana. Aktywnie pracujemy nad rozwiązaniami alternatywnymi. W międzyczasie możesz postępować zgodnie z poniższymi instrukcjami, aby skorzystać z emulatora usługi Azure Cosmos DB, który jest wstępnie zainstalowany podczas korzystania z typu agenta "windows-2019".
Emulator usługi Azure Cosmos DB zapewnia środowisko lokalne, które emuluje usługę Azure Cosmos DB do celów programistycznych. Emulator umożliwia lokalne opracowywanie i testowanie aplikacji bez konieczności tworzenia subskrypcji platformy Azure i ponoszenia kosztów.
Zadanie programu PowerShell dla emulatora
Typowe zadanie oparte na programie PowerShell, które uruchomi emulator usługi Azure Cosmos DB, można wykonać w następujący sposób:
Przykład konfiguracji zadania, wybierając typ agenta "windows-2019".
Przykład zadania wykonującego skrypt programu PowerShell potrzebny do uruchomienia emulatora.
# 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
}
Istnieje również możliwość utworzenia własnego własnego agenta systemu Windows, jeśli musisz użyć agenta, który nie jest dołączony do wstępnie zainstalowanego emulatora usługi Azure Cosmos DB. Na własnym agencie możesz pobrać najnowszy pakiet MSI emulatora z https://aka.ms/cosmosdb-emulator polecenia "curl" lub "wget", a następnie użyć polecenia "msiexec" , aby zainstalować go w trybie cichym. Po zainstalowaniu możesz uruchomić podobny skrypt programu PowerShell, jak powyższy, aby uruchomić emulator.
Następne kroki
Aby dowiedzieć się więcej na temat korzystania z emulatora do celów lokalnego programowania i testowania, zobacz Programowanie i testowanie w środowisku lokalnym przy użyciu emulatora usługi Azure Cosmos DB.
Aby wyeksportować certyfikaty TLS/SSL emulatora, zobacz Eksportowanie certyfikatów emulatora usługi Azure Cosmos DB do użycia z językami Java, Python i Node.js