Loupe

Industrialiser ses développements avec le SharePoint Framework 2/3 (Release)

Voici la suite de la série sur la mise en place de l'industrialisation des développements réalisés à l'aide du SPFx.

  1. Mise en place d'une build dans Visual Studio Online pour les applications SPFx
  2. Mise en place d'une release dans VSO pour les applications SPFx
  3. Scénarios et paramétrage avancés

Approche générale

Nous allons donc attaquer la partie Release avec pour objectif : 

  • Récupérer notre package à déployer
  • Vérifier s'il n'est pas déjà présent dans le catalogue d'app et le retirer si nécessaire
  • L'ajouter au catalogue
  • L'activer sur un site (pour la recette par exemple)

ALM_SPFx_Release_Overview.png

Initialisation de la release

Pour notre release, partez d'une définition vide, avec Hosted VS2017 comme agent, puis ajoutez 3 tâches PowerShell. Pour cet article, j'ai découpé pour clarifier les différentes étapes en inline, mais vous pouvez bien entendu tout regrouper et/ou le gérer depuis un script à part.

ALM_SPFX_Release_Tasks.JPG

PnP PowerShell

Comme expliqué dans le précédent article, nous allons avoir besoin des extensions PowerShell proposés par PnP et disponibles sur GitHhub : https://github.com/SharePoint/PnP-PowerShell

Ces extensions comprennent des cmdlets qui appellent les API ALM (REST) pour le SharePoint Framework.

Dans la première tâche PowerShell, on s'occupe donc d'installer le module Pnp PowerShell :

ALM_SPFX_Release_01.JPG

Faire place nette avant le déploiement de notre solution

Il est bien sûr possible de ne procéder qu'à une mise à jour, mais je pars ici du principe d'un déploiement complet à chaque fois. Voici le déroulé: 

  • Connexion au site via le Connect-PnPOnline
  • Récupération des apps déclarées avec Get-PnpApp pour y trouver la notre
  • Si elle est présente, on la désinstalle du site (Uninstall-PnpApp) puis on la retire du catalogue (Remove-PnPApp); une petite attente entre les 2 pour que la désinstallation ait le temps de se faire proprement

ALM_SPFX_Release_02.JPG

Déploiement du package

Dernière étape, et non des moindres, le déploiement !

On va donc cette fois-ci tout simplement appeler la commande Add-PnpApp pour ajouter l'application dans le catalogue. Vous pouvez potentiellement avoir besoin d'appeler Publish-PnpApp afin de la rendre effectivement disponible au sein du tenant, mais il ne semblait pas obligatoire. Enfin, Install-PnpApp l'installe effectivement sur le site.

ALM_SPFX_Release_03.JPG

 Et les variables dans tout ça ?

Il nous manque en effet les variables utilisées dans la release, les voici :

ALM_SPFX_Release_Variables.JPG

On y retrouve le nom du package ainsi que celui de la solution, l'URL cible de déploiement de notre app mais aussi les credentials nécessaires au bon déploiement (il vous faut un compte administrateur bien sûr !). .Et afin d'éviter de laisser un mot de passe en clair se balader ainsi, je vous conseille d'utiliser le passage en variable "secrète" via le petit cadenas :

ALM_SPFX_Release_Secret.JPG

Le mot de passe ne sera ainsi pas récupérable directement, il faudra forcément le passer en paramètre à nos scripts pour qu'il soit utilisable.

Maintenant que vous maîtrisez la release, en avant pour les scénarios plus avancés.

Photo de profil

Ces billets pourraient aussi vous intéresser

Vous nous direz ?!

Commentaires

comments powered by Disqus