Enmilocalfunciona

Thoughts, stories and ideas.

Azure DevOps: Creando el proyecto, equipos de trabajo y repositorios Git

Publicado por Santi Macias el

ALMDevOpsMicrosoft AzureAzure DevOps

Una vez disponemos de una cuenta de organización en Azure DevOps, muchas veces me preguntan los pasos necesarios para configurar proyectos, definir los equipos de trabajo y disponer de un repositorio de código fuente para comenzar nuevos proyectos; y eso es lo que precisamente vamos a explicar hoy en este artículo.

Crear Proyecto

El primer paso es crear un proyecto en el formulario indicando el nombre y descripción del proyecto, visibilidad pública o privada, sistema de control de versiones y la plantilla de trabajo.

Voy a usar como nombre de proyecto Fabrikam, una de las compañías ficticias que utiliza Microsoft para sus demos, si queréis conocer más en la Wikipedia encontrareis toda la lista: List of fictional Microsoft companies.

En la imagen se muestra el formulario rellenado para crear el proyecto.

Un punto importante es que se puede elegir entre varios tipos de plantillas (Work item process) que permiten definir cómo organizar la gestión del proyecto y que veremos en los siguientes puntos.

Visibilidad pública o privada

Los proyectos pueden ser públicos, al estilo de GitHub que todo el mundo pueda consultar y colaborar, o bien proyectos privados para permitir acceder solo usuarios asignados por parte del administrador. En este último caso, los 5 primeros usuarios son gratis y el resto requieren licencia.

Control de Versiones

A la hora de seleccionar el sistema de control de versiones, se recomienda Git por defecto, aunque también es posible seguir utilizando TFVC (Team Foundation Version Control) todo dependerá de la experiencia en Git del equipo o si están más cómodos con TFVC.

Plantillas de Proyecto

En el desplegable de Work item process seleccionamos la plantilla de trabajo para Azure Board, la cual nos ayuda en la organización del proyecto y elegiremos una de estas: Basic, Agile, Scrum, and CMMI.

En realidad, todas las plantillas parten de una épica y después tienen una estructura diferente que es importante conocer porque luego no la podremos cambiar y alguna de ellas tiene partes que son configurables para adaptarlas al escenario de gestión del proyecto.

La Plantilla Basic está en Preview en Azure Boards y tiene utilidad para proyectos muy simples y poca complejidad.

La Plantilla Agile es útil en proyectos con metodologías ágiles y donde usamos historias de usuario, tareas y bugs.

La Plantilla Scrum se adapta bien en equipos que trabajan con Scrum, backlog, seguimiento de proyectos, tareas, bugs y un taskboard totalmente operativo.

La Plantilla CMMI es excelente en proyectos con metodología CMMI para realizar un seguimiento de los requisitos, solicitud de cambio, riesgos y revisiones.

Confirmar Proyecto

Una vez completado el formulario pulsaremos el botón Create Project que ejecutará el proceso de creación del proyecto FabrikamDemo y en unos instantes lo tendremos operativo y encontraremos todas las opciones disponibles en el menú lateral izquierdo.

En la imagen se muestra el formulario del proyecto creado.

Opciones del Proyecto

En el menú lateral se muestra todas las opciones para trabajar sobre un proyecto donde encontramos:

  • Overview: Un resumen global del proyecto que podemos personalizar a medida con plugins y una Wiki de proyecto donde guardar toda la documentación del mismo.
  • Boards: Donde se define y lleva a cabo el seguimiento del trabajo del equipo con paneles Kanban, backlog del equipo, informes personalizados, etc.
  • Repos: Aquí encontramos el repositorio de código, donde guardamos los archivos de código fuente, histórico de cambios, ramas, tags, PRs, entre sus opciones principales.
  • Pipelines: Aquí se definen los procesos de CI/CD para crear, compilar, probar y desplegar los proyectos sobre cualquier plataforma o nube, obtener código fuente incluso desde otros repositorios como GitHub, Bitbucket, etc. o desplegar una appweb o servicio en un contenedor en AWS o Azure.
  • TestPlans: Gestionar planes de pruebas manuales, planificadas, exploratorias y todo lo relacionado con testing y pruebas.
  • Artifacts: Dentro de Azure DevOps se incluye un repositorio de artefactos con soporte de NuGet, Maven y NPM de fuentes públicas y privadas.

En realidad, algunas de las opciones eran productos separados anteriormente, que Microsoft fue integrando desde la plataforma VSTS para tenerlo todo unificado y simplificado para ser muchos más productivos.

Project settings

