4 votes

Réutilisation de scripts PowerShell dans Azure DevOps

J'ai un script PowerShell que je veux réutiliser dans plusieurs pipelines de build. Ma question est de savoir s'il existe un moyen de "stocker" ou "sauvegarder" mon script PowerShell au niveau du projet ou de l'organisation afin de pouvoir l'utiliser dans mes autres pipelines de build. Si oui, comment ? Je ne semble pas trouver de moyen de le faire. Ce serait très pratique cependant.

0voto

Dillon Adams Points 61

De ce que j'ai vu, non.

Quelques options différentes que j'ai explorées sont :

  • Si vous utilisez un agent non hébergé, enregistrer le fichier sur le serveur de build. Certes, cela ne permet pas de mettre à l'échelle efficacement, mais c'est mieux que de copier/coller le script partout. J'ai pu mettre ces scripts en contrôle de version et les déployer via leur propre pipeline, donc cela pourrait être une solution pour l'évolutivité (si nécessaire)
  • Cloner un autre dépôt qui contient ces scripts partagés pendant le processus.

J'ai demandé cette fonctionnalité depuis un moment, mais il semble que l'équipe Azure DevOps ait des priorités plus élevées.

0voto

D.J. Points 549

En fonction de la taille de ces scripts, vous pouvez créer des groupes de tâches contenant des tâches PowerShell avec le script en tant que PowerShell en ligne. Mais cela ne fonctionne que dans le cadre du projet..

Une autre tentative que j'essaierais serait de créer un référentiel contenant vos scripts PowerShell, ajouter ce référentiel en tant que sous-module dans le référentiel que vous essayez de construire, puis appeler les scripts à partir du dossier du sous-module. Mais cela ne fonctionne que lorsque vous utilisez des dépôts git.

Ou vous pourriez créer une tâche de génération personnalisée contenant votre script.

0voto

Palle Due Points 44

Et si on mettait le PowerShell dans un package NuGet et qu'on l'installe dans des projets dépendants ?

0voto

Kat Lim Ruiz Points 381

Je viens de découvrir les modèles YAML (https://docs.microsoft.com/en-us/azure/devops/pipelines/process/templates?view=azdevops#step-re-use).

Je pense que cela pourrait vous aider dans ce cas (en fonction de la taille de votre fichier), vous pouvez mettre un script powershell en ligne dans ce modèle yaml, et le réutiliser dans votre yaml principal.

La documentation est assez explicite.

0voto

Yuhis Points 27

Il est maintenant possible de vérifier plusieurs dépôts dans un pipeline YAML. Vous pouvez placer votre script dans un dépôt et le vérifier dans un pipeline de n'importe quel autre dépôt. Vous pouvez ensuite faire référence au script directement dans l'espace de travail du pipeline.

Plus d'informations ici.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X