Agents hébergés par Microsoft
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018
Les agents hébergés par Microsoft sont disponibles uniquement avec Azure DevOps Services, qui est hébergé dans le cloud. Vous ne pouvez pas utiliser les agents hébergés par Microsoft ou le pool d’agents Azure Pipelines avec TFS ou Azure DevOps Server locaux. Avec ces versions locales, vous devez utiliser des agents auto-hébergés.
Important
Pour afficher le contenu disponible pour votre plateforme, veillez à sélectionner la version correcte de cet article dans le sélecteur de version situé au-dessus de la table des matières. La prise en charge des fonctionnalités diffère selon que vous travaillez à partir de Azure DevOps Services ou d’une version locale de Azure DevOps Server, renommée à partir de Team Foundation Server (TFS).
Pour savoir quelle version locale vous utilisez, consultez Rechercher votre plateforme et votre version Azure DevOps.
Si vos pipelines se trouvent dans Azure Pipelines, vous avez une option pratique pour exécuter vos travaux à l’aide d’un agent hébergé par Microsoft. Avec les agents hébergés par Microsoft, la maintenance et les mises à niveau sont effectuées pour vous. Chaque fois que vous exécutez un pipeline, vous obtenez une nouvelle machine virtuelle pour chaque travail dans le pipeline. La machine virtuelle est ignorée après un travail (ce qui signifie que toute modification apportée par un travail au système de fichiers de la machine virtuelle, telle que l’extraction de code, ne sera pas disponible pour le travail suivant). Les agents hébergés par Microsoft peuvent exécuter des travaux directement sur la machine virtuelle ou dans un conteneur.
Azure Pipelines fournit un pool d’agents prédéfini nommé Azure Pipelines avec des agents hébergés par Microsoft.
Pour de nombreuses équipes, il s’agit du moyen le plus simple d’exécuter vos travaux. Vous pouvez essayer cette méthode en premier pour voir si elle est adaptée à vos besoins de génération et de déploiement. Si ce n’est pas le cas, utilisez un agent autohébergé.
Conseil
Vous pouvez essayer gratuitement un agent hébergé par Microsoft.
Logiciel
Le pool d’agents Azure Pipelines propose plusieurs images de machine virtuelle, chacune incluant un large éventail d’outils et de logiciels.
Image | Spécification de l’agent De l’éditeur classique | Étiquette d’image de machine virtuelle YAML | Logiciels inclus |
---|---|---|---|
Windows Server 2022 avec Visual Studio 2022 | windows-2022 | windows-latest OU windows-2022 |
Lien |
Windows Server 2019 avec Visual Studio 2019 | windows-2019 | windows-2019 |
Lien |
Ubuntu 22.04 | ubuntu-22.04 | ubuntu-latest OU ubuntu-22.04 |
Lien |
Ubuntu 20.04 | ubuntu-20.04 | ubuntu-20.04 |
Lien |
Ubuntu 18.04 (déconseillé à partir du 8/08/2022 et non pris en charge par le 1/04/2023) | ubuntu-18.04 | ubuntu-18.04 |
Lien |
macOS 12 Monterey | macOS-12 | macOS-latest OU macOS-12 |
Lien |
macOS 11 Big Sur | macOS-11 | macOS-11 |
Lien |
macOS X Catalina 10.15 (déconseillé à partir du 31/05/2022 et non pris en charge par le 1/4/2023) | macOS-10.15 | macOS-10.15 |
Lien |
L’image d’agent par défaut pour les pipelines de build classiques est windows-2019, et l’image d’agent par défaut pour les pipelines de build YAML est ubuntu-latest
. Pour plus d’informations, consultez Désigner un pool dans votre pipeline.
Vous pouvez voir les logiciels installés pour chaque agent hébergé en choisissant le lien Logiciel inclus dans le tableau. Lorsque vous utilisez des images macOS, vous pouvez sélectionner manuellement parmi les versions de l’outil. Voir ci-dessous.
Mises à jour récentes
- MacOS 10.15 ne sera pas entièrement pris en charge par le 1/04/2023.
ubuntu-latest
les images utilisentubuntu-22.04
.- Disponibilité générale d’Ubuntu 22.04 pour les pools hébergés Azure Pipelines.
- L’image Ubuntu 18.04 commencera à être déconseillée le 22/08/08 et sera entièrement non prise en charge par le 1/04/2023.
- L’image macOS 10.15 commencera à être déconseillée le 31/05/22 et sera entièrement non prise en charge d’après le 1er/12/2022.
windows-latest
les images utilisentwindows-2022
.macOS-latest
les images utilisentmacOS-11
.- L’image hébergée Ubuntu 16.04 a été supprimée en septembre 2021.
- Le Windows Server 2016 avec l’image Visual Studio 2017 a été déprécié et sera mis hors service le 30 juin 2022. Lisez ce billet de blog sur l’identification des pipelines à l’aide d’images dépréciées.
- En décembre 2021, nous avons supprimé l’image hébergée Azure Pipelines suivante :
- macOS X Mojave 10.14 (
macOS-10.14
)
- macOS X Mojave 10.14 (
- En mars 2020, nous avons supprimé les images hébergées Azure Pipelines suivantes :
- Windows Server 2012R2 avec Visual Studio 2015 (
vs2015-win2012r2
) - macOS X High Sierra 10.13 (
macOS-10.13
) - Windows Server Core 1803 (
win1803
)
- Windows Server 2012R2 avec Visual Studio 2015 (
Les clients sont encouragés à migrer vers des versions plus récentes ou un agent auto-hébergé.
Pour plus d’informations et pour obtenir des instructions sur la mise à jour de vos pipelines qui utilisent ces images, consultez Suppression d’images plus anciennes dans des pools hébergés Azure Pipelines.
Notes
Le pool hébergé Azure Pipelines remplace les pools hébergés précédents qui avaient des noms mappés aux images correspondantes. Tous les travaux que vous aviez dans les pools hébergés précédents sont automatiquement redirigés vers l’image correcte dans le nouveau pool hébergé Azure Pipelines. Dans certains cas, vous pouvez toujours voir les anciens noms de pool, mais en arrière-plan, les travaux hébergés sont exécutés à l’aide du pool Azure Pipelines. Pour plus d’informations sur cette mise à jour, consultez les notes de publication du pool hébergé unique des notes de publication du 1er juillet 2019 - Sprint 154.
Important
Pour demander l’installation de logiciels supplémentaires sur des agents hébergés par Microsoft, ne créez pas de demande de commentaires sur ce document ou n’ouvrez pas de ticket de support. Au lieu de cela, ouvrez un problème dans notre dépôt, où nous gérons les scripts pour générer diverses images.
Comment identifier des pipelines à l’aide d’une image hébergée déconseillée
Pour identifier les pipelines qui utilisent une image déconseillée, accédez à l’emplacement suivant dans votre organisation : https://dev.azure.com/{organization}/{project}/_settings/agentqueues
, puis filtrez le nom de l’image à vérifier. L’exemple suivant vérifie l’image vs2017-win2016
.
Vous pouvez également interroger l’historique des travaux pour les images dépréciées dans les projets à l’aide du script qui se trouve ici, comme illustré dans l’exemple suivant.
./QueryJobHistoryForRetiredImages.ps1 -accountUrl https://dev.azure.com/{org} -pat {pat}
Utiliser un agent hébergé par Microsoft
Dans les pipelines YAML, si vous ne spécifiez pas de pool, les pipelines sont par défaut le pool d’agents Azure Pipelines. Vous devez simplement spécifier l’image de machine virtuelle que vous souhaitez utiliser.
jobs:
- job: Linux
pool:
vmImage: 'ubuntu-latest'
steps:
- script: echo hello from Linux
- job: macOS
pool:
vmImage: 'macOS-latest'
steps:
- script: echo hello from macOS
- job: Windows
pool:
vmImage: 'windows-latest'
steps:
- script: echo hello from Windows
Notes
La spécification d’un pool peut être effectuée à plusieurs niveaux dans un fichier YAML. Si vous remarquez que votre pipeline n’est pas en cours d’exécution sur l’image attendue, veillez à vérifier la spécification du pool au niveau du pipeline, de l’étape et du travail.
Éviter les références codées en dur
Lorsque vous utilisez un agent hébergé par Microsoft, utilisez toujours des variables pour faire référence à l’environnement de build et aux ressources de l’agent. Par exemple, ne codez pas en dur la lettre de lecteur ou le dossier qui contient le dépôt. La disposition précise des agents hébergés est susceptible de changer sans avertissement.
Matériel
Les agents hébergés par Microsoft qui exécutent des images Windows et Linux sont provisionnés sur des machines virtuelles Azure à usage général avec un processeur à 2 cœurs, 7 Go de RAM et 14 Go d’espace disque SSD. Ces machines virtuelles sont colocalisées dans la même zone géographique que votre organisation Azure DevOps.
Les agents qui exécutent des images macOS sont provisionnés sur les mac pros avec un processeur 3 cœurs, 14 Go de RAM et 14 Go d’espace disque SSD. Ces agents s’exécutent toujours aux États-Unis, quel que soit l’emplacement de votre organisation Azure DevOps. Si la souveraineté des données est importante pour vous et si votre organisation n’est pas aux États-Unis, vous ne devez pas utiliser d’images macOS. Plus d’informations
Toutes ces machines disposent d’au moins 10 Go d’espace disque disponible pour l’exécution de vos pipelines. Cet espace libre est consommé lorsque votre pipeline extrait le code source, télécharge des packages, extrait des images Docker ou génère des fichiers intermédiaires.
Important
Nous ne pouvons pas honorer les demandes d’augmentation de l’espace disque sur les agents hébergés par Microsoft ou de provisionnement de machines plus puissantes. Si les spécifications des agents hébergés par Microsoft ne répondent pas à vos besoins, vous devez envisager des agents auto-hébergés ou des agentsde groupe identique.
Mise en réseau
Dans certaines configurations, vous devrez peut-être connaître la plage d’adresses IP où les agents sont déployés. Par exemple, si vous devez accorder aux agents hébergés l’accès via un pare-feu, vous pouvez restreindre cet accès par adresse IP. Étant donné qu’Azure DevOps utilise le réseau global Azure, les plages d’adresses IP varient au fil du temps. Nous publions un fichier JSON hebdomadaire répertoriant les plages d’adresses IP pour les centres de données Azure, réparties par région. Ce fichier est mis à jour chaque semaine avec de nouvelles plages d’adresses IP planifiées. Les nouvelles plages d’adresses IP entrent en vigueur la semaine suivante. Nous vous recommandons de revenir fréquemment (au moins une fois par semaine) pour vous assurer de conserver une liste à jour. Si les travaux de l’agent commencent à échouer, une première étape clé de résolution des problèmes consiste à vous assurer que votre configuration correspond à la dernière liste d’adresses IP. Les plages d’adresses IP des agents hébergés sont répertoriées dans le fichier hebdomadaire sous AzureCloud.<region>
, par AzureCloud.westus
exemple pour la région USA Ouest.
Vos agents hébergés s’exécutent dans la même zone géographique Azure que votre organisation. Chaque zone géographique contient une ou plusieurs régions. Bien que votre agent puisse s’exécuter dans la même région que votre organisation, il n’est pas garanti de le faire. Pour obtenir la liste complète des plages d’adresses IP possibles pour votre agent, vous devez utiliser les plages d’adresses IP de toutes les régions contenues dans votre zone géographique. Par exemple, si votre organisation se trouve dans la zone géographique États-Unis, vous devez utiliser les plages d’adresses IP pour toutes les régions de cette zone géographique.
Pour déterminer votre zone géographique, accédez à https://dev.azure.com/<your_organization>/_settings/organizationOverview
, récupérez votre région et recherchez la zone géographique associée à partir de la table geography Azure . Une fois que vous avez identifié votre zone géographique, utilisez les plages d’adresses IP du fichier hebdomadaire pour toutes les régions de cette zone géographique.
Important
Vous ne pouvez pas utiliser de connexions privées telles qu’ExpressRoute ou VPN pour connecter des agents hébergés par Microsoft à votre réseau d’entreprise. Le trafic entre les agents hébergés par Microsoft et vos serveurs se fera sur un réseau public.
Pour identifier les plages d’adresses IP possibles pour les agents hébergés par Microsoft
- Identifiez la région de votre organisation dans Paramètres de l’organisation.
- Identifiez la zone géographique Azure pour la région de votre organisation.
- Mapper les noms des régions de votre zone géographique au format utilisé dans le fichier hebdomadaire, en suivant le format de
AzureCloud.<region>
, parAzureCloud.westus
exemple . Vous pouvez mapper les noms des régions de la liste Géographie Azure au format utilisé dans le fichier hebdomadaire en examinant les noms de régions passés au constructeur des régions définies dans le code source de la classe Region, à partir des bibliothèques de gestion Azure pour .NET.Notes
Étant donné qu’il n’existe aucune API dans les bibliothèques de gestion Azure pour .NET pour répertorier les régions d’une zone géographique, vous devez les répertorier manuellement, comme illustré dans l’exemple suivant.
- Récupérez les adresses IP de toutes les régions de votre zone géographique à partir du fichier hebdomadaire. Si votre région est Brésil Sud ou Europe Ouest, vous devez inclure des plages d’adresses IP supplémentaires en fonction de votre zone géographique de secours, comme décrit dans la note suivante.
Notes
En raison des restrictions de capacité, certaines organisations dans les régions Brésil Sud ou Europe Ouest peuvent parfois voir leurs agents hébergés situés en dehors de leur zone géographique attendue. Dans ce cas, en plus d’inclure les plages d’adresses IP pour toutes les régions de votre zone géographique, comme décrit dans la section précédente, des plages d’adresses IP supplémentaires doivent être incluses pour les régions dans la zone géographique de secours de capacité.
Si votre organisation se trouve dans la région Brésil Sud, votre zone géographique de secours de capacité est États-Unis.
Si votre organisation se trouve dans la région Europe Ouest , la zone géographique de secours de capacité est la France.
Nos plages d’adresses IP Mac ne sont pas incluses dans les adresses IP Azure ci-dessus, car elles sont hébergées dans le cloud macOS de GitHub. Les plages d’adresses IP peuvent être récupérées à l’aide de l’API de métadonnées GitHub en suivant les instructions fournies ici.
Exemple
Dans l’exemple suivant, les plages d’adresses IP de l’agent hébergé pour une organisation de la région USA Ouest sont récupérées à partir du fichier hebdomadaire. Étant donné que la région USA Ouest se trouve dans la zone géographique États-Unis, les adresses IP de toutes les régions de la zone géographique États-Unis sont incluses. Dans cet exemple, les adresses IP sont écrites dans la console.
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
namespace WeeklyFileIPRanges
{
class Program
{
// Path to the locally saved weekly file
const string weeklyFilePath = @"C:\MyPath\ServiceTags_Public_20210823.json";
static void Main(string[] args)
{
// United States geography has the following regions:
// Central US, East US, East US 2, North Central US,
// South Central US, West Central US, West US, West US 2
// This list is accurate as of 8/26/2021
List<string> USGeographyRegions = new List<string>
{
"centralus",
"eastus",
"eastus2",
"northcentralus",
"southcentralus",
"westcentralus",
"westus",
"westus2"
};
// Load the weekly file
JObject weeklyFile = JObject.Parse(File.ReadAllText(weeklyFilePath));
JArray values = (JArray)weeklyFile["values"];
foreach (string region in USGeographyRegions)
{
string azureCloudRegion = $"AzureCloud.{region}";
Console.WriteLine(azureCloudRegion);
var ipList =
from v in values
where (string)v["name"] == azureCloudRegion
select v["properties"]["addressPrefixes"];
foreach (var ip in ipList.Children())
{
Console.WriteLine(ip);
}
}
}
}
}
Balises de service
Les agents hébergés par Microsoft ne peuvent pas être répertoriés par les balises de service. Si vous essayez d’accorder aux agents hébergés l’accès à vos ressources, vous devez suivre la méthode d’autorisation de la plage d’adresses IP.
Sécurité
Les agents hébergés par Microsoft s’exécutent sur une plateforme Azure sécurisée. Toutefois, vous devez tenir compte des considérations de sécurité suivantes.
- Bien que les agents hébergés par Microsoft s’exécutent sur le réseau public Azure, ils ne reçoivent pas d’adresses IP publiques. Par conséquent, les entités externes ne peuvent pas cibler les agents hébergés par Microsoft.
- Les agents hébergés par Microsoft sont exécutés sur des machines virtuelles individuelles, qui sont réimages après chaque exécution. Chaque agent est dédié à une seule organisation, et chaque machine virtuelle n’héberge qu’un seul agent.
- L’exécution de votre pipeline sur des agents hébergés par Microsoft présente plusieurs avantages, du point de vue de la sécurité. Si vous exécutez du code non approuvé dans votre pipeline, tel que des contributions provenant de duplications, il est plus sûr d’exécuter le pipeline sur des agents hébergés par Microsoft que sur des agents auto-hébergés qui résident dans votre réseau d’entreprise.
- Lorsqu’un pipeline doit accéder à vos ressources d’entreprise derrière un pare-feu, vous devez autoriser la plage d’adresses IP pour la zone géographique Azure. Cela peut augmenter votre exposition, car la plage d’adresses IP est plutôt grande et que les machines de cette plage peuvent également appartenir à d’autres clients. La meilleure façon d’éviter cela consiste à éviter d’avoir à accéder aux ressources internes.
- Les images hébergées ne sont pas conformes aux benchmarks de renforcement CIS. Pour utiliser des images renforcées par CIS, vous devez créer des agents auto-hébergés ou des agents de groupe identique.
Capacités et limitations
Agents hébergés par Microsoft :
- Utilisez le logiciel ci-dessus. Vous pouvez également ajouter des logiciels pendant votre génération ou mise en production à l’aide de tâches du programme d’installation d’outils.
- Vous obtenez un agent fraîchement imagené pour chaque travail de votre pipeline.
- Fournissez 10 Go de stockage pour vos sorties source et de génération.
- Fournissez un niveau gratuit :
- Projet public : 10 travaux parallèles gratuits hébergés par Microsoft qui peuvent s’exécuter jusqu’à 360 minutes (6 heures) à chaque fois, sans limite de temps globale par mois. Contactez-nous pour que vos limites de niveau gratuit augmentent.
- Projet privé : un travail parallèle gratuit qui peut s’exécuter jusqu’à 60 minutes à chaque fois, jusqu’à ce que vous ayez utilisé 1 800 minutes (30 heures) par mois. Vous pouvez payer pour profiter d’une capacité supplémentaire par travail parallèle. Les travaux parallèles payants suppriment la limite de temps mensuelle et vous permettent d’exécuter chaque travail pendant un maximum de 360 minutes (6 heures). Acheter des travaux parallèles hébergés par Microsoft.
- Lorsque vous créez une organisation Azure DevOps, ces subventions gratuites ne vous sont pas accordées par défaut. Pour demander la subvention gratuite pour des projets publics ou privés, envoyez une demande.
- Exécuter sur des machines virtuelles Microsoft Azure à usage général Standard_DS2_v2
- Exécuter en tant qu’administrateur sur Windows et utilisateur sudo sans mot de passe sur Linux
- (Linux uniquement) Exécuter des étapes dans un
cgroup
qui offre 6 Go de mémoire physique et 13 Go de mémoire totale
Les agents hébergés par Microsoft n’offrent pas :
- Possibilité de se connecter à distance.
- Possibilité de supprimer des artefacts dans un partage de fichiers UNC.
- Possibilité de joindre des machines directement à votre réseau d’entreprise.
- La possibilité d’obtenir des machines de build plus grandes ou plus puissantes.
- Possibilité de précharger un logiciel personnalisé. Vous pouvez installer des logiciels pendant une exécution de pipeline, par exemple via des tâches du programme d’installation d’outils ou dans un script.
- Des avantages potentiels en matière de performances que vous pouvez obtenir à l’aide d’agents auto-hébergés qui peuvent démarrer et exécuter des builds plus rapidement. En savoir plus
- Possibilité d’exécuter des builds XAML.
Si les agents hébergés par Microsoft ne répondent pas à vos besoins, vous pouvez déployer vos propres agents auto-hébergés ou utiliser des agents de groupe identique.
Questions fréquentes (FAQ)
Comment puis-je voir les logiciels inclus dans une image ?
Vous pouvez voir les logiciels installés pour chaque agent hébergé en choisissant le lien Logiciels inclus dans la table Logiciels .
Comment Microsoft choisit-il le logiciel et les versions à placer sur l’image ?
Pour plus d’informations sur les versions des logiciels inclus sur les images, consultez Recommandations pour les éléments installés.
Quand les images sont-elles mises à jour ?
Les images sont généralement mises à jour chaque semaine. Vous pouvez vérifier les badges d’état au format 20200113.x
où la première partie indique la date de mise à jour de l’image.
Que puis-je faire si le logiciel dont j’ai besoin est supprimé ou remplacé par une version plus récente ?
Vous pouvez nous le faire savoir en signalant un problème GitHub en choisissant les liens Logiciels inclus dans la table Utiliser un agent hébergé par Microsoft .
Vous pouvez également utiliser un agent auto-hébergé qui inclut les versions exactes des logiciels dont vous avez besoin. Pour plus d’informations, consultez Agents auto-hébergés.
Que se passe-t-il si j’ai besoin d’une machine plus grande avec plus de puissance de traitement, de mémoire ou d’espace disque ?
Nous ne pouvons pas augmenter la mémoire, la puissance de traitement ou l’espace disque pour les agents hébergés par Microsoft, mais vous pouvez utiliser des agents auto-hébergés ou des agents de groupes identiques hébergés sur des machines avec les spécifications souhaitées.
Je ne peux pas sélectionner un agent hébergé par Microsoft et je ne peux pas mettre en file d’attente ma build ou mon déploiement. Que dois-je faire ?
Les agents hébergés par Microsoft sont disponibles uniquement dans Azure Pipelines et non dans TFS ou Azure DevOps Server.
Par défaut, tous les contributeurs de projet d’une organisation ont accès aux agents hébergés par Microsoft. Toutefois, l’administrateur de votre organisation peut limiter l’accès des agents hébergés par Microsoft à la sélection d’utilisateurs ou de projets. Demandez au propriétaire de votre organisation Azure DevOps de vous accorder l’autorisation d’utiliser un agent hébergé par Microsoft. Consultez Sécurité du pool d’agents.
Mes pipelines s’exécutant sur des agents hébergés par Microsoft prennent plus de temps. Comment puis-je les accélérer ?
Si votre pipeline est récemment devenu plus lent, consultez notre page d’état pour toute panne. Nous pourrions avoir des problèmes avec notre service. Sinon, passez en revue les modifications que vous avez apportées au code ou au pipeline de votre application. La taille de votre dépôt pendant l’extraction a peut-être augmenté, vous chargez peut-être des artefacts plus volumineux ou vous exécutez peut-être d’autres tests.
Si vous configurez simplement un pipeline et que vous comparez les performances des agents hébergés par Microsoft à votre ordinateur local ou à un agent auto-hébergé, notez les spécifications du matériel que nous utilisons pour exécuter vos travaux. Nous ne pouvons pas vous fournir des machines plus grandes ou puissantes. Vous pouvez envisager d’utiliser des agents auto-hébergés ou des agents de groupe identique si ces performances ne sont pas acceptables.
J’ai besoin de plus d’agents. Que puis-je faire ?
Toutes les organisations Azure DevOps disposent de plusieurs travaux parallèles gratuits pour les projets open source, et d’un travail parallèle gratuit et de minutes limitées chaque mois pour les projets privés. Si vous avez besoin de minutes supplémentaires ou de travaux parallèles pour votre projet open source, contactez le support technique. Si vous avez besoin de minutes supplémentaires ou de travaux parallèles pour votre projet privé, vous pouvez en acheter d’autres.
Mon pipeline réussit sur l’agent auto-hébergé, mais échoue sur les agents hébergés par Microsoft. Que dois-je faire ?
Toutes les dépendances appropriées sont probablement installées sur votre agent auto-hébergé, alors que les mêmes dépendances, outils et logiciels ne sont pas installés sur les agents hébergés par Microsoft. Tout d’abord, examinez attentivement la liste des logiciels installés sur les agents hébergés par Microsoft en suivant le lien vers Logiciels inclus dans le tableau ci-dessus. Ensuite, comparez cela avec le logiciel installé sur votre agent auto-hébergé. Dans certains cas, les agents hébergés par Microsoft peuvent avoir les outils dont vous avez besoin (par exemple, Visual Studio), mais tous les composants facultatifs nécessaires n’ont peut-être pas été installés. Si vous trouvez des différences, vous avez deux options :
Vous pouvez créer un nouveau problème sur le dépôt, où nous suivons les demandes de logiciels supplémentaires. Contacter le support technique ne vous aidera pas à configurer de nouveaux logiciels sur les agents hébergés par Microsoft.
Vous pouvez utiliser des agents auto-hébergés ou des agents de groupe identique. Avec ces agents, vous contrôlez entièrement les images utilisées pour exécuter vos pipelines.
Ma build réussit sur mon ordinateur local, mais échoue sur les agents hébergés par Microsoft. Que dois-je faire ?
Toutes les dépendances appropriées sont probablement installées sur votre ordinateur local, alors que les mêmes dépendances, outils et logiciels ne sont pas installés sur les agents hébergés par Microsoft. Tout d’abord, examinez attentivement la liste des logiciels installés sur les agents hébergés par Microsoft en suivant le lien vers Logiciels inclus dans le tableau ci-dessus. Ensuite, comparez cela avec le logiciel installé sur votre ordinateur local. Dans certains cas, les agents hébergés par Microsoft peuvent avoir les outils dont vous avez besoin (par exemple, Visual Studio), mais tous les composants facultatifs nécessaires n’ont peut-être pas été installés. Si vous trouvez des différences, vous avez deux options :
Vous pouvez créer un nouveau problème sur le dépôt, où nous suivons les demandes de logiciels supplémentaires. Il s’agit de votre meilleur choix pour obtenir de nouveaux logiciels installés. Contacter le support technique ne vous aidera pas à configurer de nouveaux logiciels sur les agents hébergés par Microsoft.
Vous pouvez utiliser des agents auto-hébergés ou des agents de groupe identique. Avec ces agents, vous contrôlez entièrement les images utilisées pour exécuter vos pipelines.
Mon pipeline échoue avec l’erreur « aucun espace restant sur l’appareil ».
Les agents hébergés par Microsoft n’ont que 10 Go d’espace disque disponible pour l’exécution de votre travail. Cet espace est consommé lorsque vous consultez le code source, lorsque vous téléchargez des packages, lorsque vous téléchargez des images Docker ou lorsque vous produisez des fichiers intermédiaires. Malheureusement, nous ne pouvons pas augmenter l’espace libre disponible sur les images hébergées par Microsoft. Vous pouvez restructurer votre pipeline afin qu’il puisse tenir dans cet espace. Vous pouvez également envisager d’utiliser des agents auto-hébergés ou des agents de groupe identique.
Mon pipeline s’exécutant sur des agents hébergés par Microsoft nécessite l’accès aux serveurs de notre réseau d’entreprise. Comment obtenir une liste d’adresses IP à autoriser dans notre pare-feu ?
Consultez la section Plages d’adresses IP de l’agent
Notre pipeline s’exécutant sur des agents hébergés par Microsoft ne peut pas résoudre le nom d’un serveur sur notre réseau d’entreprise. Comment pouvons-nous résoudre ce problème ?
Si vous faites référence au serveur par son nom DNS, assurez-vous que votre serveur est accessible publiquement sur Internet via son nom DNS. Si vous faites référence à votre serveur par son adresse IP, assurez-vous que l’adresse IP est accessible publiquement sur Internet. Dans les deux cas, vérifiez que les plages d’adresses IP de l’agent sont autorisées pour tout pare-feu entre les agents et votre réseau d’entreprise.
J’obtiens une erreur d’autorisation IP SAP à partir d’un compte stockage Azure
Si vous obtenez un code d’erreur SAP, c’est probablement parce que les plages d’adresses IP des agents hébergés par Microsoft ne sont pas autorisées en raison de vos règles de stockage Azure. Il existe quelques solutions de contournement :
- Gérez les règles de réseau IP pour votre compte Stockage Azure et ajoutez les plages d’adresses IP pour vos agents hébergés.
- Dans votre pipeline, utilisez Azure CLI pour mettre à jour l’ensemble de règles réseau de votre compte Stockage Azure juste avant d’accéder au stockage, puis restaurez l’ensemble de règles précédent.
- Utilisez des agents auto-hébergés ou des agents de groupe identique.
Comment sélectionner manuellement des versions des outils sur l’agent macOS hébergé ?
Xamarin
L’agent macOS hébergé stocke les versions du KIT de développement logiciel (SDK) Xamarin et les versions Mono associées sous la forme d’un ensemble de liens de symlink vers des emplacements du KIT de développement logiciel (SDK) Xamarin disponibles par un symlink groupé unique.
Pour sélectionner manuellement une version du KIT de développement logiciel (SDK) Xamarin à utiliser sur l’agent macOS hébergé , exécutez la commande bash suivante avant votre tâche de build Xamarin dans le cadre de votre build, en spécifiant le lien symlink vers l’offre groupée des versions Xamarin dont vous avez besoin.
/bin/bash -c "sudo $AGENT_HOMEDIRECTORY/scripts/select-xamarin-sdk.sh <symlink>"
La liste de toutes les versions et liens symboliques du KIT de développement logiciel (SDK) Xamarin disponibles se trouve dans la documentation des agents :
Cette commande ne sélectionne pas la version Mono au-delà du Kit de développement logiciel (SDK) Xamarin. Pour sélectionner manuellement une version Mono, consultez les instructions ci-dessous.
Si vous utilisez une version autre que celle par défaut de Xcode pour créer vos applications Xamarin.iOS ou Xamarin.Mac, vous devez également exécuter cette ligne de commande :
/bin/bash -c "echo '##vso[task.setvariable variable=MD_APPLE_SDK_ROOT;]'$(xcodeRoot);sudo xcode-select --switch $(xcodeRoot)/Contents/Developer"
Où $(xcodeRoot)
= /Applications/Xcode_13.2.app
Les versions Xcode du pool d’agents macOS hébergés sont disponibles ici.
Xcode
Si vous utilisez la tâche Xcode incluse avec Azure Pipelines et TFS, vous pouvez sélectionner une version de Xcode dans les propriétés de cette tâche. Sinon, pour définir manuellement la version Xcode à utiliser sur le pool d’agents macOS hébergé , avant votre xcodebuild
tâche de génération, exécutez cette ligne de commande dans le cadre de votre build, en remplaçant le numéro de version Xcode 13.2 si nécessaire :
/bin/bash -c "sudo xcode-select -s /Applications/Xcode_13.2.app/Contents/Developer"
Les versions Xcode du pool d’agents macOS hébergés sont disponibles ici.
Cette commande ne fonctionne pas pour les applications Xamarin. Pour sélectionner manuellement une version Xcode pour créer des applications Xamarin, consultez les instructions ci-dessus.
Mono
Pour sélectionner manuellement une version Mono à utiliser sur le pool d’agents macOS hébergé , exécutez ce script dans chaque travail de votre build avant votre tâche de build Mono, en spécifiant le lien symlink avec la version Mono requise (la liste de tous les symlinks disponibles se trouve dans la section Xamarin ci-dessus) :
SYMLINK=<symlink>
MONOPREFIX=/Library/Frameworks/Mono.framework/Versions/$SYMLINK
echo "##vso[task.setvariable variable=DYLD_FALLBACK_LIBRARY_PATH;]$MONOPREFIX/lib:/lib:/usr/lib:$DYLD_LIBRARY_FALLBACK_PATH"
echo "##vso[task.setvariable variable=PKG_CONFIG_PATH;]$MONOPREFIX/lib/pkgconfig:$MONOPREFIX/share/pkgconfig:$PKG_CONFIG_PATH"
echo "##vso[task.setvariable variable=PATH;]$MONOPREFIX/bin:$PATH"