Partager via


Azure Pipelines - Mise à jour sprint 194

Fonctionnalités

Afficher le statut neutre sur GitHub lorsqu’une compilation est ignorée

Avec Azure Pipelines, vous pouvez toujours valider un pull request dans GitHub. Vous pouvez également spécifier les chemins d’accès de votre dépôt GitHub qui doivent déclencher un pipeline. Par exemple, le pipeline suivant est déclenché lorsqu'une modification est poussée vers code dans la branche main, mais il n'est pas déclenché lorsqu'une modification est poussée vers le dossier docs.

trigger: none

pr:
 branches:
   include:
     - main
 paths:
   include:
     - code
   exclude:
     - docs

pool:
  vmImage: ubuntu-latest

steps:
- script: echo Hello, world!
  displayName: 'Run a one-line script'

Une fois le pipeline terminé, Azure Pipelines publie un état sur GitHub. Si vous aviez des stratégies de protection de branche en vigueur pour votre référentiel GitHub, l’état publié par Azure Pipelines déterminait si la pull request serait fusionnée.

Dans l’exemple ci-dessus, si vous avez apporté une modification à docs, GitHub bloque actuellement la pull request en attente du retour d'un statut par Azure Pipelines. Toutefois, Azure Pipelines n'exécute pas de build de validation, car ce chemin d’accès est exclu du déclencheur, ce qui rend impossible la finalisation de la pull request. Les clients qui configurent des déclencheurs d’exclusion de chemin ou plusieurs pipelines pour un seul dépôt GitHub ont souvent rencontré ce défi.

À l’avenir, Azure Pipelines publiera un neutral état sur GitHub lorsqu’il décidera de ne pas exécuter de build de validation en raison d’une règle d’exclusion de chemin d’accès. Cela fournira une direction claire à GitHub indiquant qu’Azure Pipelines a terminé son traitement.

Vue de conversation :

Vue de conversation

Vérifiez les détails :

Vérifier les détails

L’accès à tous les pipelines est désactivé par défaut dans les ressources protégées

Un pipeline YAML peut s’appuyer sur une ou plusieurs ressources protégées. Les connexions de service, les pools d’agents, les groupes de variables, les fichiers sécurisés et les référentiels sont tous des exemples de ressources protégées, car un administrateur de cette ressource peut contrôler quels pipelines ont accès à cette ressource. Les administrateurs utilisent le panneau paramètres de sécurité de la ressource pour activer ou désactiver des pipelines.

Lorsque vous créez l’une de ces ressources, l’expérience par défaut accorde l’accès à tous les pipelines, sauf si vous la désactivez explicitement. À l’avenir, pour améliorer la posture globale de sécurité, la valeur par défaut est définie pour refuser l’accès à tous les pipelines. Pour accorder l’accès à tous les pipelines, activez simplement le bouton à bascule lors de la création ou une fois la ressource créée.

Nouvelle connexion de service Azure

Injecter une tâche avant ou après les tâches cibles spécifiées à l’aide d’un décorateur

Les décorateurs sont un moyen d’injecter automatiquement des tâches dans un pipeline. Elles sont couramment utilisées par les équipes centrales d’une organisation pour exécuter automatiquement les procédures de conformité requises. Les décorateurs peuvent être utilisés avec des builds classiques, des versions classiques ou des pipelines YAML.

Actuellement, une tâche peut être injectée par le biais d’un décorateur au début de chaque travail, à la fin de chaque travail ou juste après une tâche de vérification. Pour contrôler cela, vous spécifiez une section de contribution target dans l’extension du décorateur, comme décrit ici. Nous développons maintenant la liste des cibles pour inclure les éléments suivants :

ms.azure-pipelines-agent-job.pre-task-tasks
ms.azure-pipelines-agent-job.post-task-tasks
ms.azure-release-pipelines-agent-job.pre-task-tasks
ms.azure-release-pipelines-agent-job.post-task-tasks

Voici un exemple de décorateur qui injecte une tâche avant chaque instance de la tâche PublishPipelineArtifacts dans un pipeline.

{
    "manifestVersion": 1,
    "contributions": [
        {
            "id": "my-required-task",
            "type": "ms.azure-pipelines.pipeline-decorator",
            "targets": [
                "ms.azure-pipelines-agent-job.pre-task-tasks"
            ],
            "properties": {
                "template": "my-decorator.yml",
                "targettask": "ECDC45F6-832D-4AD9-B52B-EE49E94659BE"
            }
        }
    ],
    "files": [
        {
            "path": "my-decorator.yml",
            "addressable": true,
            "contentType": "text/plain"
        }
    ]
}

Annonce d'un calendrier d'obsolescence pour les images hébergées sous Windows 2016

Récemment, nous avons rendu Windows 2022 disponible en tant qu’image hébergée. Avec la fin à venir de la prise en charge standard de Windows 2016 en janvier 2022, nous déprécions vs2017-win2016 les images à compter du 15 novembre. La mise hors service complète de cette image est prévue pour mars 2022. Étant donné qu’il s’agit d’une image couramment utilisée, nous voulions vous donner suffisamment de préavis et de temps pour apporter les modifications nécessaires à vos pipelines.

Reportez-vous à notre billet de blog détaillant comment rechercher tous les projets et pipelines à l’aide de l’image hébergée par Windows 2016 et les étapes à suivre pour migrer vers des versions plus récentes.

Annonce de l’obsolescence des images hébergées macOS 10.14

Récemment, nous avons rendu macOS-11 disponible en tant qu’image hébergée. Par conséquent, nous mettrons fin à l'image macOS-10.14 en décembre 2021. Les builds qui s’appuient sur cette image échouent une fois qu’elle est déconseillée. Vous trouverez plus d’informations sur la dépréciation de différentes images à partir de notre billet de blog.

Étapes suivantes

Note

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 entendre ce que vous pensez de ces fonctionnalités. Utilisez le menu d’aide pour signaler un problème ou fournir une suggestion.

Faire une suggestion

Vous pouvez également obtenir des conseils et répondre à vos questions par la communauté sur Stack Overflow.