Uso de TFSDeleteProject para eliminar un proyecto en Azure DevOps local

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

Puede quitar un proyecto de Azure DevOps Server cuando el proyecto ya no sea necesario mediante TFSDeleteProject.

Además, si hay componentes que permanecen sin eliminar después de crear un proyecto incorrecto, puede usar TFSDeleteProject para quitarlos.

Para eliminar un proyecto de Azure DevOps Services mediante la consola de administración, consulte Eliminación de un proyecto.

Advertencia

TFSDeleteProject destruye permanentemente el proyecto, después del cual no se puede recuperar. Debe realizar una copia de seguridad de todos los datos importantes del proyecto antes de usar TFSDeleteProject.

Para acceder a la herramienta de línea de comandos TFSDeleteProject, abra una ventana del símbolo del sistema en la que esté instalado Visual Studio o Team Explorer y escriba:

cd %programfiles(x86)%\Microsoft Visual Studio 12.0\Common7\IDE

En una edición de 32 bits de Windows, reemplace %programfiles(x86)% por %programfiles%.

Requisitos previos

Para usar el comando TFSDeleteProject , debe ser miembro del grupo de seguridad Administradores de Team Foundation o del grupo de seguridad Administradores de proyectos .

Para obtener más información, consulte Establecer permisos de administrador para Azure DevOps Server.

TFSDeleteproject [/q] [/force] [/excludewss] /collection:URL TeamProjectName

Opción

Descripción

/q

Opcional. Utiliza el modo silencioso. No solicita confirmación al usuario.

/force

Opcional. Especifica que el proceso de eliminación debe continuar aunque algunos componentes no se puedan eliminar.

/excludewss

Opcional. Especifica que no elimine el sitio de SharePoint asociado al proyecto. Especifique esta opción para mantener el sitio existente para que otros proyectos puedan seguir usándolo.

/collection:URL

Necesario. Especifica el URI de la colección de proyectos. Debe usar el siguiente formato para el URI: http://ServerName:Port/VirtualDirectoryName/CollectionName.

Si no especifica un directorio virtual, debe usar el siguiente formato para el URI: http://ServerName:Port/CollectionName.

NombreDeProyectoDeEquipo

Necesario. Nombre del proyecto. Si el nombre incluye espacios, inclúyalo entre comillas.

Comentarios

Al crear un proyecto, Azure DevOps Server crea objetos de datos en el servidor que hospeda Azure DevOps Server y puede crear objetos de datos en el servidor que hospeda Productos de SharePoint y el servidor que hospeda SQL Server Reporting Services.

Al quitar un proyecto, los informes se quitan automáticamente de SQL Server Reporting Services.

Al quitar un proyecto, puede elegir si desea quitar o no los objetos creados para admitir el sitio de SharePoint.

Sin embargo, un error puede impedir que Azure DevOps Server cree o elimine todos los objetos. Para solucionar estos problemas, en las secciones siguientes se proporciona información general, vínculos a otros recursos y pasos específicos que le ayudan a determinar la causa del problema, corregir el problema y cuándo es necesario eliminar objetos de datos que permanecen después de ejecutar TFSDeleteProject.

Proceso TFSDeleteProject

Cuando se usa la herramienta de línea de comandos TFSDeleteProject, primero se eliminan los datos del proyecto y, a continuación, se proyectan sitios web.

Fase 1: TFSDeleteProject elimina los datos del proyecto

En la primera fase, TFSDeleteProject realiza automáticamente los pasos siguientes para quitar los datos del proyecto:

  1. TFSDeleteProject crea un inventario de todos los componentes que son candidatos para su eliminación.

    Esto incluye componentes que se integran con test Manager, Team Foundation Build y control de versiones de Team Foundation.

  2. TFSDeleteProject elimina el componente que muestra el nodo del proyecto en Team Explorer.

  3. TFSDeleteProject marca la información de control de versiones para su eliminación, pero no elimina inmediatamente esta información.

    La información incluye todas las bifurcaciones del control de versiones del proyecto especificado, pero no otras bifurcaciones fuera del proyecto.

    • Si una rama primaria y una rama secundaria están en el proyecto, TFSDeleteProject marca ambas para su eliminación.
    • Si las ramas primarias y secundarias están en proyectos diferentes, TFSDeleteProject marca solo la rama especificada.
    • Si otro proyecto es una rama del proyecto especificado, TFSDeleteProject marca solo el proyecto especificado. Cuando se elimina el proyecto especificado, el proyecto de bifurcación se queda huérfano.
  4. TFSDeleteProject elimina inmediatamente los datos de compilación, incluidos la información y los datos principales, las definiciones de compilación, los agentes de compilación y los resultados de pruebas asociados al proyecto. La herramienta no elimina las ubicaciones de destino de la compilación.

    No es necesario eliminar la ubicación de colocación de compilación de un proyecto anterior antes de crear un proyecto que use la misma ubicación de colocación de compilación.

    Si el proyecto especificado contiene una gran cantidad de datos de compilación, puede que la eliminación no finalice dentro del período de tiempo de espera.

    Para solucionar este problema, consulte Aumentar el período de Time-Out y, a continuación, vuelva a ejecutar TFSDeleteProject.

  5. TFSDeleteProject elimina inmediatamente los elementos de trabajo y los campos de elementos de trabajo que pertenecen al proyecto especificado y elimina todos los metadatos no compartidos.

    Si el proyecto especificado contiene una gran cantidad de datos de elemento de trabajo, puede que la eliminación no finalice dentro del período de tiempo de espera.

    Para solucionar este problema, consulte Aumentar el período de Time-Out y, a continuación, vuelva a ejecutar TFSDeleteProject.

