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

Déploiements

Les déploiements offrent la possibilité d'empaqueter et de versionner les dépôts de configuration PowerShell Universal. Ils peuvent être déployés vers un cluster de nœuds PowerShell Universal afin de garantir que tous les nœuds ont la même configuration sans avoir à configurer la synchronisation git. Les déploiements sont empaquetés en tant que modules PowerShell et peuvent être déployés directement à partir de dépôts PowerShell.

Les déploiements peuvent aussi servir à créer rapidement des instantanés des configurations PSU et à revenir en arrière ou en avant sans devoir modifier manuellement des fichiers.

Création d'un déploiement

Vous aurez besoin de la permission 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. L'applet de commande New-PSUDeployment peut être utilisée pour générer un nouveau déploiement. Ce déploiement sera stocké dans la base de données. Il contiendra l'état actuel du dépôt PowerShell Universal pour l'ordinateur auquel il est connecté.

Le -Path est facultatif et contiendra le fichier NuPkg du module.

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

Vous pouvez aussi appeler l'API de HTTP.

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

Appliquer un déploiement en tant que module

Si vous voulez que votre module de déploiement apparaisse dans le PSModulePath, vous pouvez ajouter le paramètre de chaîne 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 manuellement des déploiements, car l'automatisation devrait être privilégiée, mais c'est possible par l'entremise de la console d'administration.

Ouvrez Source Control > Deployments. Vous aurez besoin de la permission Setings.Deployments\Read pour voir cette page. Cliquez sur Create Deployment pour configurer un nouveau déploiement. Ce déploiement sera affiché 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 d'API est requis pour reconfigurer l'ensemble du cluster.

Vous aurez besoin de la permission 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 l'applet de commande Select-PSUDeployment ou l'API de gestion pour appliquer un déploiement. Cela peut être fait à l'aide d'un dépôt PowerShell ou en sélectionnant un déploiement qui se trouve dans la base de données.

Console d'administration

Nous ne recommandons pas de gérer les déploiements à partir de la console d'administration, mais c'est possible. Privilégiez toujours l'automatisation plutôt que les processus de déploiement manuels. Dans la console d'administration, ouvrez Source Control > Deployments.

À partir de là, vous pouvez voir tous les déploiements listés qui ont été créés dans l'environnement PSU. Cliquez sur le bouton Appliquer pour appliquer le déploiement au cluster. Vous aurez l'option d'épingler le déploiement.

Dépôt PowerShell

Vous pouvez utiliser l'API de gestion et le module Universal pour appliquer un déploiement directement à partir d'un dépôt PowerShell, comme le PowerShell Gallery ou un partage de fichiers. Le dépôt 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 dépôt.

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 dépôt directement à partir de GitHub. Elle extrait le dépôt actuel et pousse les changements vers PowerShell Universal.

Voici un exemple du YAML pour le 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 une fonctionnalité similaire. La synchronisation git et les déploiements garantissent tous deux que tous les nœuds d'un cluster partagent une configuration, mais chacun a ses avantages et ses inconvénients.

Git

Git permet aux utilisateurs de faire des commits directement dans PowerShell Universal. Ils pourront consulter l'historique et comparer les changements sans avoir à quitter la console d'administration. Git peut aussi être compliqué et problématique à configurer. PowerShell Universal offre 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 seulement les ressources qui changent. Cela dit, c'est souvent compliqué et sujet aux erreurs.

Avantages

  • Configuration partagée dans l'ensemble du cluster

  • Interaction git directement dans la console d'administration

  • Consulter 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 dépôt git externe pour les clusters

  • Peut être compliqué à configurer

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

  • Les mises à jour incrémentielles des ressources sont compliquées 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 offrent un moyen d'appliquer des paquets de déploiement immuables aux clusters PowerShell Universal. Aucun système externe n'est requis, et les paquets de déploiement sont simplement des modules PowerShell qui peuvent être stockés dans la base de données ou, optionnellement, dans des dépôts de ressources PowerShell externes. Les déploiements ne contiennent aucun historique de fichiers et ne s'intègrent pas au contrôle de code source. Les déploiements peuvent être créés dans PowerShell Universal ou à l'extérieur avec des applets de commande PowerShell standards.

Avantages

  • Simples à créer et à déployer avec des applets de commande PowerShell standards

  • Aucun système externe requis

  • Configurations immuables qui sont simples à déployer pour PowerShell Universal

  • Peuvent être intégrés aux dépôts de ressources PowerShell pour la gestion des versions

Inconvénients

  • Le contrôle de code source doit être réalisé à l'extérieur de PSU

  • Systèmes externes requis pour automatiser les déploiements

  • La reconfiguration peut prendre du temps puisque toute la configuration du serveur est réinitialisée

Mis à jour

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