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.
Réponses
Trop de publicités?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.
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.
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.
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.