Compilación de repositorios tfvc

Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2015

Nota:

En Microsoft Team Foundation Server (TFS) 2018 y versiones anteriores, las canalizaciones de compilación y versión se denominan definiciones, las ejecuciones se denominan compilaciones, las conexiones de servicio se denominan puntos de conexión de servicio, las fases se denominan entornos y los trabajos se denominan fases.

Elección del repositorio que se compila

Al editar una canalización que usa un repositorio TFVC, tiene las siguientes opciones.

Característica Azure Pipelines, TFS 2018, TFS 2017, TFS 2015.4 TFS 2015 RTM
Clean
Especificación de la ruta de acceso local No
Orígenes de etiquetas No

Nota:

Azure Pipelines, TFS 2017.2 y versiones más recientes: Haga clic en Configuración avanzada para ver algunas de las opciones siguientes.

Nombre del repositorio

Ignore este cuadro de texto(TFS 2017 RTM o anterior).

Asignaciones (área de trabajo)

Incluya con un valor de tipo Asignar solo las carpetas que requiere la canalización de compilación. Si una subcarpeta de una carpeta asignada contiene archivos que la canalización de compilación no requiere, asíbúquela con un valor de tipo Desasignado.

Asegúrese de asignar todas las carpetas que contienen 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 de carpetas que no necesita. De forma predeterminada, la carpeta raíz del proyecto se asigna en el área de trabajo. Esta configuración hace 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 necesita.

Al quitar proyectos, busque las 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 coinciden con la configuración de filtro del desencadenador de CI en la pestaña Desencadenadores.

Para más información sobre cómo optimizar un área de trabajo de TFVC, consulte Optimización del área de trabajo.

Limpieza del repositorio local en el agente

Puede realizar diferentes formas de limpiar el directorio de trabajo del agente auto hospedado antes de que se ejecute una compilación.

En general, para un rendimiento más rápido de los agentes auto-hospedados, no limpie el repositorio. En este caso, para obtener el mejor rendimiento, asegúrese de que también está compilando de forma incremental deshabilitando cualquier opción Limpiar de la tarea o herramienta que usa para compilar.

Si necesita limpiar el repositorio (por ejemplo, para evitar problemas causados por archivos residuales de una compilación anterior), las opciones son las siguientes.

Nota:

La limpieza no es relevante si usa un agente hospedado por Microsoft porque obtiene un nuevo agente cada vez que lo hace.

Azure Pipelines, TFS 2018, TFS 2017.2

Si desea limpiar el repositorio, seleccione truey, a continuación, seleccione una de las siguientes opciones:

  • Orígenes:la canalización de compilación realiza una deshacer los cambios y acorte el área de trabajo actual en .

  • 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 .

  • Directorio de orígenes:elimina y vuelve a crear .

  • Todos los directorios de compilación:elimina y vuelve a crear .

TFS 2017 RTM, TFS 2015.4

Si selecciona True, la canalización de compilación realiza una deshacer los cambios y acorte el área de trabajo.

Si desea que el modificador Clean descrito anteriormente funcione de forma diferente, en la pestaña Variables, defina la variable y establezca su valor en:

  • all si desea eliminar , que es la carpeta de trabajo completa que contiene la carpeta sources, la carpeta binaries, la carpeta $(Agent.BuildDirectory) artifacts, y así sucesivamente.

  • source si desea eliminar $(Build.SourcesDirectory) .

  • binary Si desea eliminar $(Build.BinariesDirectory) .

TFS 2015 RTM

Seleccione true para eliminar la carpeta del repositorio.

Orígenes de etiquetas

Es posible que quiera etiquetar los archivos de código fuente para permitir que el equipo identifique fácilmente qué versión de cada archivo se incluye en la compilación completada. También tiene la opción de especificar si el código fuente debe etiquetarse para todas las compilaciones o solo para compilaciones correctas.

Nota:

Solo puede usar esta característica cuando el repositorio de origen de la compilación sea un repositorio GitHub o un repositorio git o TFVC del proyecto.

En el formato Etiqueta, puede usar variables predefinidas y definidas por el usuario que tengan un ámbito de "Todos". Por ejemplo:

$(Build.DefinitionName)_$(Build.DefinitionVersion)_$(Build.BuildId)_$(Build.BuildNumber)_$(My.Variable)

Las cuatro primeras variables están predefinidas. My.Variable puede definirlo en la pestaña My.Variable.

La canalización de compilación etiqueta los orígenes con una etiqueta TFVC.

Desencadenadores de CI

Seleccione Habilitar integración continua en la pestaña Desencadenadores para habilitar este desencadenador si desea que la compilación se ejecute cada vez que alguien comprueba el código.

Desencadenador de CI.

Cambios por lotes

Active esta casilla si tiene 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 creado.

Puede procesar por lotes los cambios y compilarlos juntos.

Filtros de ruta de acceso

Seleccione las rutas de control de versiones que desea incluir y excluir. En la mayoría de los casos, debe asegurarse de que estos filtros sean 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, no puede incluirla a menos que la califique en una carpeta más profunda. Por ejemplo, si excluye /tools, podría incluir /tools/trigger-runs-on-these.
  • El orden de los filtros de ruta de acceso no importa.

inserción en el repositorio validada

Puede usar el registro por puerta para protegerse frente a cambios importantes.

De forma predeterminada, se selecciona Usar asignaciones de áreas de trabajo para filtros. Las compilaciones se desencadenan cada vez que se registra un cambio en una ruta de acceso especificada en las asignaciones de origen.

De lo contrario, puede borrar esta casilla y especificar las rutas de acceso en el desencadenador.

Cómo afecta a los desarrolladores

Cuando los desarrolladores intentan realizar el registro, se les pide que compilen sus cambios.

Aviso de registro por puerta

A continuación, el sistema crea un conjunto de alaquetes y lo compila.

Para obtener más información sobre la experiencia de registro controlado, vea Check in to a folder that is controlled by a gated check-in build pipeline(Registro en una carpeta controlada por una canalización de compilación de la comprobación controlada).

Opción para ejecutar compilaciones de CI

De forma predeterminada, las compilaciones de CI no se ejecutan una vez completado el proceso de registro controlado y se han registrado los cambios.

Sin embargo, si desea que las compilaciones de CI se ejecuten después de una comprobación puertada, active la casilla Ejecutar desencadenadores de CI 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 las compilaciones de CI que se ven afectadas por la comprobación.

Algunas otras cosas que debe saber

  • Asegúrese de que las carpetas que incluye en el desencadenador también se incluyen en las asignaciones del área de trabajo.
  • Puede ejecutar compilaciones comprobadas en un agente hospedado por Microsoft o en un agente auto-hospedado.

Preguntas más frecuentes

Aparece 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 está establecido en recopilación? Los repositorios tfvc normalmente se reparten entre los proyectos de la colección. Es posible que esté leyendo o escribiendo en una carpeta a la que solo se puede acceder 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 Pipelines pestaña.

Aparece 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

  • Esto suele ser un error intermitente causado cuando el servicio está experimentando problemas técnicos. Vuelva a ejecutar la canalización.

¿Qué es scorch?

Scorch es una herramienta de energía TFVC que garantiza el control de código fuente en el servidor y el disco local son idénticos. Vea Microsoft Visual Studio Team Foundation Server 2015 Power Tools.