Fase 2: TFSDeleteProject elimina sitios web del proyecto

En la segunda fase, TFSDeleteProject elimina los datos siguientes:

Importante

Estos pasos pueden tardar mucho tiempo en completarse y durante ese tiempo se puede degradar el rendimiento del servidor.

  • TFSDeleteProject usa las API de Reporting Services para eliminar informes en el servidor que hospeda Reporting Services.
  • TFSDeleteProject Elimina el sitio web del portal del proyecto del servidor que hospeda productos de SharePoint.

Este paso solo se realiza si el proyecto posee el sitio y la eliminación del sitio no se excluye en la línea de comandos. (Tenga en cuenta que varios proyectos pueden apuntar a un único sitio, pero solo uno de ellos puede ser el propietario donde los informes o paneles están de forma predeterminada mediante este proyecto).

Nota

Antes de eliminar un proyecto, puede confirmar que Reporting Services y productos de SharePoint usan las direcciones URL de proyecto correctas comprobando la configuración del portal. Para obtener más información, vea Agregar un portal de proyectos.

Si TFSDeleteProject elimina correctamente todos los elementos de datos anteriores, devuelve el mensaje Listo.

Para comprobar este resultado, consulte Comprobar que se eliminan los componentes del proyecto.

Si no se quitan uno o varios componentes, puede volver a ejecutar TFSProjectDelete mediante la opción /force para continuar con el proceso de eliminación aunque no pueda eliminar todos los elementos de datos.

Con esta opción TFSDeleteProject, omite un componente que no puede eliminar, devuelve un mensaje de error, elimina el siguiente componente y deja intactos los metadatos del proyecto y la configuración de seguridad.

Datos que pueden permanecer indeletados

Los datos siguientes pueden permanecer en la implementación después de que TFSDeleteProject se complete correctamente:

  • Datos del proyecto en el cubo.

    Los datos del proyecto permanecen en el cubo hasta que se vuelve a generar el cubo, en cuyo momento el servicio de controlador de almacenamiento quita todos los datos de compilación históricos que se han eliminado de las bases de datos de Azure DevOps.

  • Crear la eliminación de archivos y carpetas.

    Los archivos binarios de compilación, los archivos de registro de compilación y los archivos de registro que contienen resultados de pruebas se publican durante el proceso de compilación.

    No se eliminan las ubicaciones de estos archivos. Si desea quitar estos archivos, debe hacerlo manualmente.

  • Metadatos de seguimiento de elementos de trabajo compartidos.

    TFSDeleteProject no elimina ningún metadato para el seguimiento de elementos de trabajo que se comparte entre proyectos.

  • Conjuntos de estantes de control de versiones que contienen código compartido.

    Los conjuntos de estantes de control de versiones no se eliminan si hay código en el conjunto de estantes de varios proyectos.

Comprobación de la eliminación del proyecto

Para comprobar el éxito de una eliminación de un proyecto, confirme que el nodo del proyecto ya no aparece en Team Explorer y que su sitio web del portal de proyectos y las carpetas de informes ya no existen.

  1. Abra Team Explorer y compruebe que el proyecto no aparece como un nodo de proyecto.

  2. Abra Internet Explorer y escriba la dirección URL del sitio web del portal del proyecto. Compruebe que el sitio ya no existe.

  3. En Internet Explorer, en el cuadro Dirección, escriba la dirección URL del sitio web de Reporting Services utilizando uno de los formatos de dirección URL siguientes:

    • http://ReportingServices/Reports
    • http://ReportingServices/Reports_TFSInstance
  4. En el Administrador de informes, elija Mostrar detalles.

  5. Compruebe que la carpeta del proyecto eliminado ya no aparece.

    Elija la carpeta raíz TfsReports y, a continuación, elija la carpeta denominada para la colección de proyectos.

    No debe haber ya ninguna carpeta con el nombre del proyecto eliminado.

  6. Si los informes o el sitio web permanecen, vea el procedimiento siguiente.

