Desarrollo en Azure
Descubre los principales servicios de desarrollo de Azure con ejemplos prácticos.
Azure DevOps
Azure DevOps es una plataforma completa para el desarrollo de software.
Configuración de un proyecto
from azure.devops.connection import Connection
from msrest.authentication import BasicAuthentication
# Crear la conexión
credentials = BasicAuthentication('', '<pat_token>')
connection = Connection(base_url='<organization_url>', creds=credentials)
client = connection.clients.get_core_client()
# Crear un proyecto
project = {
"name": "mon-projet",
"description": "Description du projet",
"capabilities": {
"versioncontrol": {
"sourceControlType": "Git"
},
"processTemplate": {
"templateTypeId": "6b724908-ef14-45cf-84f8-768b5384da45"
}
}
}
# Crear el proyecto
client.create_project(project)
Configuración de un pipeline CI/CD
trigger:
branches:
include:
- main
paths:
include:
- src/*
- tests/*
pool:
vmImage: 'ubuntu-latest'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.9'
addToPath: true
- script: |
python -m pip install --upgrade pip
pip install -r requirements.txt
python -m pytest tests/
displayName: 'Install dependencies and run tests'
- task: AzureWebApp@1
inputs:
azureSubscription: 'mon-connection'
appName: 'mon-app'
package: '$(System.DefaultWorkingDirectory)/src'
Azure Repos
Azure Repos para la gestión del código fuente.
Creación de un repositorio
from azure.devops.connection import Connection
from msrest.authentication import BasicAuthentication
# Crear la conexión
credentials = BasicAuthentication('', '<pat_token>')
connection = Connection(base_url='<organization_url>', creds=credentials)
client = connection.clients.get_git_client()
# Crear un repositorio
repository = {
"name": "mon-repo",
"project": {
"id": "<project_id>"
}
}
# Crear el repositorio
client.create_repository(repository)
Gestión de ramas
# Crear una rama
branch = {
"name": "feature/nouvelle-fonctionnalite",
"oldObjectId": "<commit_id>",
"newObjectId": "<new_commit_id>"
}
# Crear la rama
client.create_ref(
repository_id="<repo_id>",
ref=branch
)
# Crear una pull request
pull_request = {
"sourceRefName": "refs/heads/feature/nouvelle-fonctionnalite",
"targetRefName": "refs/heads/main",
"title": "Nouvelle fonctionnalité",
"description": "Description des changements"
}
# Crear la pull request
client.create_pull_request(
repository_id="<repo_id>",
pull_request=pull_request
)
Azure Artifacts
Azure Artifacts para la gestión de paquetes.
Publicación de un paquete
from azure.devops.connection import Connection
from msrest.authentication import BasicAuthentication
# Crear la conexión
credentials = BasicAuthentication('', '<pat_token>')
connection = Connection(base_url='<organization_url>', creds=credentials)
client = connection.clients.get_packaging_client()
# Crear un feed
feed = {
"name": "mon-feed",
"description": "Feed pour mes packages"
}
# Crear el feed
client.create_feed(feed)
# Publicar un paquete
package = {
"name": "mon-package",
"version": "1.0.0",
"description": "Description du package"
}
# Publicar el paquete
client.create_package(
feed_id="<feed_id>",
package=package
)
Azure Boards
Azure Boards para la gestión de proyectos.
Creación de un work item
from azure.devops.connection import Connection
from msrest.authentication import BasicAuthentication
# Crear la conexión
credentials = BasicAuthentication('', '<pat_token>')
connection = Connection(base_url='<organization_url>', creds=credentials)
client = connection.clients.get_work_item_tracking_client()
# Crear un work item
work_item = {
"op": "add",
"path": "/fields/System.Title",
"value": "Nouvelle tâche"
}
# Crear el work item
client.create_work_item(
document=work_item,
project="mon-projet",
type="Task"
)
Azure Test Plans
Azure Test Plans para la gestión de pruebas.
Creación de un plan de pruebas
from azure.devops.connection import Connection
from msrest.authentication import BasicAuthentication
# Crear la conexión
credentials = BasicAuthentication('', '<pat_token>')
connection = Connection(base_url='<organization_url>', creds=credentials)
client = connection.clients.get_test_client()
# Crear un plan de pruebas
test_plan = {
"name": "Plan de test",
"description": "Description du plan",
"startDate": "2024-03-22",
"endDate": "2024-04-22"
}
# Crear el plan
client.create_test_plan(
test_plan=test_plan,
project="mon-projet"
)
Buenas prácticas
-
Gestión del código
- Utilizar Git Flow
- Realizar revisiones de código
- Mantener la documentación
-
CI/CD
- Automatizar las pruebas
- Utilizar entornos
- Gestionar los secretos
-
Paquetes
- Versionar correctamente
- Mantener las dependencias
- Proteger los feeds
-
Proyecto
- Seguir las metodologías
- Utilizar los sprints
- Mantener el backlog
Conclusión
Puntos clave que hay que recordar:
- Servicios DevOps completos
- Integración continua
- Gestión de proyectos ágil
- Buena documentación
Recomendaciones:
- Empezar por Git
- Implantar CI/CD
- Utilizar los sprints
- Seguir las buenas prácticas
- Formarse en Microsoft Learn
Acerca de InSkillCoach
Experto en formación y tecnologías
Coach especializado en tecnologías avanzadas e IA, impulsado por GNeurone Inc.
Certificaciones:
- AWS Certified Solutions Architect – Professional
- Certificaciones de Google Cloud
- Microsoft Certified: DevOps Engineer Expert
- Certified Kubernetes Administrator (CKA)
- CompTIA Security+
Comentarios
Los comentarios funcionan con GitHub Discussions
Inicia sesión con GitHub para participar en la discusión