0%
Desarrollo en Azure

Desarrollo en Azure

Descubre los servicios de desarrollo de Azure con ejemplos prácticos.

I

InSkillCoach

· min

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

  1. Gestión del código

    • Utilizar Git Flow
    • Realizar revisiones de código
    • Mantener la documentación
  2. CI/CD

    • Automatizar las pruebas
    • Utilizar entornos
    • Gestionar los secretos
  3. Paquetes

    • Versionar correctamente
    • Mantener las dependencias
    • Proteger los feeds
  4. 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
InSkillCoach

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+
950
146

Comentarios

Los comentarios funcionan con GitHub Discussions

Inicia sesión con GitHub para participar en la discusión

¡Enlace copiado!