Uso de TFSDeleteProject para eliminar un proyecto en Azure DevOps local

Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2013

Nota

Azure DevOps Server anteriormente se denominaba Visual Studio Team Foundation Server.

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 recuperar después de una creación incorrecta del proyecto, puede usar TFSDeleteProject para quitarlos.

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

Advertencia

TFSDeleteProject destruye permanentemente el proyecto, después del cual no se puede recuperar. Debe hacer 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 Visual Studio o Team Explorer esté instalado 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%.

Prerrequisitos

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

Para obtener más información, vea 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 se elimine el SharePoint asociado al proyecto. Especifique esta opción para mantener el sitio existente para que otros proyectos puedan seguir us guardarlo.

/collection:URL

Necesario. Especifica el URI de la colección de proyectos. Debe usar el formato siguiente 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 SharePoint Products 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 SharePoint proyecto.

Sin embargo, un error puede impedir Azure DevOps Server crear o eliminar 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 ayudarán a determinar la causa del problema, corregir el problema y, cuando sea 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 el 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 del 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 ambos 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 prueba asociados al proyecto. La herramienta no elimina las ubicaciones de destino de la compilación.

    No es necesario eliminar la ubicación de eliminació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, vea 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, vea Aumentar el período 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 Reporting Services API para eliminar informes en el servidor que hospeda Reporting Services.
  • TFSDeleteProject Elimina el sitio web del portal de proyectos del servidor que hospeda SharePoint Products.

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 en el que los informes o paneles usan este proyecto de forma predeterminada).

Nota

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

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

Para comprobar este resultado, vea Comprobar Project componentes eliminados.

Si no se quitan uno o varios componentes, puede volver a ejecutar TFSProjectDelete mediante la opción /force para continuar 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 componente siguiente y deja intactos los metadatos del proyecto y la configuración de seguridad.

Datos que pueden permanecer sin recuperar

Es posible que los datos siguientes permanezcan en la implementación después de que TFSDeleteProject se complete correctamente:

  • Project datos en el cubo.

    Project datos permanecen en el cubo hasta que se recompila el cubo, momento en el que el servicio de controlador de almacenamiento quita todos los datos de compilación históricos que se han eliminado de las bases de datos Azure DevOps almacenamiento.

  • Cree archivos y carpetas de colocación de compilación.

    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 que se comparten.

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

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

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

Comprobación de la eliminación del proyecto

Para comprobar que la eliminación de un proyecto se ha hecho correctamente, 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 los 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 ha eliminado.

  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 reports 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 Windows SharePoint Services sitios.

Aumentar el período de tiempo de espera

De forma predeterminada, cada llamada de servicio web que el comando TFSDeleteProject emite para eliminar un componente debe completarse en 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.

Prerrequisitos

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 comando siguiente 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