En la parte inferior de menú lateral, encontramos los "Project Settings", una de las partes más importantes que debemos conocer en  la plataforma Azure DevOps, porque es realmente donde administramos y configuramos un proyecto, usuarios, permisos, accesos, repositorios, agentes, etc.

Entrando en la pantalla de settings, aparece una lista con todas las posibles opciones de configuración.

Como muestra la imagen, existen muchos apartados donde configurar diferentes opciones para cada uno de los proyectos que tengamos.

Por ejemplo, en Overview, si bajamos un poco encontramos la forma de activar o desactivar las opciones de menú que vamos a utilizar o incluso borrar el proyecto definitivamente.

Es recomendable, navegar por las opciones y descubrir todas las posibilidades de configuración.

Definir Equipos de Trabajo

Los equipos de trabajo, se definen en Teams, por defecto, siempre se crea uno, en el ejemplo, FabrikamDemo Team, pero es posible crear nuevos, supongamos que necesitarnos 3 equipos: Front, Backend y movilidad.

Los creamos (New team) en este formulario y vemos la lista, como muestra la imagen.

Una vez tenemos creados, un truco muy útil, es definir Dashboards personalizados para cada Team y disponer de un panel informativo del estado y tareas de cada equipo.

Una vez creados los equipos, debemos asignar miembros en cada uno de ellos, aunque es posible desde el menu Teams, ahora aprenderemos una mejor forma de hacerlo en el siguiente punto.

Definir Miembros del Equipo

El proceso para definir los miembros del equipo, si no lo conocemos, es un poco confuso la primera vez ya que no encontraremos una opción de usuarios en el menú del proyecto.

Nos situamos en la pantalla principal del proyecto FabrikamDemo y localizamos Invite en la parte superior derecha de la pantalla.

Al pulsarlo se abrirá un dialogo para realizar el proceso de invitación (Invite members), donde indicaremos el email y los teams donde queremos asignarlos.

Para confirmar la asignación del usuario como miembro del equipo del proyecto, volvemos a Project Settings, buscamos la opción  members y encontraremos a todos los miembros asignados correctamente.

Nota: La configuración y tipos de licencias para los usuarios queda fuera del alcance este articulo, Microsoft ofrece 5 usuarios gratuitos y el resto utilizan diferentes modelos de suscripción.

Definir Seguridad

La seguridad en Azure DevOps se puede realizar a nivel global en la organización y a nivel de cada proyecto.

Vamos a verlo nivel de proyecto, tenemos que ir a la opción Seguridad dentro de Project Settings, justo debajo de la definición de los equipos (Teams).

En el formulario de seguridad, tenemos los apartados para asignar los roles y permisos con una interfaz muy intuitiva donde el administrador puede mantener la configuración por defecto o personalizarlo según requerimientos y políticas de seguridad.

Definir Repositorios

En el momento de crear un proyecto, se crea de forma automática un repositorio vacío para el código fuente, en función de las necesidades del proyecto, es posible crear y disponer múltiples repositorios y dar acceso solo al que corresponde a cada equipo de trabajo, hay total flexibilidad para gestionarlos y organizarnos.

La pantalla para administrar y gestionar los repositorios es la siguiente:

El formulario de los repositorios es bastante intuitivo y fácil de utilizar, porque está todo en la misma pantalla, disponemos de opciones para crear nuevos repositorios, securizar y administrar el control de acceso, entre otros aspectos.

Una vez definidos los repositorios, si regresamos a la página principal del proyecto en la opción Repos, ya los encontraremos creados.

A partir de este punto, todo esta listo para comenzar a trabajar con el código fuente, hacer un push desde un repo local, importar un repo desde GitHub, etc.

Próximos pasos

Una vez llegado este punto, ya podemos arrancar el proyecto con nuestros equipos de trabajo en la plataforma Azure DevOps, recordando que es aconsejable activar y configurar solo aquellas funcionalidades que realmente necesitemos en cada proyecto.

Por ejemplo, si solo usamos el repositorio Git, podemos prescindir del resto de opciones o quizás solo queramos utilizar la parte de gestión del proyecto para gestionar las tareas y bugs o simplemente definir aquí los procesos de CI/CD y conectarnos a un repo externo con el código fuente como GitHub.

Todo esto es posible adaptarlo de forma simple a la necesidades de cada proyecto en los settings.

Como siempre, si tenéis dudas o preguntas, podéis dejarlas en los comentarios.

Autor

Santi Macias

Microsoft Tech Lead en knowmad mood, +20 años trabajando con tecnologías Microsoft actualmente centrado sobretodo en Azure, Cloud Native, DevOps, Docker, Kubernetes, Microservicios y Serverless.