Mise à jour d'une image Appveyor Azure
Electron CI sur Windows utilise AppVeyor, qui à son tour utilise les images VM d'Azure pour s'exécuter. Parfois, ces images de VM doivent être mises à jour en raison des changements dans les exigences de Chromium. Pour effectuer ces mises à jour vous aurez besoin de PowerShell et du module Azure PowerShell.
Parfois, la mise à jour de ces images est nécessaire suite à des changements dans Chromium ou d'autres modifications des critères de compilation.
Exemple de cas d'utilisation :
* Supposons que nous ayons besoin de `VS15.9` et que `VS15.7` soit installé; cela nous obligerait à mettre à jour une image Azure.
Identifiez l'image que vous souhaitez modifier.
- Dans appveyor.yml, l'image est identifiée par la propriété image.
- Les noms utilisés correspondent aux "images" définie pour un cloud de compilation, par exemple le libcc-20 cloud.
- Trouvez l'image que vous souhaitez modifier dans lecloud de build et notez le VHD Blob Path pour cette image, qui est la valeur de cette clé correspondante.
- Vous aurez besoin de ce chemin URI pour copier dans une nouvelle image.
- Vous aurez également besoin du nom du compte de stockage qui est étiqueté dans AppVeyor comme le Disk Storage Account Name
- Dans appveyor.yml, l'image est identifiée par la propriété image.
Obtenir la clé du compte de stockage Azure
- Connectez-vous à Azure en utilisant les identifiants stockés dans LastPass (sous Azure Enterprise) puis trouvez le compte de stockage correspondant au nom trouvé dans AppVeyor.
- Exemple, pour
appveyorlibccbuilds
Nom du compte de stockage sur disque vous recherchezappveyorlibccbuilds
dans la liste des comptes de stockage @ Accueil < Storage Accounts- Cliquez dessus et cherchez
Access Keys
, ensuite vous pouvez utiliser n'importe laquelle des clés présentes dans la liste.
- Cliquez dessus et cherchez
- Exemple, pour
- Connectez-vous à Azure en utilisant les identifiants stockés dans LastPass (sous Azure Enterprise) puis trouvez le compte de stockage correspondant au nom trouvé dans AppVeyor.
Obtenir l'URI complet de l'image de la machine virtuelle à partir d'Azure
- Accédez aux < de stockage <
$ACCT_NAME
< Blobs < Images- Dans la liste suivante, recherchez le nom du chemin d'accès VHD que vous avez obtenu depuis Appveyor puis cliquez dessus.
- Copiez l'URL entière depuis le haut de la fenêtre suivante.
- Dans la liste suivante, recherchez le nom du chemin d'accès VHD que vous avez obtenu depuis Appveyor puis cliquez dessus.
- Accédez aux < de stockage <
Copiez l'image en utilisant le script Copier l'image maître PowerShell.
- Il est essentiel de copier la VM car si vous faites tourner une VM contre une image cette l'image ne peut pas en même temps être utilisée par AppVeyor.
- Utilisez le nom du compte de stockage, la clé et l'URI obtenus auprès d'Azure pour exécuter ce script.
- Reportez-vous à l'étape 3 pour l'URI & lorsque vous y êtes invité, appuyez sur Entrée pour utiliser le même compte de stockage que la destination.
- Utiliser le nom du conteneur de destination par défaut
(images)
- En outre, lorsque vous nommez la copie, utilisez un nom qui indique ce que la nouvelle image contiendra (si cela a changé) et un horodatage.
- Ex.
libcc-20core-vs2017-15.9-2019-04-15.vhd
- Ex.
- Allez dans Azure et obtenez l'URI de l'image nouvellement créée comme décrit à l'étape précédente
Faites tourner une nouvelle VM en utilisant Créer une VM Master à partir de VHD PowerShell.
- Depuis PowerShell, exécutez le fichier
ps1
avec./create_master_vm_from_vhd.ps1
- Vous aurez besoin des informations d'identification disponibles dans la définition du cloud de build AppVeyor.
- Ceci comprend :
- Client ID
- Client Secret
- Tenant ID
- Subscription ID
- Resource Group
- Virtual Network
- Ceci comprend :
- Vous devrez également préciser
- Master VM name - un nom unique pour identifier la VM temporaire
- Master VM size - utilisez
Standard_F32s_v2
- Master VHD URI - utiliser URI obtenu à fin de l'étape précédente
- Location utilise la localisation
East US
- Depuis PowerShell, exécutez le fichier
Reconnectez-vous à Azure et trouvez la VM que vous venez de créer dans Home < Virtual Machines <
$YOUR_NEW_VM
- Vous pouvez télécharger un fichier RDP (Remote Desktop) pour accéder à la VM.
En utilisant Microsoft Remote Desktop, cliquez sur
Connect
pour vous connecter à la VM.- Les identifiants pour se connecter à la VM se trouvent dans LastPass sous les identifiants de
AppVeyor Enterprise master VM
.
- Les identifiants pour se connecter à la VM se trouvent dans LastPass sous les identifiants de
Modifiez la VM si nécessaire.
Arrêtez la VM puis supprimez-la dans Azure.
Ajoutez la nouvelle image aux paramètres d'Appveyor Cloud ou modifiez une image existante pour pointer vers le nouveau VHD.