Quitar componentes restantes después de la eliminación parcial del proyecto

Si el sitio web del portal del proyecto y la carpeta de informes permanecen después de eliminar un proyecto, quite el sitio y la carpeta manualmente.

  1. Inicie sesión en el servidor que hospeda Reporting Services para el proyecto que eliminó.

  2. Abra Internet Explorer y, en el cuadro Dirección, escriba la dirección URL del sitio web de Reporting Services utilizando uno de los formatos de dirección URL siguientes:

    • http://localhost/Reports
    • http://localhost/Reports_TFSInstance
  3. En el Administrador de informes, elija Mostrar detalles.

  4. Elija la carpeta raíz TfsReports y, a continuación, elija la carpeta denominada para la colección de proyectos.

  5. Active la casilla del proyecto que se eliminó.

  6. Elija Eliminar.

  7. Elija Aceptar para confirmar que desea eliminar la carpeta de informes del proyecto.

  8. Para quitar el sitio web del portal de proyectos de un proyecto eliminado, consulte la página siguiente en el sitio web de Microsoft:

Crear, editar y eliminar sitios de Windows SharePoint Services.

Aumento del período de tiempo de espera

De forma predeterminada, cada llamada de servicio web que emite el comando TFSDeleteProject para eliminar un componente debe completarse en un plazo de 10 minutos. Si hay seis llamadas, el proceso podría tardar hasta una hora. Si desea eliminar un proyecto asociado a una gran cantidad de datos, puede aumentar temporalmente este período de tiempo de espera.

Nota

Al aumentar el tiempo de espera, el cambio afecta a todas las llamadas a servicios Web. En general, conviene mantener el tiempo de espera en 10 minutos para evitar que las llamadas a servicios Web degraden el rendimiento del servidor e impidan a los usuarios utilizar la interfaz de usuario durante períodos largos de tiempo. Por tanto, una vez eliminado correctamente el proyecto, debe volver a establecer el tiempo de espera en 10 minutos.

Requisitos previos

Para completar estos procedimientos, debe ser administrador de Windows en el servidor de capa de datos de aplicación.

Importante

Modificar incorrectamente el Registro del equipo puede hacer que este se vuelva inestable. Si no está familiarizado con el Registro, no debe agregar ni quitar entradas, ni modificarlo de ninguna forma.

  1. Inicie sesión en el servidor de capa de aplicación.

  2. Elija Inicio y Ejecutar, escriba regedit y, a continuación, elija Aceptar.

  3. En el panel del explorador, expanda HKEY_ LOCAL_MACHINE:

    • Si el servidor ejecuta un sistema operativo de 32 bits, expanda: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\11.0\TeamFoundation\RequestSettings.
    • Si el servidor ejecuta un sistema operativo de 64 bits, expanda: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432\Microsoft\VisualStudio\11.0\TeamFoundation\RequestSettings.
  4. Si la clave TeamFoundation\RequestSettings no existe, siga estos pasos para crearla:

    1. Abra el menú contextual de TeamFoundation, seleccione Nuevo y elija Clave.
    2. Asigne a la clave el nombre RequestSettings.
    3. Abra el menú contextual de RequestSettings, seleccione Nuevo y elija Valor DWORD.
    4. Asigne al nuevo valor el nombre DefaultTimeout.
  5. Abra el menú contextual de DefaultTimeout y elija Modificar.

  6. En Información del valor, escriba el tiempo de espera en milisegundos y, a continuación, elija Decimal.

    Por ejemplo, para aumentar el tiempo de espera a 30 minutos, escriba 1800000. Para volver a establecer el tiempo de espera en 10 minutos, escriba 600000.

  7. Elija Aceptar.

  8. En el menú Archivo, elija Salir.

Ejemplo

El siguiente comando quita todos los componentes asociados al proyecto StoreFront en el servidor Azure DevOps Server AdventureWorks1 de la colección de proyectos Collection1 y de Team Explorer.

TFSDeleteProject /force /collection:http://AdventureWorks1:8080/tfs/Collection1 StoreFront