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
- Una canalización de Azure en funcionamiento. Creación de la primera canalización.
- Una GitHub con un repositorio. Únase GitHub y cree un repositorio.
- Un Azure DevOps de acceso personal (PAT) que se usará con la acción GitHub usuario. Cree un PAT.
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.
Abra el repositorio de GitHub y vaya a Settings (Configuración).
Seleccione Secretos y, a continuación, Nuevo secreto de repositorio.
Pegue el PAT y asíéquele el nombre
AZURE_DEVOPS_TOKEN.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.
En el repositorio de GitHub, cree un nuevo archivo YAML en el
.github/workflowsdirectorio .Copie el siguiente contenido en el archivo YAML. Personalice los
azure-devops-project-urlvaloresazure-pipeline-namey . noazure-devops-project-urldebe 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 }}Confirme e inste el archivo de flujo de trabajo.
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 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.
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.