Servidor Azure DevOps | |
---|---|
Tipo de | Sistema de control de versiones |
Desarrollador | microsoft |
Escrito en | C++ |
Sistema operativo | ventanas |
Primera edición | 2005 |
ultima versión | (2019) |
Estado | En desarrollo activo |
Sitio web | azure.microsoft.com/en-u… |
Azure DevOps Server (anteriormente Team Foundation Server , abreviado TFS) es un producto de Microsoft Corporation , que es una solución integral que combina un sistema de control de versiones , recopilación de datos, informes , seguimiento de estados y cambios de proyectos y está diseñado para la colaboración en proyectos de software. desarrollo _ El producto está disponible como una aplicación independiente similar en función al servicio en la nube de Azure DevOps Services (antes de 2019 llamado Visual Studio Team Services , VSTS) [1] .
Team Foundation Server opera en una arquitectura de tres niveles: nivel de cliente, nivel de aplicación y nivel de datos . La capa de cliente se utiliza para crear y administrar proyectos y para acceder a los elementos del proyecto almacenados y administrados. En este nivel, TFS no contiene ninguna interfaz de usuario , pero proporciona servicios web que las aplicaciones cliente pueden utilizar para integrarse en la funcionalidad de TFS. Estos servicios web son utilizados por aplicaciones como Visual Studio Team System para usar TFS como una infraestructura de back-end de almacenamiento o administración de aplicaciones TFS dedicada, como la aplicación Team Foundation Client incluida . Los propios servicios web están en la capa de aplicación . La capa de aplicación también incluye un portal web y un repositorio de documentación (repositorio) compatible con Windows SharePoint Services . Un portal web, llamado Team Project Portal , actúa como centro de colaboración para proyectos administrados por TFS. El depósito de documentos se utiliza tanto para los elementos del proyecto como para el seguimiento de las revisiones (documentación de cambios), así como para recopilar y procesar datos y generar informes. El nivel de datos , basado principalmente en SQL Server 2005 Standard Edition instalado , proporciona servicios de almacenamiento de datos persistentes para el Depósito de documentos. El nivel de datos y el nivel de aplicación pueden existir en diferentes servidores físicos o virtuales cuando se utiliza Windows Server 2003 o superior. La capa de datos no interactúa directamente con la capa de cliente , solo a través de la capa de aplicación .
La mayor parte de la acción en Team Foundation Server tiene lugar con "elementos de trabajo". Los elementos de trabajo son unidades separadas (pasos) de trabajo realizado por turnos. En muchas fuentes, se identifican con elementos de tipo "error" (bug) en sistemas de seguimiento de errores como Bugzilla , es decir, en este caso, el elemento de trabajo tiene los campos Área (área asociada), Iteración (estado), Asignado ( asociado con), Reportado por (por quién creado) para indicar información relevante, historial, archivos adjuntos, así como muchos otros atributos. Los elementos de trabajo en sí mismos pueden ser de varios tipos, como Error , Tarea , Requisito de calidad , Escenario , etc. El marco elegido para cualquier proyecto determinado en Team Foundation Server determina qué tipos de elementos de trabajo estarán disponibles y qué atributos tendrá cada uno de los tipos. tener. Estos elementos se almacenan internamente en formato XML y su esquema se puede modificar fácilmente para agregar nuevos atributos a diferentes elementos o crear nuevos elementos según el diseño. Cada elemento de trabajo tiene métodos de control apropiados que determinan qué elementos están disponibles para quién y qué acciones puede realizar con ellos (ver, editar, crear, eliminar, etc.). También implica el uso de notificaciones y la posibilidad de iniciar sesión para rastrear el historial de todo el proceso de creación, acceso a un elemento o cambio (determinado por derechos), y también prevé notificación adicional de ciertos usuarios cuando ocurren ciertos eventos.
Cualquier Team Foundation Server contiene uno o más Team Projects , que consisten en soluciones basadas en Visual Studio, archivos de configuración para Team Build y Team Load Test Agents, y un único repositorio basado en SharePoint que contiene documentación relacionada con el proyecto. Un proyecto colaborativo incluye elementos de trabajo personalizados, versiones (ramas) del código fuente, informes administrados por TFS. TFS proporciona la capacidad de administrar estos proyectos. Al crear un nuevo proyecto, debe elegir un marco de desarrollo de software que no se pueda cambiar más adelante. TFS incluye varios de los patrones más comunes, incluidas técnicas de desarrollo tanto ágiles como formales. La elección de un marco llena el proyecto con elementos predefinidos, como roles y autoridades, así como otra documentación, como una estrategia de desarrollo del proyecto (hoja de ruta del proyecto), plantillas de documentos, plantillas de informes. Estos elementos se pueden asociar con elementos de trabajo. El estado de ciertos elementos del proyecto se puede actualizar automáticamente cuando cambian los elementos de trabajo. TFS se puede integrar con Microsoft Excel para crear y realizar un seguimiento de los elementos del proyecto. El estado de los elementos en este caso se puede especificar y editar directamente en Excel, y las tablas resultantes pueden ser procesadas por TFS, que importará datos teniendo en cuenta los detalles de la gestión de este proyecto. Además, también se puede integrar con Microsoft Project (por ejemplo, Microsoft Project 2003, ¡pero no Project Server!) como cliente de gestión de proyectos. Los elementos del proyecto se pueden exportar como documentos de Excel para un mayor análisis de datos.
TFS en sí no contiene una interfaz de usuario para realizar tales tareas. Estas capacidades se proporcionan a través de servicios web que utilizan las aplicaciones cliente, como el entorno de desarrollo de Visual Studio Team System (VSTS) . Sin embargo, TFS incluye una aplicación Team Foundation Client (TFC) que se puede usar para completar estas tareas sin VSTS. TFC también maneja las llamadas a los servicios web correspondientes. TFS proporciona una API de cliente que puede usar una aplicación de cliente para acceder a la funcionalidad; la propia API gestiona los enlaces intermedios para establecer interacciones con los servicios web, como el almacenamiento en caché del lado del cliente para reducir la latencia y la sobrecarga. El lenguaje de descripción de servicios web WSDL también es compatible en caso de que la aplicación necesite llamar directamente a los servicios web. Como complemento, Visual Studio Team System Web Access está disponible para propósitos similares.
Team Foundation Server implementa un repositorio de control de código fuente denominado Team Foundation Version Control (TFVC). A diferencia de la solución de control de código anterior de Microsoft, Visual SourceSafe (VSS), que se basaba en un mecanismo de almacenamiento de archivos, Team Foundation almacena todo el código, así como un registro de todos los cambios de código, en una base de datos que ejecuta SQL Server. Se admiten características tales como múltiples desprotecciones simultáneas ( es decir, varias personas pueden editar el mismo archivo al mismo tiempo), resolución de conflictos, archivado (aquí nos referimos a guardar un conjunto de cambios planificados sin comprometerlos con el control de versiones y otros). los usuarios pueden ver estos conjuntos, pero no podrán acceder a ellos sin un permiso otorgado explícitamente), bifurcación y fusión, y la capacidad de establecer niveles de acceso (seguridad) en cualquier nivel del árbol de código fuente, junto con las características más obvias de control de versiones de la documentación, bloqueos, reversiones y confirmaciones atómicas. El mecanismo de control del código fuente está directamente relacionado con los elementos de trabajo de Team System; En un registro (también conocido como "conjunto de cambios"), un desarrollador puede definir la relación de su código con uno o más elementos de trabajo específicos para indicar qué problemas resuelve el registro. Los administradores de TFS pueden aplicar políticas de verificación que satisfagan los requisitos de análisis de código y también pueden aplicar elementos de trabajo asociados con una verificación determinada o actualizar el estado de los elementos de trabajo asociados (como declarar un error como "corregido" al realizar cambios en el código que corrige este error). Las versiones separadas de los archivos se pueden marcar con etiquetas especiales y todos los archivos con las mismas etiquetas forman un grupo de publicación. A diferencia de VSS, el repositorio de control de código TFS no admite la fijación a un elemento desde varias ubicaciones en la estructura del directorio del código fuente, ni admite la "fijación" de un elemento (es decir, admite diferentes enlaces al mismo archivo desde varios directorios para diferentes versiones para evitar más ediciones de este archivo).
TFVC admite la bifurcación en todos los niveles del código fuente, así como para archivos y directorios individuales, con cada rama admitida por separado. Se pueden fusionar varias ramas en una con una indicación del orden (algoritmo) para resolver conflictos al fusionar cambios de dos ramas del mismo archivo, luego el programa reconciliará automáticamente las diferencias o las marcará para verificación manual si él mismo no puede hacer frente con ellos. También se puede realizar una fusión a nivel de conjunto de cambios en lugar de a nivel de rama. Una fusión exitosa se marca automáticamente (retirada) en el repositorio de control de código.
Las capacidades de TFVC no se limitan al código fuente, sino que al incorporar la infraestructura de Windows SharePoint Services , brinda soporte para una biblioteca de versiones de documentos de proyectos, incluidos planes de proyectos, requisitos, análisis específicos de proyectos y otros. Todos los documentos del repositorio de control de código se pueden asociar a cualquier elemento de trabajo y se puede controlar el acceso a ellos introduciendo una política de acceso (restricción de derechos).
La generación de informes es otro componente central de Team Foundation Server. Con él, puede crear muchos informes basados en la combinación de información sobre elementos de trabajo, conjuntos de cambios, información proporcionada por Team Build y resultados de prueba de Test Agents. Por ejemplo, tasa de cambio de código a lo largo del tiempo, listas de errores sin casos de prueba, repeticiones de pruebas pasadas anteriormente, etc. Los informes creados con SQL Server Reporting Services se pueden exportar en varios formatos diferentes, incluidos Excel, XML , PDF y TIFF . Los informes se pueden ver tanto con Visual Studio como a través del portal web.
TFS utiliza su marco de registro para automatizar la recopilación de datos. La infraestructura de registro rastrea y registra información sobre el acceso y el uso de los elementos de trabajo y el código fuente, que luego pueden utilizar los servicios de análisis para identificar tendencias. TFS a nivel de datos contiene un adaptador de acumulación que almacena en caché los datos de las bases de datos normalizadas subyacentes en una forma conveniente para el análisis: tablas o tablas de dimensiones. Luego se utiliza SQL Server Analysis Services para analizar estos datos y se generan informes. Los informes pueden cubrir varios elementos de trabajo, incluidas las principales direcciones de errores, cambios de código, direcciones de compilación y más. Otras aplicaciones de análisis también pueden usar datos proporcionados directamente por los servicios web.
Basado en la base del proyecto, TFS también crea un sitio de SharePoint para el proyecto, que se puede usar para realizar un seguimiento del progreso del proyecto, monitorear los elementos de trabajo y los documentos proporcionados en la biblioteca del proyecto. También puede ver los informes generados en el sitio. TFS se puede usar como un centro de comunicación, es decir, los usuarios asociados con un proyecto en particular pueden usar el sitio para comunicarse o interactuar entre ellos. Los comentarios se pueden asociar con varios elementos. Para cada proyecto, según sus propiedades, TFS utiliza plantillas predefinidas que se especifican al crear el sitio. Los administradores de TFS pueden personalizar (editar) estas plantillas.
TFS brinda soporte para muchos servicios que se pueden usar para integrarse con aplicaciones de terceros, como IDE y sistemas de administración de proyectos . El servicio de vinculación permitió la creación de relaciones débilmente acopladas entre elementos, como el elemento de error y las versiones de código fuente asociadas con él. Los servicios de seguridad permitían la creación de grupos de seguridad entre los usuarios, a los que se les asignaban derechos de acceso. El servicio de clasificación proporcionaba la definición de políticas para clasificar automáticamente elementos en función de una variedad de criterios, y el servicio de eventos permitía que cualquier componente disparara un evento y una notificación asociada con ese evento . La notificación puede ocurrir ya sea suscribiéndose a un flujo de cierta información, por correo electrónico o llamando a otros servicios web.
Team Build es un servidor de compilación incluido con Team Foundation Server que se puede instalar en casi cualquier máquina que admita Visual Studio. Los desarrolladores pueden usar las máquinas configuradas para Team Build para completar compilaciones de la mayoría de las últimas versiones de software utilizadas en el control de código. Se mantienen registros de cada compilación, ya sea que tenga éxito o falle, de modo que los desarrolladores y los administradores de la compilación puedan realizar un seguimiento del progreso de un proyecto. Si la compilación se produce de forma secuencial, se analizan los cambios realizados en el código fuente desde la última compilación correcta y la actualización de los elementos de trabajo indica cierto progreso. Por ejemplo, si un probador inicia un elemento de trabajo que soluciona un error específico en la compilación n.° 15 y un desarrollador realiza cambios justo antes de que se creara la compilación n.° 18, entonces el elemento de "error" se actualizará a un estado que indica que el error se ha solucionado. fijado. El evaluador puede confirmar o negar que el error se solucionó correctamente.
Actualmente hay dos versiones de TeamBuild, y cada versión corresponde a la versión de TFS que se está instalando. Sin embargo, son bastante fáciles de configurar.
TFSBuild.proj es el archivo que gestiona TeamBuild. El lenguaje Team Build es similar al lenguaje MSBuild .
Software de gestión de proyectos | |
---|---|
Escritorio | |
Servidor de cliente |
|
servicios web | |
Sistemas de control de versiones ( categoría ) | |
---|---|
Solo locales | |
Servidor de cliente | |
Repartido | |