Partage via


Configurer le pipeline CI/CD avec la tâche de génération d’émulateur Azure Cosmos DB dans Azure DevOps

S’APPLIQUE À : NoSQL MongoDB Cassandra Gremlin Table

Notes

En raison de la suppression complète des exécuteurs hébergés sous Windows 2016 le 1er avril 2022, cette méthode d’utilisation de l’émulateur Azure Cosmos DB avec la tâche de génération dans Azure DevOps n’est plus prise en charge. Nous recherchons activement des solutions alternatives. En attendant, vous pouvez suivre les instructions ci-dessous pour tirer parti de l’émulateur Azure Cosmos DB préinstallé lorsque vous utilisez le type d'agent « windows-2019 ».

L’émulateur Azure Cosmos DB fournit un environnement local qui émule le service Azure Cosmos DB à des fins de développement. L’émulateur vous permet de développer et tester votre application localement, sans créer d’abonnement Azure et sans frais.

Tâche PowerShell pour Emulator

Une tâche PowerShell classique qui démarre l’émulateur Azure Cosmos DB peut suivre le script suivant :

Exemple de configuration d’un travail lorsque le type d’agent « windows-2019 » est sélectionné. Capture d’écran de la configuration de travail à l’aide de windows-2019

Exemple de tâche exécutant le script PowerShell nécessaire au démarrage de l’émulateur.

Capture d’écran de l’exécution d’u script PowerShell pour lancer l’émulateur


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

Vous avez également la possibilité de créer votre propre agent Windows auto-hébergé si vous devez utiliser un agent qui ne vient pas avec l’émulateur Azure Cosmos DB préinstallé. Sur votre agent auto-hébergé, vous pouvez télécharger le package MSI de la dernière version de l’émulateur à l’aide de https://aka.ms/cosmosdb-emulator « curl » ou « wget », puis utiliser « msiexec » pour « quiet » l’installer. Après l’installation, vous pouvez exécuter un script PowerShell semblable à celui présenté ci-dessus pour démarrer l’émulateur.

Étapes suivantes

Pour en savoir plus sur l’utilisation de l’émulateur pour développer en local et tester, consultez Utilisation de l’émulateur Azure Cosmos DB pour le développement local et le test.

Pour exporter les certificats TLS/SSL de l’émulateur, consultez Exporter les certificats de l’émulateur Azure Cosmos DB pour une utilisation avec Java, Python et Node.js