Inicio rápido: Desencadenamiento de una Azure Pipelines ejecución desde GitHub Actions

Introducción al uso de GitHub actions y Azure Pipelines juntos. GitHub acciones le ayudan a automatizar los flujos de trabajo de desarrollo de software desde GitHub. Puede implementar flujos de trabajo en el mismo lugar donde almacena el código y colaborar en las solicitudes de incorporación de cambios y los problemas.

Si tiene flujos de Azure Pipelines y GitHub actions, es posible que desee desencadenar una ejecución de canalización desde una GitHub acción. Por ejemplo, puede tener un conjunto específico de tareas Azure DevOps canalización que desea desencadenar desde el flujo de trabajo GitHub Actions.

Para ello, puede desencadenar una ejecución de canalización con la Azure Pipelines acción.

Requisitos previos

Autenticación con Azure Pipelines

Usará un token de acceso personal (PAT) para conectar su cuenta de GitHub a Azure DevOps. Puede generar un PAT desde dentro Azure DevOps y, a continuación, almacenarlo como un GitHub secreto. Dentro del GitHub de trabajo, hará referencia al secreto para que la acción de GitHub pueda autenticarse con el Azure DevOps proyecto.

  1. Abra el repositorio de GitHub y vaya a Settings (Configuración).

    Seleccione Configuración en GitHub

  2. Seleccione Secretos y, a continuación, Nuevo secreto de repositorio.

    Elegir agregar un secreto

  3. Pegue el PAT y asíéquele el nombre AZURE_DEVOPS_TOKEN .

  4. Seleccione Add secret (Agregar secreto) para guardar.

Creación de un flujo GitHub de trabajo que desencadena una canalización

GitHub flujos de trabajo son una serie de acciones (como las tareas de Azure Pipelines). Usará la acción de Azure Pipelines para desencadenar una ejecución de canalización.

Este ejemplo le guía a través de la creación de un nuevo flujo de trabajo desde dentro de GitHub Actions y se puede adaptar para satisfacer sus necesidades. La sección pertinente para conectarse a Azure Pipelines es Azure Pipelines acción.

  1. En el repositorio de GitHub, cree un nuevo archivo YAML en el .github/workflows directorio .

  2. Copie el siguiente contenido en el archivo YAML. Personalice los azure-devops-project-url valores azure-pipeline-name y . no azure-devops-project-url debe tener una barra diagonal final.

    name: CI
    
    # Run this workflow every time a commit is pushed to main or a pull request is opened against main
    on:
      push:
        branches:
          - main
      pull_request:
        branches: 
          - main
    
    jobs:
        build:
            name: Call Azure Pipeline
            runs-on: ubuntu-latest
            steps:
            - name: Azure Pipelines Action
              uses: Azure/pipelines@v1
              with:
                azure-devops-project-url: https://dev.azure.com/organization/project-name
                azure-pipeline-name: 'My Pipeline'
                azure-devops-token: ${{ secrets.AZURE_DEVOPS_TOKEN }}
    
  3. Confirme e inste el archivo de flujo de trabajo.

  4. El flujo de trabajo se ejecutará cada vez que se inserta una confirmación en main o se abre una solicitud de extracción en main. Para comprobar que la acción se ejecutó, abra el repositorio GitHub y seleccione Acciones.

    Seleccione Acciones en el panel GitHub navegación

  5. Seleccione el título del flujo de trabajo para ver más información sobre la ejecución. Debería ver una marca de verificación verde para la Azure Pipelines acción. Abra la acción para ver un vínculo directo a la ejecución de la canalización.

    GitHub ejecución detallada de acciones de GitHub

Consideraciones de rama

La canalización en la que se ejecuta la rama depende de si la canalización está en el mismo repositorio que el GitHub flujo de trabajo.

  • Si la canalización y el flujo de trabajo de GitHub están en repositorios diferentes, se ejecuta la versión de canalización desencadenada en la rama especificada por La rama predeterminada para compilaciones manuales y programadas.
  • Si la canalización y el flujo GitHub de trabajo se encuentran en el mismo repositorio, se ejecuta la versión de canalización desencadenada en la misma rama que la canalización de desencadenamiento.

Para configurar la rama predeterminada para la configuración de compilaciones manuales y programadas, vea Rama predeterminada para la configuración de compilaciones manuales y programadas.

Limpieza de recursos

Si no va a seguir usando el flujo de trabajo de GitHub, deshabilite el flujo de trabajo.

Pasos siguientes