Partager via


Azure Pipelines - Mise à jour sprint 218

Fonctionnalités

Tâche de téléchargement de l’exécuteur de nœud

Lors de l’adoption de versions d’agent qui excluent l’exécuteur de tâches Node 6 , vous devrez peut-être parfois exécuter des tâches qui n’ont pas été mises à jour pour utiliser un exécuteur de nœud plus récent. Pour ce scénario, nous fournissons une méthode permettant de continuer à utiliser des tâches qui dépendent des versions de nœud en fin de vie, consultez le billet de blog concernant les directives pour les exécuteurs Node.

La tâche ci-dessous est une méthode permettant d’installer l’exécuteur Node 6 juste-à-temps, afin qu’une ancienne tâche puisse toujours s’exécuter :

  steps:
  - task: NodeTaskRunnerInstaller@0
    inputs:
      runnerVersion: 6

Mise à jour de la validation de l’exécuteur de nœud TFX

Les auteurs de tâches utilisent l’outil d’empaquetage d’extensions (TFX) pour publier des extensions. TFX a été mis à jour pour effectuer des validations sur les versions de Node runner ; consultez le billet de blog sur les recommandations pour Node runner.

Les extensions qui contiennent des tâches à l’aide de l’exécuteur Node 6 voient cet avertissement :

Task <TaskName> is dependent on a task runner that is end-of-life and will be removed in the future. Authors should review Node upgrade guidance: https://aka.ms/node-runner-guidance.

Hook de service pour le changement d’état du travail

Les hooks de service vous permettent de réagir en réponse aux événements liés aux modifications d’état dans vos exécutions de pipeline. Jusqu’à présent, vous pouviez configurer des hooks de service pour les modifications d’état d’exécution et d’étape du pipeline.

Désormais, vous pouvez configurer des hooks de service qui se déclenchent lorsque l’état d’une tâche dans votre pipeline change. La structure de charge utile du nouvel événement est illustrée dans l’exemple suivant.

{
    "subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
    "notificationId": 29,
    "id": "fcad4962-f3a6-4fbf-9653-2058c304503f",
    "eventType": "ms.vss-pipelines.job-state-changed-event",
    "publisherId": "pipelines",
    "message":
    {
        "text": "Run 20221121.5 stage Build job Compile succeeded.",
        "html": "Run 20221121.5 stage Build job <a href=\"https://dev.azure.com/fabrikamfiber/fabrikamfiber-viva/_build/results?buildId=2710088\">Compile</a> succeeded.",
        "markdown": "Run 20221121.5 stage Build job [Compile](https://dev.azure.com/fabrikamfiber/fabrikamfiber-viva/_build/results?buildId=2710088) succeeded."
    },
    "detailedMessage":
    {
        "text": "Run 20221121.5 stage Build job Compile succeeded.",
        "html": "Run 20221121.5 stage Build job <a href=\"https://dev.azure.com/fabrikamfiber/fabrikamfiber-viva/_build/results?buildId=2710088\">Compile</a> succeeded.",
        "markdown": "Run 20221121.5 stage Build job [Compile](https://dev.azure.com/fabrikamfiber/fabrikamfiber-viva/_build/results?buildId=2710088) succeeded."
    },
    "resource":
    {
        "job":
        {
            "_links":
            {
                "web":
                {
                    "href": "https://dev.azure.com/fabrikamfiber/fabrikamfiber-viva/_build/results?buildId=2710088"
                },
                "pipeline.web":
                {
                    "href": "https://dev.azure.com/fabrikamfiber/fabrikamfiber-viva/_build/definition?definitionId=4647"
                }
            },
            "id": "e87e3d16-29b0-5003-7d86-82b704b96244",
            "name": "Compile",
            "state": "completed",
            "result": "succeeded",
            "startTime": "2022-11-21T16:10:28.49Z",
            "finishTime": "2022-11-21T16:10:53.66Z"
        },
        "stage": { ... },
        "run": { ... },
        "pipeline": { ... },
        "repositories": [ ... ]
    },
    "resourceVersion": "5.1-preview.1",
    "createdDate": "2022-11-21T16:11:02.9207334Z"
}

Les événements de raccordement de service de modification d’état d’exécution, d’étape et de travail contiennent désormais une repository propriété qui répertorie les dépôts Azure consommés par l’exécution du pipeline. Par exemple:

"repositories":
[
    {
        "type": "Git",
        "change":
        {
            "author":
            {
                "name": "Fabrikam John",
                "email": "john@fabrikamfiber.com",
                "date": "2022-11-11T15:09:21Z"
            },
            "committer":
            {
                "name": "Fabrikam John",
                "email": "john@fabrikamfiber.com",
                "date": "2022-11-11T15:09:21Z"
            },
            "message": "Added Viva support"
        },
        "url": "https://fabrikamfiber@dev.azure.com/fabrikamfiber/fabrikamfiber-viva/_git/fabrikamfiber"
    }
]

Sécurité améliorée lors de la création de pipelines hébergés par GitHub Enterprise Server

Lorsque vous créez votre premier pipeline hébergé GitHub Enterprise Server (GHES), vous devrez peut-être créer une connexion de service GHES.

Auparavant, vous n’aviez qu’une seule option pour le mécanisme d’authentification : pour utiliser un jeton d’accès personnel. Cela favorise la création de connexions de service moins sécurisées.

Nouveau GitHub

À partir de ce sprint, nous avons créé OAuth2 le mécanisme d’authentification par défaut lors de la création d’une connexion de service GHES, qu’il s’agit de la création du pipeline ou de l’ajout d’une connexion de service.

OAuth2

É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.