Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020
En esta guía rápida se crea una canalización que compila y prueba una aplicación Python. Verá cómo usar Azure Pipelines para compilar, probar e implementar aplicaciones y scripts de Python como parte del sistema de integración continua y entrega continua (CI/CD).
Requisitos previos
Python está preinstalado en agentes hospedados por Microsoft para Linux, macOS y Windows. No tiene que configurar nada más para compilar proyectos de Python. Para ver qué versiones de Python están preinstaladas, consulte Software.
| Producto | Requisitos |
|---|---|
| Azure DevOps | - Un proyecto de Azure DevOps . - Tener la capacidad de ejecutar canalizaciones en agentes hospedados por Microsoft. Puede comprar un trabajo paralelo o solicitar un nivel gratuito. - Conocimientos básicos de YAML y Azure Pipelines. Para obtener más información, consulte Creación de su primera canalización. - Permisos: - Para crear una canalización: debe estar en el grupo Colaboradores y este debe tener el permiso Crear canalización de compilación establecido en Permitir. Los miembros del grupo Administradores de proyectos pueden administrar canalizaciones. - Para crear conexiones de servicio: debe tener el rol Administrador o Creador para las conexiones de servicio. |
| GitHub | - Una cuenta de GitHub . - Una conexión de servicio de GitHub para autorizar Azure Pipelines. |
| Producto | Requisitos |
|---|---|
| Azure DevOps | - Un proyecto de Azure DevOps . - Un agente autohospedado con Python 3.12 u otra versión de Python instalada. Para crear uno, consulte Agentes autohospedados. - Conocimientos básicos de YAML y Azure Pipelines. Para obtener más información, consulte Creación de su primera canalización. - Permisos: - Para crear una canalización: debe estar en el grupo Colaboradores y este debe tener el permiso Crear canalización de compilación establecido en Permitir. Los miembros del grupo Administradores de proyectos pueden administrar canalizaciones. - Para crear conexiones de servicio: debe tener el rol Administrador o Creador para las conexiones de servicio. |
| GitHub | - Una cuenta de GitHub . - Una conexión de servicio de GitHub para autorizar Azure Pipelines. |
Importante
Los procedimientos de GitHub pueden requerir que realice una o varias de las siguientes acciones en GitHub:
- Inicia sesión.
- Autorización de Azure Pipelines.
- Autentíquese en organizaciones de GitHub.
- Instale la aplicación Azure Pipelines.
Siga las instrucciones para completar los procesos necesarios. Para más información, consulte Acceso a repositorios de GitHub.
Bifurcación del código de muestra
Bifurque el repositorio de muestra de Python a su cuenta de GitHub.
- Vaya al repositorio python-sample-vscode-flask-tutorial.
- Seleccione Bifurcar en la esquina superior derecha.
- Asegúrese de que el nombre de la cuenta de GitHub esté seleccionado en Propietario y seleccione Crear bifurcación. La bifurcación se denomina igual que el repositorio primario de forma predeterminada, pero puede asignarle un nombre diferente.
Cree la canalización
- En el proyecto de Azure DevOps, seleccione Canalizaciones en el menú de navegación izquierdo y, a continuación, seleccione Nueva canalización o Crear canalización si esta canalización es la primera en el proyecto.
- En la pantalla Where is your code (Dónde está el código ), seleccione GitHub como ubicación del código fuente.
- En la pantalla Seleccionar un repositorio , seleccione el repositorio de ejemplo de Python bifurcada.
- En la pantalla Configurar su canalización, seleccione Canalización inicial.
Personalización de la canalización
En la pantalla Revisar canalización de YAML, reemplace el contenido del archivo azure-pipelines.yml generado por el código siguiente. El código realiza las siguientes acciones en tres versiones diferentes de Python:
- Instala las dependencias y la versión de Python necesarias.
- Los paquetes crean artefactos en un archivo ZIP.
- Publica el archivo en la canalización.
- Ejecuta pruebas.
trigger:
- main
pool:
vmImage: ubuntu-latest
strategy:
matrix:
Python310:
python.version: '3.10'
Python311:
python.version: '3.11'
Python312:
python.version: '3.12'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '$(python.version)'
displayName: 'Use Python $(python.version)'
- script: |
python -m pip install --upgrade pip
pip install -r requirements.txt
displayName: 'Install dependencies'
- task: ArchiveFiles@2
displayName: 'Archive files'
inputs:
rootFolderOrFile: $(System.DefaultWorkingDirectory)
includeRootFolder: false
archiveType: zip
archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId)-$(python.version).zip
replaceExistingArchive: true
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
- script: |
pip install pytest pytest-azurepipelines
pytest
displayName: 'pytest'
En la pantalla Revisar canalización de YAML, reemplace el contenido del archivo azure-pipelines.yml generado por el código siguiente. El código realiza las siguientes acciones:
- Instala las dependencias y la versión de Python necesarias.
- Los paquetes crean artefactos en un archivo ZIP.
- Publica el archivo en la canalización.
- Ejecuta pruebas.
Personalice azure-pipelines.yml para que coincida con la configuración del proyecto.
- Si tiene un grupo de agentes diferente, reemplace el marcador de posición del grupo
namepor el nombre del grupo odefault. - Si es necesario, cambie Python
versionSpeca una versión instalada en el agente autohospedado.
trigger:
- main
pool:
name: '<your-pool-name or default>'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.12'
displayName: 'Use Python 3.12'
- script: |
python -m pip install --upgrade pip
pip install -r requirements.txt
displayName: 'Install dependencies'
- task: ArchiveFiles@2
displayName: 'Archive files'
inputs:
rootFolderOrFile: $(System.DefaultWorkingDirectory)
includeRootFolder: false
archiveType: zip
archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
replaceExistingArchive: true
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
- script: |
pip install pytest pytest-azurepipelines
pytest
displayName: 'pytest'
Ejecución de la canalización
Seleccione Guardar y ejecutar y, a continuación, seleccione Guardar y ejecutar de nuevo. Puede seleccionar Trabajo en la pantalla Resumen para ver el trabajo en acción.
El trabajo se ejecuta tres veces, una vez para cada versión de Python especificada. Las tres versiones se pueden ejecutar en paralelo en distintos agentes.
Visualización de artefactos y resultados de pruebas
Para ver los artefactos de compilación, seleccione el vínculo [N] publicado en la pestaña Resumen .
La página Artefactos muestra los artefactos de construcción publicados.
Para ver los resultados de la prueba, seleccione la pestaña Pruebas.
Limpieza
Si ha terminado de usar la canalización que ha creado, puede eliminarla.
Seleccione Canalizaciones en el menú de navegación izquierdo del proyecto.
En la lista de canalizaciones, mantenga el puntero sobre la canalización que creó, seleccione el icono Más acciones a la derecha y, a continuación, seleccione Eliminar.
O bien, seleccione la canalización y, en la página de canalización, seleccione el icono Más acciones en la esquina superior derecha y, a continuación, seleccione Eliminar.
Escriba el nombre de la canalización y, a continuación, seleccione Eliminar de nuevo.
Ha creado y ejecutado correctamente una canalización que ha compilado y probado una aplicación de Python. Ahora puede usar Azure Pipelines para compilar, probar e implementar aplicaciones y scripts de Python como parte del proceso de CI/CD.