Compilación de repositorios de TFVC
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Importante
TFVC solo es compatible con canalizaciones clásicas y no admite YAML.
Elección del repositorio que se va a compilar
Al editar una canalización que usa un repositorio TFVC, tiene las siguientes opciones.
- Limpio
- Especificar la ruta de acceso local
- Etiquetar orígenes
Nombre del repositorio
Nombre del repositorio TFVC.
Asignaciones (área de trabajo)
Incluya con un valor de tipo de Map solo las carpetas que requiere la canalización de compilación. Si una subcarpeta de una carpeta asignada contiene archivos que no requiere la canalización de compilación, asígnelo con un valor de tipo de Cloak.
Asegúrese de Asignar todas las carpetas que contengan archivos que requiere la canalización de compilación. Por ejemplo, si agrega otro proyecto, es posible que tenga que agregar otra asignación al área de trabajo.
carpetas cloak que no necesita. De forma predeterminada, la carpeta raíz del proyecto se asigna en el área de trabajo. Esta configuración da como resultado que el agente de compilación descargue todos los archivos de la carpeta de control de versiones del proyecto. Si esta carpeta contiene muchos datos, la compilación podría desperdiciar recursos del sistema de compilación y ralentizar la canalización de compilación mediante la descarga de grandes cantidades de datos que no requiere.
Al quitar proyectos, busque asignaciones que puede quitar del área de trabajo.
Si se trata de una compilación de CI, en la mayoría de los casos debe asegurarse de que estas asignaciones coincidan con la configuración de filtro del desencadenador de CI en la pestaña Desencadenadores de .
Para obtener más información sobre cómo optimizar un área de trabajo de TFVC, consulte Optimizar el área de trabajo.
Limpieza del repositorio local en el agente
Puede realizar diferentes formas de limpieza del directorio de trabajo del agente autohospedado antes de que se ejecute una compilación.
En general, para un rendimiento más rápido de los agentes autohospedados, no limpie el repositorio. En este caso, para obtener el mejor rendimiento, asegúrese de que también está compilando incrementalmente; para ello, deshabilite cualquier opción Limpiar de la tarea o herramienta que esté usando para compilar.
Si necesita limpiar el repositorio (por ejemplo, para evitar problemas causados por archivos residuales de una compilación anterior), se indican las opciones a continuación.
Si desea limpiar el repositorio, seleccione truey, a continuación, seleccione una de las siguientes opciones:
Sources: la canalización de compilación realiza una deshacer de los cambios y marca el área de trabajo actual en
$(Build.SourcesDirectory)
.Orígenes y directorio de salida: la misma operación que la opción Orígenes anterior, además de: elimina y vuelve a crear
$(Build.BinariesDirectory)
.Directorio de orígenes: elimina y vuelve a crear
$(Build.SourcesDirectory)
.Todos los directorios de compilación: elimina y vuelve a crear
$(Agent.BuildDirectory)
.
Desencadenadores CI
Seleccione Habilitar integración continua en la pestaña Desencadenadores para habilitar este desencadenador si quiere que la compilación se ejecute cada vez que alguien inserte código en el repositorio.
Cambios por lotes
Active esta casilla si hay muchos miembros del equipo que cargan cambios con frecuencia y desea reducir el número de compilaciones que está ejecutando. Si selecciona esta opción, cuando se ejecuta una compilación, el sistema espera hasta que se completa la compilación y, a continuación, pone en cola otra compilación de todos los cambios que aún no se han compilado.
Puede procesar por lotes los cambios y compilarlos juntos.
Filtros de ruta de acceso
Seleccione las rutas de acceso de control de versiones que desea incluir y excluir. En la mayoría de los casos, debe asegurarse de que estos filtros son coherentes con las asignaciones de TFVC. Puede usar filtros de ruta de acceso para reducir el conjunto de archivos que desea desencadenar una compilación.
Sugerencias:
- Las rutas de acceso siempre se especifican en relación con la raíz del área de trabajo.
- Si no establece filtros de ruta de acceso, la carpeta raíz del área de trabajo se incluye implícitamente de forma predeterminada.
- Si excluye una ruta de acceso, tampoco puede incluirla a menos que la especifique en una carpeta más profunda. Por ejemplo, si excluye /tools, puede incluir /tools/trigger-runs-on-these.
- El orden de los filtros de ruta de acceso no es importante.
Registro de entrada cerrado
Puede usar la inserción en el repositorio validada para protegerse frente a cambios importantes.
De forma predeterminada, está activada la opción Usar asignaciones de área de trabajo para filtros . Las compilaciones se desencadenan cada vez que se inserta en el repositorio un cambio en una ruta de acceso especificada en las asignaciones de origen.
De lo contrario, puede desactivar esta casilla y especificar las rutas de acceso del desencadenador.
Cómo afecta a los desarrolladores
Cuando los desarrolladores intentan realizar la comprobación, se les pedirá que compilen sus cambios.
de solicitud de registro con puerta
A continuación, el sistema crea un conjunto de estantes y lo compila.
Nota:
Si recibe un error como The shelveset _Build_95;Build\6bc8a077-3f27-4936-82e6-415fbd53ba07 could not be found for check-in
, compruebe el ámbito de autorización del trabajo de limite al proyecto actual para canalizaciones que no sean de versión y asegúrese de que no está habilitado.
Para obtener más información sobre la experiencia de registro de entrada controlada, consulte Check in to a folder that is controlled by a gated check-in build pipeline.
Opción para ejecutar compilaciones de CI
De forma predeterminada, las compilaciones de CI no se ejecutan después de que se complete el proceso de registro cerrado y se comprueben los cambios.
Sin embargo, si quiere que las compilaciones de CI se ejecuten después de una comprobación cerrada, active la casilla ejecutar desencadenadores de CI de para los cambios confirmados. Al hacerlo, la canalización de compilación no agrega ***NO_CI*** a la descripción del conjunto de cambios. Como resultado, se ejecutan compilaciones de CI afectadas por la comprobación.
Algunas otras cosas que se deben saber
- Asegúrese de que las carpetas que incluya en el desencadenador también se incluyen en las asignaciones del área de trabajo.
- Puede ejecutar compilaciones controladas en una agente hospedado por Microsoft o en un agente autohospedado .
Preguntas más frecuentes
Obtengo el siguiente error al ejecutar una canalización:
The shelveset <xyz> could not be found for check-in
- ¿El ámbito de autorización del trabajo de está establecido en de recopilación? Los repositorios de TFVC normalmente se distribuyen entre los proyectos de la colección. Es posible que esté leyendo o escribiendo en una carpeta a la que solo se puede tener acceso cuando el ámbito es toda la colección. Puede establecerlo en la configuración de la organización o en la configuración del proyecto en la pestaña canalizaciones de.
Obtengo el siguiente error al ejecutar una canalización:
The underlying connection was closed: An unexpected error occurred on a receive. ##[error]Exit code 100 returned from process: file name 'tf', arguments 'vc workspace /new /location:local /permission:Public
- Normalmente se trata de un error intermitente causado cuando el servicio experimenta problemas técnicos. Vuelva a ejecutar la canalización.
¿Qué es elcorrón?
Scorch es una herramienta de alimentación TFVC que garantiza que el control de código fuente en el servidor y el disco local sean idénticos. Consulte Microsoft Visual Studio Team Foundation Server 2015 Power Tools.