Amélioration de la sécurité et de l’efficacité du flux de travail
Ce sprint apporte différentes améliorations axées sur l’amélioration de la sécurité et la rationalisation de l’efficacité des flux de travail. Parmi ces améliorations, l’expérience de création de connexion de service dans Azure Pipelines. Cela permet aux équipes de configurer des connexions de service à l’aide d’identités managées existantes avec la fédération des identités de charge de travail. Il simplifie également la configuration et réduit le risque d’identités sur-privilégiées.
En outre, nous sommes heureux d’annoncer que dans Azure Repos, les fichiers markdown avec la syntaxe mermaid seront désormais affichés sous forme de diagrammes dans les aperçus de fichiers et les demandes de tirage, fournissant des visuels plus clairs pour votre documentation.
Enfin, dans GitHub Advanced Security, les annotations de demande de tirage fournissent désormais des notifications en ligne pour l’analyse des dépendances et du code, ce qui simplifie le processus permettant aux équipes de détecter et de résoudre les problèmes potentiels pendant les révisions de code.
Pour plus d’informations, consultez les notes de publication.
Général
GitHub Advanced Security pour Azure DevOps
- Annotations de demande de tirage pour l’analyse des dépendances et du code
- Nouvelle stratégie de détection pip pour l’analyse des dépendances
Azure Boards :
- Gestion améliorée des étiquettes sur le formulaire d’élément de travail
- Prise en charge améliorée de l’image dans les commentaires des éléments de travail
- Insights sur les demandes de tirage GitHub
Azure Repos
- Configurer les branches cibles pour les demandes d’extraction
- Prendre en charge les diagrammes de sirènes dans la préversion du fichier Markdown
Azure Pipelines
- Ubuntu 24.04 sur les agents hébergés par Azure Pipelines
- Utiliser la fédération des identités de charge de travail dans les tests d’intégration Azure
- Nouvelle expérience de création de connexion de service Azure avec prise en charge améliorée des identités managées
- Étapes d’exécution des enfants lorsque l’étape parente échoue
Azure Artifacts
Wiki
Général
Copier le bloc de code dans le Presse-papiers
En réponse à vos commentaires dans la communauté des développeurs, nous avons introduit un bouton « Copier dans le Presse-papiers » pour tous les blocs de code dans markdown affiché. Cette amélioration est disponible dans les pages Wiki, les aperçus des fichiers Markdown dans Repos, les discussions et descriptions des demandes de tirage (pull request) et les discussions sur les éléments de travail.
Informations de profil Microsoft Entra (préversion)
Nous sommes heureux d’introduire l’intégration des informations de profil Microsoft Entra dans Azure DevOps, en supprimant la nécessité de mises à jour de profil distinctes. Pour essayer la préversion, activez les informations de profil Microsoft Entra dans les fonctionnalités en préversion.
Une fois activés, vos paramètres de profil sont en lecture seule et renseignés automatiquement à partir de Microsoft Entra. Pour revenir à vos paramètres précédents ou fournir des commentaires, désactivez l’aperçu et partagez vos commentaires.
GitHub Advanced Security pour Azure DevOps
Annotations de demande de tirage pour l’analyse des dépendances et du code
Dans le cadre de la feuille de route Advanced Security, les annotations de demande de tirage sont désormais disponibles. Vous recevrez des annotations en ligne sur toutes les demandes de tirage qui utilisent un pipeline associé à votre stratégie de validation de build, qui inclut des tâches d’analyse de dépendance et/ou de code.
Aucune option supplémentaire n’est requise au-delà de la création d’une stratégie de validation de build pour les branches pertinentes.
En cliquant sur Show more details
l’annotation, vous accédez à l’affichage des détails de l’alerte en question.
Pour plus d’informations, consultez notre dernier billet de blog ici
Nouvelle stratégie de détection pip pour l’analyse des dépendances
L’analyse des dépendances utilise désormais une nouvelle stratégie de détection pour Python : PipReport, basée sur la fonctionnalité de rapport d’installation pip. Cette mise à jour améliore la précision en respectant les spécificateurs d’environnement pour déterminer les versions exactes qu’une exécution réelle pip install
récupérerait. Par défaut, le détecteur utilise pypi.org
pour générer le graphe des dépendances. Si vous le souhaitez, vous pouvez définir une variable PIP_INDEX_URL
d’environnement de pipeline pour construire le graphe des dépendances à la place. S’il existe des problèmes d’authentification qui accèdent à votre flux, vous devrez peut-être configurer la PipAuthenticate@1
tâche de pipeline afin que votre flux soit accessible.
Pour plus d’informations sur la stratégie de détection, consultez la documentation sur la détection de pip.
Azure Boards
Gestion améliorée des étiquettes sur le formulaire d’élément de travail
La gestion des étiquettes dans Azure Boards a été améliorée pour offrir une expérience plus rationalisée. Les balises supprimées n’apparaissent plus dans la liste suggérée sur les formulaires d’élément de travail, ce qui garantit que seules les balises actives sont affichées.
Prise en charge améliorée de l’image dans les commentaires des éléments de travail
Nous avons amélioré notre prise en charge du collage d’images dans des commentaires d’élément de travail. Vous pouvez désormais coller des images directement à partir de sources telles que Microsoft Teams, des e-mails et des documents Word dans la section de discussion d’un élément de travail
Insights sur les demandes de tirage GitHub
Nous avons amélioré l’intégration entre les demandes de tirage GitHub et Azure Boards. Outre l’affichage des états ouverts et fermés, vous pouvez maintenant voir si une demande de tirage est en mode brouillon, a besoin d’un examen et de l’état De vérification. Tout cela sans avoir besoin d’ouvrir la demande de tirage.
Pour activer cette fonctionnalité, veillez à accéder à l’application Boards dans GitHub pour accepter les autorisations mises à jour demandées pour l’accès en lecture et en écriture aux vérifications.
Azure Repos
Configurer les branches cibles pour les demandes d’extraction
La gestion de plusieurs branches dans un référentiel peut être difficile, en particulier lors de la création de nouvelles demandes de tirage. Avec la nouvelle fonctionnalité Configurer les branches cibles pour les demandes d’extraction, vous pouvez désormais spécifier une liste de branches cibles préférées, ce qui garantit que les suggestions de demande de tirage sont plus précises et pertinentes. Cela permet de rationaliser votre flux de travail et de réduire les chances de cibler la branche incorrecte.
Pour utiliser cette fonctionnalité, créez un .azuredevops/pull_request_targets.yml
fichier dans le branche par défaut de votre référentiel. Ce fichier YAML doit contenir une liste intitulée pull_request_targets
avec les noms de branche ou les préfixes qui correspondent aux branches candidates. Par exemple :
pull_request_targets:
- main
- release/*
- feature/*
Dans cette configuration, la branche principale est hiérarchisée, mais les branches commençant release/
par ou feature/
seront également prises en compte le cas échéant. La configuration est appliquée dans les scénarios suivants :
- Suggestions de demande de tirage : après avoir envoyé une branche à Azure DevOps, la page Repos peut suggérer la création d’une demande de tirage à partir de cette branche, en choisissant dynamiquement la branche cible.
- URL de la demande de tirage : lorsque vous accédez directement à la page de création de demande de tirage à l’aide d’un paramètre sourceRef, mais omettez le paramètre targetRef, Azure DevOps sélectionne une branche cible en fonction de ce choix dynamique.
Il est recommandé d’inclure uniquement les branches protégées par les stratégies de demande de tirage pour garantir la cohérence dans l’historique du premier parent de la validation du conseil.
Prendre en charge les diagrammes de sirènes dans la préversion du fichier Markdown
Les fichiers Markdown contenant la syntaxe mermaid s’affichent désormais sous forme de diagrammes à l’intérieur des aperçus de fichiers dans le navigateur de fichiers de dépôts et dans les demandes de tirage. Cela peut vous aider à ajouter une documentation plus riche à vos référentiels.
Azure Pipelines
Ubuntu 24.04 sur les agents hébergés par Azure Pipelines
L’image Ubuntu 24.04 est désormais disponible pour les agents hébergés par Azure Pipelines. Pour utiliser cette image, mettez à jour votre fichier YAML pour inclure vmImage:'ubuntu-24.04'
:
- job: ubuntu2404
pool:
vmImage: 'ubuntu-24.04'
steps:
- bash: |
echo Hello from Ubuntu 24.04
lsb_release -d
Remarque
L’étiquette ubuntu-latest
d’image continuera de pointer vers ubuntu-22.04 jusqu’à ce que plus tard cette année.
Consultez le fichier lisez-moi de l’image Ubuntu 24.04 pour les logiciels installés.
Utiliser la fédération des identités de charge de travail dans les tests d’intégration Azure
En juin, les bibliothèques Azure Identity for.NET, C++, Go, Java, JavaScript et Python ont ajouté la prise en charge de la fédération des identités de charge de travail. Cela a ajouté la possibilité pour le code exécuté à partir des tâches AzureCLI@2 et AzurePowerShell@5 de s’authentifier auprès de Microsoft Entra (par exemple, pour accéder à Azure) avec la AzurePipelinesCredential
classe.
De nombreux clients utilisent les bibliothèques Azure Identity dans les tests d’intégration appelés à partir d’autres tâches. Nous avons maintenant ajouté la prise en charge des AzurePipelinesCredential
tâches DotNetCoreCLI@2, Maven@4 et VSTest@3.
Vous pouvez définir la connectedService
propriété sur une connexion de service Azure configurée avec la fédération d’identité de charge de travail. La AzurePipelinesCredential
définition doit être nécessaire SYSTEM_ACCESSTOKEN
.
- task: DotNetCoreCLI@2
inputs:
command: 'run'
connectedService: <Azure service connection configured with workload identity federation>
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
Pour plus d’informations sur AzurePipelinesCredential
, consultez ce billet de blog.
Nouvelle expérience de création de connexion de service Azure avec prise en charge améliorée des identités managées
La nouvelle expérience de création de connexion de service Azure offre une flexibilité accrue et des valeurs par défaut sécurisées. Elle aligne également la terminologie avec Microsoft Entra ID, afin que les utilisateurs qui créent manuellement des objets Microsoft Entra ID aient une meilleure compréhension lors de la navigation dans différents portails.
Lors de la création d’une connexion de service Azure Resource Manager, les différentes options permettant de configurer l’identité sont désormais disponibles dans une boîte de dialogue unifiée unique qui remplace les éléments de niveau supérieur distincts utilisés précédemment :
Le type d’identité répertorie tous les schémas d’authentification pris en charge par la connexion de service Azure :
Pour les inscriptions d’applications, vous pouvez sélectionner indépendamment les informations d’identification pour qu’elles soient une fédération d’identité de charge de travail ou un secret.
Prise en charge de l’identité managée de connexion de service Azure
Vous pouvez maintenant sélectionner une identité managée préexistante et l’utiliser pour configurer une connexion de service qui utilise la fédération d’identité de charge de travail. Tout d’abord, créez une identité managée affectée par l’utilisateur.
Ensuite, créez une connexion de service Azure et sélectionnez le type d’identité d’identité managée. Cela configure les informations d’identification d’identité fédérée sur l’identité managée.
L’option permettant d’utiliser une identité managée affectée à un agent (pool) a été renommée Identité managée (affectée par l’agent). Pour empêcher le partage d’identités managées sur-privilégiées, il est recommandé d’utiliser une identité managée avec une fédération d’identité de charge de travail au lieu d’identités managées affectées aux pools d’agents.
L’identité managée est également l’option recommandée pour les utilisateurs qui ne peuvent pas créer d’inscription d’application si cette option est désactivée dans l’ID Microsoft Entra.
Pour utiliser une identité managée avec la fédération d’identité de charge de travail, sélectionnez d’abord l’abonnement et le groupe de ressources qui contient votre identité managée. Cela peut être différent de l’abonnement auquel la connexion de service accède dans les travaux de pipeline. Sélectionnez l’identité managée configurée pour la fédération d’identité de charge de travail. L’utilisateur a besoin du rôle Contributeur d’identité managée ou des autorisations équivalentes sur l’identité managée pour créer des informations d’identification d’identité fédérées dessus.
Continuez à sélectionner l’abonnement qui sera utilisé comme étendue de déploiement pour la connexion de service.
Champ Référence de gestion des services
Certaines organisations nécessitent que la référence de gestion des services d’une inscription d’application soit remplie avec des informations de contexte pertinentes à partir d’une base de données ITSM. Si nécessaire, les utilisateurs peuvent spécifier cette référence au moment de la création de la connexion de service.
Plus d’informations
La nouvelle expérience de création de connexion de service Azure est déployée au cours du mois suivant. Pour plus d’informations, consultez l’article suivant :
- Documentation sur la connexion de service Azure
- Fédération des identités de charge de travail
- Dépannage
Étapes d’exécution des enfants lorsque l’étape parente échoue
Nous avons facilité la poursuite des déploiements à l’aide d’Azure Pipelines. Cela est utile, par exemple, lorsque vous utilisez Pipelines pour déployer de nouvelles versions de votre application dans plusieurs régions Azure.
Supposons que vous devez déployer dans cinq régions Azure consécutives. Supposons que votre pipeline a une étape pour chaque région, et que chaque étape a un travail qui exécute une AzureResourceManagerTemplateDeployment
tâche, puis qu’il journalise certaines données de télémétrie. Ce dernier est agréable à avoir, mais pas critique. Imaginez qu’il existe un problème lors de la journalisation des données de télémétrie. À présent, l’étape échoue et le déploiement s’arrête.
À partir de ce sprint, lorsqu’une étape échoue, vous pouvez reprendre l’exécution de ses étapes enfants.
Azure Artifacts
Authentification auprès d’Azure Artifacts à l’aide d’un flux public et d’un chargement
En raison d’une limitation avec le client Cargo, l’authentification était tout ou rien. Pour les flux privés, l’authentification est envoyée, mais pour les flux publics, qui doivent autoriser les utilisateurs anonymes, aucune authentification n’est envoyée, même si elle était disponible ou nécessaire.
À présent, les utilisateurs authentifiés peuvent se connecter à un flux Azure Artifacts public, tout comme ils le feraient pour un flux privé. Si vous ou votre agent de pipeline avez l’autorisation d’enregistrer des packages à partir de sources en amont, vous pouvez accéder aux packages à partir de crates.io via le flux. Cette modification permet de contrôler ce que les packages peuvent entrer dans un flux dans les mains des administrateurs de flux. Une fois les packages placés dans le flux à partir d’une source en amont, les utilisateurs anonymes ont accès à eux.
Pour garantir l’authentification, ajoutez ~force-auth
le nom du flux dans votre URL de Registre. Pour plus d’informations, consultez notre documentation publique.
Wiki
Améliorer le collage de contenu HTML dans des Wikis
Nous avons simplifié le collage du contenu HTML dans les Wikis. À présent, des éléments HTML tels que des liens, des listes, des tableaux, des images, des feuilles Excel, des messages Microsoft Teams, des e-mails et des requêtes Azure Data Explorer sont automatiquement convertis en syntaxe Markdown pour une modification plus fluide.
Étapes suivantes
Notes
Ces fonctionnalités seront déployées au cours des deux à trois prochaines semaines.
Accédez à Azure DevOps et jetez un coup d’œil.
Comment fournir des commentaires
Nous aimerions savoir ce que vous pensez de ces fonctionnalités. Utilisez le menu Aide pour signaler un problème ou faire une suggestion.
Vous pouvez également obtenir des conseils et répondre à vos questions par la communauté sur Stack Overflow.
Merci,
Dan Hellem