Versiones y historial de cambios automatizados en Azure DevOps

Aprende a versionar una aplicación, generar un changelog basado en commits y automatizar con PowerShell, YAML y Azure DevOps para lograr trazabilidad, seguridad y CI/CD.

3 sept 2025 • 5 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

Cada persona implicada en el ciclo de vida de un producto digital, ya sea desarrollador de aplicaciones, responsable de proyecto, miembro del equipo técnico o cliente final, necesita trazabilidad a lo largo de todo el proceso para entender qué cambió, cuándo y por qué.

Por qué versionar una aplicación es imprescindible

- Seguimiento detallado de cambios y nuevas funcionalidades

- Gestión de errores y depuración más rápida y eficaz

- Definición de compatibilidades y dependencias

- Comunicación clara con usuarios y clientes

- Preparación de paquetes de actualización

- Actualizaciones periódicas de seguridad

- Soporte y mantenimiento del producto

Cuando hablamos de trazabilidad, nos referimos a que todo cambio, sea cual sea su objetivo, debe estar asociado a una versión del producto. Así, cualquier ajuste se puede rastrear con precisión, los errores de código o de la aplicación se localizan en menos tiempo y con menos recursos, y la comunicación con el usuario sobre lo que incluye la versión X es directa y verificable.

A continuación se presenta una forma práctica de implementar el versionado y la generación de un changelog basado en commits. Para la demostración se utilizan PowerShell, YAML y un proyecto en C#.

Esquema de versionado propuesto en formato w.x.y.z

w mayor definido manualmente

x año actual en tiempo de ejecución

y mes actual en tiempo de ejecución

z contador incremental que se reinicia al inicio de cada mes

Ejemplo w.x.y.z 1.25.3.1, 1.25.3.2, 1.25.4.1

Una vez definido el algoritmo de generación, necesitamos un script que lo ejecute y tenga en cuenta la versión actual del proyecto. En un proyecto C#, la versión suele definirse en el archivo AssemblyInfo.cs; crear un archivo compartido GeneralAssemblyInfo.cs permite unificar la versión en toda la solución cuando hay varios proyectos.

Los atributos que almacenan la versión son AssemblyVersion, AssemblyFileVersion y AssemblyInformationalVersion. Al generar una nueva versión, el script debe actualizar estos atributos en el archivo correspondiente.

El script generate-new-version.ps1 contiene la lógica de ejecución y actualización. Puedes consultarlo y reutilizarlo desde el repositorio público en GitHub a través de este script de versionado con PowerShell. Para simplificar su uso en local, crea un archivo bat que invoque el script con los parámetros necesarios y evita errores por valores olvidados.

Cómo generar un changelog basado en commits

Mensajes de commit claros, relevantes y bien estructurados son esenciales para mantener un historial entendible del proyecto. Un buen mensaje explica el propósito del cambio sin necesidad de abrir el código, facilita localizar cuándo se introdujo un problema y acelera la depuración.

La estructura de changelog que proponemos es sencilla y legible, por ejemplo encabezado con v0.0.0.0 y una lista de entradas con hash corto, autor y resumen del cambio. Esto permite identificar de un vistazo qué ha cambiado entre versiones.

El script de soporte implementa tres funciones clave Get-CommitMessage para recuperar el mensaje, Get-CommitHash para obtener el hash del commit y Add-ChangeLog para registrar la entrada en el archivo de historial.

Parámetros de entrada recomendados nombre de la aplicación, si se debe generar una nueva versión, si se hace pull automático de la rama principal, si se hace commit y push automáticos, nombre de rama origen y destino, y ruta de ejecución de la solución. La implementación completa puede verse en el script generate-change-log.ps1.

Si eres el único desarrollador o el equipo es pequeño, puedes ejecutar el script en local sin problemas. Para ahorrar tiempo, automatiza con un bat y estandariza los parámetros.

Automatización con Azure DevOps

Para llevar esto a un flujo automatizado se definen dos pipelines YAML run_gen_changelog_version.yaml para generar la nueva versión y el changelog y run_solution_build.yaml para compilar la solución. La idea es ejecutarlos como validación previa al merge de una feature hacia la rama estable develop mediante políticas de rama.

Configuración de pipelines añade los YAML al repositorio y crea los pipelines en Azure DevOps. Define variables como commit_user_email y repository_full_path en el pipeline de versión y para la compilación ajusta solutionPath y sdkVersion en variables locales del YAML.

Servicio de compilación de rama otorga permisos de Contribute al Build Service del repositorio para permitir commits y pushes automatizados desde la tubería.

Políticas de rama en develop activa Build Validation para ejecutar ambos pipelines y Status Checks para bloquear el merge hasta que las validaciones pasen. Al crear el pull request, las políticas se disparan, se hace la cola de ejecución y el pipeline de versionado actualiza la versión y el changelog dentro del propio PR.

Resultados esperados el PR muestra los cambios en el archivo de versión y el changelog, las compilaciones superadas y un historial claro de lo que se publica en cada versión.

Cómo te ayuda Q2BSTUDIO

En Q2BSTUDIO somos una empresa de desarrollo de software con foco en aplicaciones a medida, software a medida, automatización y excelencia operativa. Implementamos pipelines y buenas prácticas de versionado en entornos modernos, integrando Azure DevOps, Git, pruebas automatizadas, seguridad y despliegues en la nube. Si buscas acelerar tus entregas y ganar trazabilidad, te ayudamos a diseñar e implantar procesos de integración y entrega continua con estándares de calidad y seguridad corporativa. Descubre cómo optimizamos tus despliegues y gobierno de la nube con nuestros servicios cloud aws y azure y cómo eliminamos tareas repetitivas y riesgos operativos con soluciones de automatización de procesos.

Además, somos especialistas en inteligencia artificial e ia para empresas, agentes IA y soluciones de ciberseguridad integradas con pipelines DevSecOps. Completamos tu ecosistema con servicios inteligencia de negocio y analítica avanzada con power bi para convertir datos en decisiones.

Si quieres llevar tu ciclo de vida de desarrollo al siguiente nivel con trazabilidad, seguridad y velocidad, cuenta con Q2BSTUDIO. Impulsamos tu roadmap con tecnología, metodología y un equipo experto.

Código fuente de la demo y scripts aquí repositorio en GitHub con la solución de versionado y changelog

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.