Publicación del estado neutro en GitHub en ejecuciones de validación con regla de exclusión de ruta de acceso

Con esta actualización, hemos incluido varias actualizaciones en Azure Pipelines. En las canalizaciones de YAML, se establece la denegación de acceso a todas las canalizaciones como valor predeterminado para los recursos protegidos. Además, Azure Pipelines devolverá un estado neutro a GitHub cuando decida no ejecutar una compilación de validación debido a una regla de exclusión de ruta de acceso.

Consulte las siguientes descripciones de características para obtener más información.

Nota:

El 28 de septiembre de 2021, Axosoft notificó a Azure DevOps una vulnerabilidad en una dependencia de su popular cliente de GUI de Git: GitKraken. Consulte la entrada de blog para obtener más información.

Azure Pipelines

Azure Pipelines

Publicar el estado neutro en GitHub cuando se omite una compilación

Con Azure Pipelines, siempre puede validar una solicitud de incorporación de cambios en GitHub. También puede especificar qué rutas de acceso del repositorio de GitHub deben desencadenar una canalización. Por ejemplo, la siguiente canalización se desencadena cuando se inserta code un cambio en en la main rama, pero no se desencadena cuando se inserta un cambio en la docs carpeta.

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'

Una vez completada la canalización, Azure Pipelines publicaría un estado en GitHub. Si tenía directivas de protección de ramas en vigor para el repositorio de GitHub, el estado publicado por Azure Pipelines determinó si la solicitud de incorporación de cambios se combinaría.

En el ejemplo anterior, si realizó un cambio en docs, GitHub bloquea actualmente la solicitud de incorporación de cambios en espera de que Azure Pipelines devuelva un estado. Sin embargo, Azure Pipelines no ejecuta una compilación de validación, ya que esa ruta de acceso se excluye del desencadenador, lo que hace imposible completar la solicitud de incorporación de cambios. Los clientes que configuran desencadenadores de exclusión de rutas de acceso o varias canalizaciones para un único repositorio de GitHub a menudo se enfrentan a este desafío.

Al avanzar, Azure Pipelines volverá a publicar un neutral estado en GitHub cuando decida no ejecutar una compilación de validación debido a una regla de exclusión de ruta de acceso. Esto proporcionará una dirección clara a GitHub que indica que Azure Pipelines ha completado su procesamiento.

Vista de conversación:

Vista de conversación

Compruebe los detalles:

Comprobación de los detalles

El acceso a todas las canalizaciones está desactivado de forma predeterminada en los recursos protegidos

Una canalización de YAML puede basarse en uno o varios recursos protegidos. Las conexiones de servicio, los grupos de agentes, los grupos de variables, los archivos seguros y los repositorios son ejemplos de recursos protegidos, ya que un administrador de dicho recurso puede controlar qué canalizaciones tienen acceso a ese recurso. Los administradores usan el panel de configuración de seguridad del recurso para habilitar o deshabilitar canalizaciones.

Al crear uno de estos recursos, la experiencia predeterminada concede acceso a todas las canalizaciones a menos que la desactive explícitamente. Al avanzar, para mejorar la posición de seguridad general, el valor predeterminado se establece para denegar el acceso a todas las canalizaciones. Para conceder acceso a todas las canalizaciones, simplemente active el botón de alternancia en la experiencia de creación o después de crear el recurso.

Nueva conexión de servicio de Azure

Insertar tarea antes o después de las tareas de destino especificadas mediante un decorador

Los decoradores son una manera de insertar automáticamente tareas en una canalización. Normalmente, los equipos centrales de una organización usan para ejecutar automáticamente los procedimientos de cumplimiento necesarios. Los decoradores se pueden usar con compilaciones clásicas, versiones clásicas o canalizaciones YAML.

Actualmente, una tarea se puede insertar a través de un decorador al principio de cada trabajo, al final de cada trabajo o justo después de una tarea de des check-out. Para controlar esto, especifique un target en la sección de contribución de la extensión del decorador, tal y como se describe aquí. Ahora estamos expandiendo la lista de destinos para incluir lo siguiente:

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

Este es un ejemplo de un decorador que inserta una tarea antes de cada instancia de una PublishPipelineArtifacts tarea en una canalización.

{
    "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"
        }
    ]
}

Anuncio de una programación de desuso para imágenes hospedadas en Windows 2016

Recientemente, hemos hecho que Windows 2022 esté disponible como una imagen hospedada. Con el próximo fin del soporte estándar para Windows 2016 en enero de 2022, estamos en desuso de vs2017-win2016 imágenes a partir del 15 de noviembre. La retirada completa de esta imagen está prevista para marzo de 2022. Dado que se trata de una imagen que se usa habitualmente, queríamos darle suficiente aviso y tiempo para realizar los cambios necesarios en las canalizaciones.

Consulte nuestra entrada de blog que detalla cómo buscar todos los proyectos y canalizaciones con la imagen hospedada de Windows 2016 y los pasos que puede seguir para migrar a versiones más recientes.

Anuncio del desuso de imágenes hospedadas en macOS 10.14

Recientemente, hicimos que macOS-11 esté disponible como una imagen hospedada. Como resultado, en diciembre de 2021 quedará en desuso la imagen de macOS-10.14. Las compilaciones que se basan en esta imagen producirán un error una vez que esté en desuso. Puede encontrar más detalles sobre el desuso de varias imágenes de nuestra entrada de blog.

Pasos siguientes

Nota:

Estas características se implementarán en las próximas dos a tres semanas.

Vaya a Azure DevOps y eche un vistazo.

Cómo enviar sus comentarios

Nos encantaría escuchar lo que piensas sobre estas características. Use el menú de ayuda para notificar un problema o proporcionar una sugerencia.

Hacer una sugerencia

También puede obtener consejos y sus preguntas respondidas por la comunidad en Stack Overflow.

Gracias,

Vijay Machiraju