For the complete documentation index, see llms.txt. This page is also available as Markdown.

Déploiements

Packages de configuration immuables pour PowerShell Universal.

Les déploiements offrent la possibilité de conditionner et de versionner les référentiels de configuration de PowerShell Universal. Ils peuvent être déployés sur un cluster de nœuds PowerShell Universal afin de garantir que tous les nœuds partagent la même configuration, sans avoir besoin de configurer la synchronisation git. Les déploiements sont conditionnés sous forme de modules PowerShell et peuvent être déployés directement depuis des référentiels PowerShell.

Les déploiements peuvent également être utilisés comme moyen de capturer rapidement des instantanés des configurations PSU et de revenir en arrière ou d'avancer sans avoir à modifier manuellement les fichiers.

Création d'un déploiement

Vous devez disposer de l'autorisation Settings.Deployments\Create pour créer de nouveaux déploiements.

API

L'API de gestion et le module PowerShell Universal peuvent être utilisés pour créer des déploiements PowerShell Universal. La cmdlet New-PSUDeployment permet de générer un nouveau déploiement. Ce déploiement sera stocké dans la base de données. Il contiendra l'état actuel du référentiel PowerShell Universal de l'ordinateur auquel il est connecté.

Le paramètre -Path est facultatif et contiendra le fichier de module NuPkg.

New-PSUDeployment -Name 'Production' -Version '1.0.1' -Path .\production.1.0.1.nupkg

Vous pouvez également appeler l'API via HTTP.

Invoke-RestMethod http://localhost:5000/api/v1/deployments -Method POST -Body (@{
   Name = 'Production'
   Version = '1.0.1'
} | ConvertTo-Json)

Application d'un déploiement en tant que module

Si vous souhaitez que votre module de déploiement apparaisse dans le PSModulePath, vous pouvez ajouter le paramètre de requête asModule au chemin. Cela garantit que les fonctions du module de déploiement sont disponibles dans l'environnement.

Console d'administration

Nous ne recommandons pas de créer des déploiements manuellement, car l'automatisation est préférable, mais cela est possible via la console d'administration.

Cliquez sur Paramètres \ Déploiements pour accéder à la page des déploiements. Vous devez disposer de l'autorisation Settings.Deployments\Read pour afficher cette page. Cliquez sur Créer un déploiement pour configurer un nouveau déploiement. Ce déploiement apparaîtra dans le tableau des déploiements.

Application d'un déploiement

L'application d'un déploiement reconfigure tous les nœuds d'un cluster PowerShell Universal avec le contenu du déploiement sélectionné. Un seul appel API est nécessaire pour reconfigurer l'ensemble du cluster.

Vous devez disposer de l'autorisation Settings.Deployments\Execute pour appliquer un déploiement.

Épinglage

L'épinglage applique un déploiement et garantit que la console d'administration et l'API de gestion sont en lecture seule. Cela empêche les utilisateurs de modifier les ressources dans le cluster.

L'épinglage est recommandé pour les clusters PowerShell Universal en production.

API

Vous pouvez utiliser la cmdlet Select-PSUDeployment ou l'API de gestion pour appliquer un déploiement. Cela peut être effectué à l'aide d'un référentiel PowerShell ou en sélectionnant un déploiement présent dans la base de données.

Console d'administration

Nous ne recommandons pas de gérer les déploiements via la console d'administration, mais cela est possible. Préférez toujours l'automatisation aux processus de déploiement manuels. Dans la console d'administration, cliquez sur Paramètres \ Déploiements.

Depuis cette page, vous pouvez voir tous les déploiements créés dans l'environnement PSU. Cliquez sur le bouton Appliquer pour appliquer le déploiement au cluster. Vous aurez la possibilité d'épingler le déploiement.

Référentiel PowerShell

Vous pouvez utiliser l'API de gestion et le module Universal pour appliquer un déploiement directement depuis un référentiel PowerShell, comme la PowerShell Gallery ou un partage de fichiers. Le référentiel doit être enregistré sur tous les nœuds du cluster afin d'appliquer le déploiement avec succès. Vous pouvez utiliser Register-PSResourceRepository pour enregistrer un référentiel.

Pour appliquer le déploiement, appelez Select-PSUDeployment avec le paramètre Module défini.

GitHub Actions

Vous pouvez utiliser l'action ironmansoftware/deploy-universal pour déployer votre référentiel directement depuis GitHub. Elle extrait le référentiel courant et pousse les modifications vers PowerShell Universal.

Voici un exemple de YAML pour ce faire. Pour en savoir plus sur l'action de déploiement, cliquez ici.

Git vs déploiements

La synchronisation git et les déploiements offrent des fonctionnalités similaires. Les deux approches garantissent que tous les nœuds d'un cluster partagent une configuration, mais chacune présente ses avantages et ses inconvénients.

Git

Git permet aux utilisateurs d'effectuer des commits directement dans PowerShell Universal. Ils peuvent consulter l'historique et comparer les modifications sans quitter la console d'administration. Git peut également être complexe et problématique à configurer. PowerShell Universal propose des fonctionnalités git limitées. La synchronisation git a l'avantage de connaître la différence entre la configuration actuelle et la configuration entrante, et peut recharger uniquement les ressources modifiées. Cela dit, cela est souvent complexe et sujet aux erreurs.

Avantages

  • Configuration partagée dans le cluster

  • Interaction git directement dans la console d'administration

  • Consultation de l'historique des commits directement dans la console d'administration

  • Les mises à jour incrémentielles des ressources limitent les temps d'arrêt

Inconvénients

  • Nécessite un référentiel git externe pour les clusters

  • Peut être complexe à configurer

  • Les modifications apportées aux systèmes git externes peuvent empêcher PSU de se synchroniser

  • Les mises à jour incrémentielles des ressources sont complexes et sujettes aux erreurs

  • La modification directe dans des instances PSU partagées peut être problématique pour les grandes équipes

Déploiements

Les déploiements fournissent un moyen d'appliquer des packages de déploiement immuables aux clusters PowerShell Universal. Aucun système externe n'est requis, et les packages de déploiement sont simplement des modules PowerShell qui peuvent être stockés dans la base de données ou, facultativement, dans des référentiels de ressources PowerShell externes. Les déploiements ne contiennent aucun historique de fichiers et ne s'intègrent pas avec le contrôle de code source. Les déploiements peuvent être créés dans PowerShell Universal ou en dehors avec des cmdlets PowerShell standard.

Avantages

  • Simple à créer et à déployer avec des cmdlets PowerShell standard

  • Aucun système externe requis

  • Configurations immuables, simples à déployer pour PowerShell Universal

  • Peut être intégré avec des référentiels de ressources PowerShell pour la gestion des versions

Inconvénients

  • Le contrôle de code source doit être géré en dehors de PSU

  • Des systèmes externes sont nécessaires pour automatiser les déploiements

  • La reconfiguration peut prendre du temps, car l'ensemble de la configuration du serveur est réinitialisée

Mis à jour

Ce contenu vous a-t-il été utile ?