Agentes de macOS autohospedados
Azure DevOps Services | Azure DevOps Server 2022: Azure DevOps Server 2019
En este artículo se proporcionan instrucciones para usar el software de agente de 3.x con Azure DevOps Services y las versiones actuales de Azure DevOps Server. Para obtener una lista de las versiones de Azure DevOps Server que admiten el agente 3.x, consulte ¿Admite Azure DevOps Server el agente 3.x.
Para compilar e implementar aplicaciones de Xcode, necesita al menos un agente de macOS. Este agente también puede compilar e implementar aplicaciones de Java y Android.
Nota
En este artículo se describe cómo configurar un agente autohospedado . Si usa Azure DevOps Services y un agente hospedado por Microsoft satisface sus necesidades, puede omitir la configuración de un agente macOS autohospedado.
Más información sobre los agentes
Si ya sabe qué es un agente y cómo funciona, no dude en ir directamente a las secciones siguientes. Pero si desea obtener más información sobre lo que hacen y cómo funcionan, consulte agentes de Azure Pipelines.
Comprobación de los requisitos previos
- Sistemas operativos compatibles
- x64
- macOS 10.15 "Catalina"
- macOS 11.0 "Big Sur"
- macOS 12.0 "Monterey"
- macOS 13.0 "Ventura"
- macOS 14.0 "Sonoma"
- ARM64
- macOS 11.0 "Big Sur"
- macOS 12.0 "Monterey"
- macOS 13.0 "Ventura"
- macOS 14.0 "Sonoma"
- x64
- Git: Git 2.9.0 o posterior (se recomienda la versión más reciente, puede instalar fácilmente con Homebrew)
- .NET: el software del agente se ejecuta en .NET 6, pero instala su propia versión de .NET, por lo que no hay ningún requisito previo de .NET.
- TFVC - Si va a compilar a partir de un repositorio de TFVC, consulte Requisitos previos de TFVC.
Preparación de los permisos
Si va a compilar desde un repositorio de Subversion, debe instalar el cliente de Subversion en el equipo.
La primera vez, debe ejecutar la instalación del agente manualmente. Después de hacerse una idea de cómo funcionan los agentes o si desea automatizar la configuración de muchos agentes, considere la posibilidad de usar la configuración desatendida.
Seguridad de la información para agentes autohospedados
El usuario que configura el agente necesita permisos de administrador del grupo, pero el usuario que ejecuta el agente no lo hace.
Las carpetas controladas por el agente deben estar restringidas a los pocos usuarios como sea posible, ya que contienen secretos que se pueden descifrar o filtrar.
El agente de Azure Pipelines es un producto de software diseñado para ejecutar código que descarga de orígenes externos. De forma inherente, podría ser un destino para ataques de ejecución remota de código (RCE).
Por lo tanto, es importante tener en cuenta el modelo de amenazas que rodea a cada uso individual de los agentes de canalizaciones para realizar el trabajo y decidir cuáles son los permisos mínimos que se pueden conceder al usuario que ejecuta el agente, al equipo donde se ejecuta el agente, a los usuarios que tienen acceso de escritura a la definición de canalización, los repositorios de Git donde se almacena el yaml, o el grupo de usuarios que controlan el acceso al grupo para las nuevas canalizaciones.
Es un procedimiento recomendado hacer que la identidad que ejecute el agente sea diferente de la identidad con permisos para conectar el agente al grupo. El usuario que genera las credenciales (y otros archivos relacionados con el agente) es diferente del usuario que necesita leerlas. Por lo tanto, es más seguro considerar cuidadosamente el acceso concedido al propio equipo del agente y las carpetas del agente que contienen archivos confidenciales, como registros y artefactos.
Tiene sentido conceder acceso a la carpeta del agente solo para los administradores de DevOps y la identidad de usuario que ejecuta el proceso del agente. Es posible que los administradores necesiten investigar el sistema de archivos para comprender los errores de compilación o obtener archivos de registro para poder notificar errores de Azure DevOps.
Decidir qué usuario va a usar
Debe registrar el agente una vez. Alguien con permiso para administrar la cola del agente debe completar estos pasos. El agente no usará las credenciales de esta persona en el funcionamiento diario, pero es necesario completar el registro. Más información sobre cómo se comunican los agentes.
Confirmación de que el usuario tiene permiso
Asegúrese de que la cuenta de usuario que va a usar tiene permiso para registrar el agente.
¿Es el usuario propietario de una organización de Azure DevOps o administrador de TFS o Azure DevOps Server? Detente aquí, tienes permiso.
De lo contrario:
Abra un navegador y vaya a la pestaña Grupos de agentes para la organización de Azure Pipelines, Azure DevOps Server o el servidor TFS.
Inicia sesión en tu organización (
https://dev.azure.com/{yourorganization}
).Elija Azure DevOps, Configuración de la organización.
Seleccione Grupos de agentes.
Iniciar sesión en su colección de proyectos (
http://your-server/DefaultCollection
).Seleccione Azure DevOps, Configuración de colección.
Seleccione Grupos de agentes.
Seleccione Azure DevOps, Configuración de colección.
Seleccione Grupos de agentes.
Seleccione el grupo en el lado derecho de la página y haga clic en Seguridad.
Si no se muestra la cuenta de usuario que va a usar, obtenga un administrador para agregarla. El administrador puede ser un administrador del grupo de agentes, un
propietario de la organización de Azure DevOps o unadministrador de TFS o Azure DevOps Server. Si se trata de un agente del grupo de implementación , el administrador puede ser un administrador del grupo de implementación, un propietario de la organización de Azure DevOpso un administrador de TFS o Azure DevOps Server .
Puede agregar un usuario al rol de administrador del grupo de implementación en la pestaña Seguridad en la página Grupos de implementación en Azure Pipelines.
Nota
Si ve un mensaje similar al siguiente: lo sentimos, no se pudo agregar la identidad. Pruebe una identidad diferente., probablemente ha seguido los pasos anteriores para un propietario de la organización o un administrador de TFS o Azure DevOps Server. No necesitas hacer nada; Ya tiene permiso para administrar el grupo de agentes.
Descarga y configuración del agente
Azure Pipelines
Inicie sesión en la máquina con la cuenta para la que ha preparado los permisos, tal como se explica en la sección anterior.
En el explorador web, inicie sesión en Azure Pipelines y vaya a la pestaña Grupos de agentes:
Inicie sesión en su organización (
https://dev.azure.com/{yourorganization}
).Elija Azure DevOps, Configuración de la organización.
Seleccione Grupos de agentes.
Inicie sesión en la colección de proyectos (
http://your-server/DefaultCollection
).Seleccione Azure DevOps, Configuración de colección.
Seleccione Grupos de agentes.
Seleccione Azure DevOps, Configuración de colección.
Seleccione Grupos de agentes.
Seleccione el grupo Predeterminado y la pestaña Agentes, y elija Nuevo agente.
En el cuadro de diálogo Obtener el agente, haga clic en macOS.
Haga clic en el botón Descargar.
Siga las instrucciones de la página.
Borre el atributo extendido en el archivo tar:
xattr -c vsts-agent-osx-x64-V.v.v.tar.gz
.Desempaquete el agente en el directorio que prefiera.
cd
a ese directorio y ejecute./config.sh
. Asegúrese de que la ruta de acceso al directorio no contiene espacios porque las herramientas y los scripts no siempre escapan correctamente de los espacios.
Dirección URL del servidor
Azure Pipelines: https://dev.azure.com/{your-organization}
Azure DevOps Server: https://{your_server}/tfs
Tipo de autenticación
Al registrar un agente, elija entre los siguientes tipos de autenticación y la configuración del agente le pedirá la información adicional específica necesaria para cada tipo de autenticación. Para obtener más información, consulte Opciones de autenticación del agente autohospedado.
- Token de acceso personal
- Alternar Conéctese a Azure DevOps Server o TFS utilizando la autenticación Básica. Al seleccionar alternativa se le pedirán sus credenciales.
Ejecución de forma interactiva
Para obtener instrucciones sobre si ejecutar el agente en modo interactivo o como servicio, consulte Agents: Interactive vs. service.
Para ejecutar el agente de forma interactiva:
Si ha estado ejecutando el agente como servicio, desinstale el servicio.
Ejecute el agente.
./run.sh
Para reiniciar el agente, presione Ctrl+C y, a continuación, ejecute run.sh
para reiniciarlo.
Para usar el agente, ejecute un trabajo mediante el grupo del agente. Si no ha elegido un grupo diferente, el agente se coloca en el grupo Predeterminado.
Una ejecución
Para los agentes configurados para que se ejecuten de forma interactiva, puede elegir que el agente acepte solo un trabajo. Para ejecutarse en esta configuración:
./run.sh --once
Los agentes de este modo solo aceptan un trabajo y se retiran fácilmente (útiles para la ejecución en servicios como Azure Container Instances).
Ejecución como servicio launchd
Proporcionamos el script ./svc.sh
para que puedas ejecutar y gestionar tu agente como un servicio de LaunchAgent launchd
. Este script se genera después de configurar el agente. El servicio tiene acceso a la interfaz de usuario para ejecutar las pruebas de IU.
Nota
Si prefiere otros enfoques, puede usar cualquier tipo de mecanismo de servicio que prefiera. Consulte Archivos de servicio.
Tokens
En la sección siguiente, estos tokens se reemplazan:
{agent-name}
{tfs-name}
Por ejemplo, ha configurado un agente (como se muestra en el ejemplo anterior) con el nombre our-osx-agent
. En los ejemplos siguientes, {tfs-name}
es alguno de los siguientes:
Azure Pipelines: el nombre de tu organización. Por ejemplo, si se conecta a
https://dev.azure.com/fabrikam
, el nombre del servicio seríavsts.agent.fabrikam.our-osx-agent
TFS: el nombre del servidor TFS AT local. Por ejemplo, si se conecta a
http://our-server:8080/tfs
, el nombre del servicio seríavsts.agent.our-server.our-osx-agent
Comandos
Cambiar al directorio del agente
Por ejemplo, si realizó la instalación en la subcarpeta myagent
del directorio principal:
cd ~/myagent$
Instalar
Comando:
./svc.sh install
Este comando crea un launchd
plist que apunta a ./runsvc.sh
. Este script configura el entorno (más detalles en la sección siguiente) e inicia el host del agente.
Start
Comando:
./svc.sh start
Salida:
starting vsts.agent.{tfs-name}.{agent-name}
status vsts.agent.{tfs-name}.{agent-name}:
/Users/{your-name}/Library/LaunchAgents/vsts.agent.{tfs-name}.{agent-name}.plist
Started:
13472 0 vsts.agent.{tfs-name}.{agent-name}
El número izquierdo es el pid si el servicio se está ejecutando. Si el segundo número no es cero, se produjo un problema.
Estado
Comando:
./svc.sh status
Salida:
status vsts.agent.{tfs-name}.{agent-name}:
/Users/{your-name}/Library/LaunchAgents/vsts.{tfs-name}.{agent-name}.testsvc.plist
Started:
13472 0 vsts.agent.{tfs-name}.{agent-name}
El número izquierdo es el pid si el servicio se está ejecutando. Si el segundo número no es cero, se produjo un problema.
Parar
Comando:
./svc.sh stop
Salida:
stopping vsts.agent.{tfs-name}.{agent-name}
status vsts.agent.{tfs-name}.{agent-name}:
/Users/{your-name}/Library/LaunchAgents/vsts.{tfs-name}.{agent-name}.testsvc.plist
Stopped
Desinstalar
Usted debería detenerse antes de desinstalar.
Comando:
./svc.sh uninstall
Inicio de sesión y bloqueo automáticos
Normalmente, el servicio del agente solo se ejecuta después de que el usuario inicie sesión. Si desea que el servicio del agente se inicie automáticamente cuando se reinicie la máquina, puede configurar la máquina para que inicie sesión automáticamente y se bloquee al iniciar. Consulte Establecer el equipo Mac para iniciar sesión automáticamente durante el inicio: soporte técnico de Apple.
Nota
Para obtener más información, consulte el blog Terminally Geeky: uso del inicio de sesión automático de forma más segura. Es posible que el archivo .plist mencionado en ese blog ya no esté disponible en el origen, pero aquí se encuentra una copia: Lifehacker: carga del escritorio por parte de OS X antes del inicio de sesión.
Actualizar variables de entorno
Al configurar el servicio, se toma una instantánea de algunas variables de entorno útiles para el usuario de inicio de sesión actual, como PATH, LANG, JAVA_HOME, ANT_HOME y MYSQL_PATH. Si necesita actualizar las variables (por ejemplo, después de instalar algún software nuevo):
./env.sh
./svc.sh stop
./svc.sh start
La instantánea de las variables de entorno se almacena en .env
archivo en el directorio raíz del agente, también puede cambiar ese archivo directamente para aplicar cambios en las variables de entorno.
Ejecución de instrucciones antes de que se inicie el servicio
También puede ejecutar sus propias instrucciones y comandos para ejecutar cuando se inicia el servicio. Por ejemplo, podría configurar el entorno o ejecutar scripts.
Edite
runsvc.sh
.Reemplace la siguiente línea por las instrucciones:
# insert anything to setup env when running as a service
Archivos de servicio
Al instalar el servicio, se colocan algunos archivos de servicio.
Archivo de servicio .plist
Se crea un archivo de servicio .plist:
~/Library/LaunchAgents/vsts.agent.{tfs-name}.{agent-name}.plist
Por ejemplo:
~/Library/LaunchAgents/vsts.agent.fabrikam.our-osx-agent.plist
./svc.sh install
genera este archivo a partir de esta plantilla: ./bin/vsts.agent.plist.template
Archivo .service
./svc.sh start
encuentra el servicio leyendo el archivo .service
, que contiene la ruta de acceso al archivo de servicio plist descrito anteriormente.
Mecanismos de servicio alternativos
Proporcionamos el script de ./svc.sh
como una manera cómoda para que ejecutes y administres tu agente como un servicio LaunchAgent de launchd
. Pero puede usar cualquier tipo de mecanismo de servicio que prefiera.
Puede usar la plantilla descrita anteriormente como para facilitar la generación de otros tipos de archivos de servicio. Por ejemplo, modifique la plantilla para generar un servicio que se ejecute como demonio de inicio si no necesita probar la interfaz de usuario y no desea configurar el inicio de sesión y el bloqueo automáticos. Consulte Biblioteca para desarrolladores de Apple: Creación de demonios y agentes de inicio.
Reemplazar un agente
Para reemplazar un agente, siga los pasos de Descarga y configuración del agente de nuevo.
Al configurar un agente con el mismo nombre que un agente que ya existe, se le pregunta si desea reemplazar el agente existente. Si responde Y
, asegúrese de quitar el agente (consulte a continuación) que va a reemplazar. De lo contrario, después de unos minutos de conflictos, uno de los agentes se apagará.
Quitar y volver a configurar un agente
Para eliminar el agente:
Detenga y desinstale el servicio como se explica en la sección anterior.
Elimine el agente.
./config.sh remove
Escriba sus credenciales.
Después de quitar el agente, puede volver a configurarlo.
Configuración desatendida
El agente se puede configurar desde un script sin intervención humana.
Debe pasar --unattended
y las respuestas a todas las preguntas.
Para configurar un agente, debe conocer la URL de su organización o colección y las credenciales de una persona autorizada para configurar agentes.
Todas las demás respuestas son opcionales.
En su lugar, se puede especificar cualquier parámetro de línea de comandos mediante una variable de entorno: coloque su nombre en mayúsculas y anteponga VSTS_AGENT_INPUT_
.
Por ejemplo, VSTS_AGENT_INPUT_PASSWORD
en lugar de especificar --password
.
Opciones necesarias
--unattended
: la configuración del agente no solicitará información y se deben proporcionar todas las opciones en la línea de comandos.--url <url>
: dirección URL del servidor. Por ejemplo: https://dev.azure.com/myorganization o http://my-azure-devops-server:8080/tfs--auth <type>
: tipo de autenticación. Los valores válidos son:pat
(token de acceso personal): PAT es el único esquema que funciona con Azure DevOps Services.alt
(autenticación básica)
Opciones de autenticación
- Si eligió
--auth pat
:--token <token>
: especifica el token de acceso personal.- PAT es el único esquema que funciona con Azure DevOps Services.
- Si eligió
--auth negotiate
o--auth alt
:--userName <userName>
: especifica un nombre de usuario--password <password>
: especifica una contraseña
Nombres de grupo y agente
--pool <pool>
: nombre del grupo al que el agente se debe unir--agent <agent>
: nombre del agente-
--replace
- Reemplace el agente en un grupo. Si otro agente está escuchando por el mismo nombre, comenzará a generar un error de conflicto.
Configuración del agente
--work <workDirectory>
: directorio de trabajo donde se almacenan los datos del trabajo. El valor predeterminado es_work
en la raíz del directorio del agente. El directorio de trabajo es propiedad de un agente determinado y no debe compartirse entre varios agentes.--acceptTeeEula
: acepte el Contrato de licencia de usuario final de Team Explorer Everywhere (solo macOS y Linux)--disableloguploads
: no transmita ni envíe la salida del registro de consola al servidor. En su lugar, puede recuperarlos del sistema de archivos del host del agente una vez completado el trabajo.
Grupo de implementación solamente
--deploymentGroup
: configurar el agente como agente de grupo de implementación--deploymentGroupName <name>
: se usa con--deploymentGroup
para especificar el grupo de implementación para que el agente se una--projectName <name>
: se usa con--deploymentGroup
para establecer el nombre del proyecto--addDeploymentGroupTags
: se usa con--deploymentGroup
para indicar que se deben agregar etiquetas de grupo de implementación.--deploymentGroupTags <tags>
: se usa con--addDeploymentGroupTags
para especificar la lista separada por comas de etiquetas para el agente del grupo de implementación; por ejemplo, "web, db"
Solo entornos
--addvirtualmachineresourcetags
: se usa para indicar que se deben agregar etiquetas de recursos de entorno.--virtualmachineresourcetags <tags>
: se usa con--addvirtualmachineresourcetags
para especificar la lista separada por comas de etiquetas para el agente de recursos de entorno; por ejemplo, "web, db"
./config.sh --help
siempre muestra las respuestas necesarias y opcionales más recientes.
Diagnósticos
Si tiene problemas con el agente autohospedado, puede intentar ejecutar diagnósticos. Después de configurar el agente:
./run.sh --diagnostics
El sistema ejecutará una serie de diagnósticos que pueden ayudarle a solucionar el problema. La característica de diagnóstico está disponible a partir de la versión 2.165.0 del agente.
Diagnósticos de red para agentes autohospedados
Cambie el valor de Agent.Diagnostic
a true
para recopilar registros adicionales que se pueden usar para solucionar problemas de red para agentes autohospedados. Para obtener más información, consulte Diagnósticos de red para agentes autohospedados.
Ayuda sobre otras opciones
Para obtener información sobre otras opciones:
./config.sh --help
La documentación de ayuda proporciona información sobre las alternativas de autenticación y la configuración desatendida.
Capacidades
Las funcionalidades del agente se catalogan y anuncian en el grupo para que solo se asignen las compilaciones y versiones que pueda controlar. Consulte Funcionalidades del agente de compilación y versión.
En muchos casos, después de implementar un agente, deberá instalar software o utilidades. Por lo general, debe instalar en sus agentes el mismo software y las herramientas que utiliza en su máquina de desarrollo.
Por ejemplo, si la compilación incluye la tarea npmde
Importante
Las funcionalidades incluyen todas las variables de entorno y los valores que se establecen cuando se ejecuta el agente. Si alguno de estos valores cambia durante la ejecución del agente, este último debe reiniciarse para recoger los nuevos valores. Después de instalar nuevo software en un agente, debe reiniciar el agente para que la nueva funcionalidad se muestre en el grupo, de modo que la compilación se pueda ejecutar.
Si desea excluir variables de entorno como funcionalidades, puede designarlas estableciendo una variable de entorno VSO_AGENT_IGNORE
con una lista delimitada por comas de variables que se omitirán.
Preguntas más frecuentes
¿Cómo se garantiza la versión más reciente del agente?
Vaya a la pestaña Grupos de agentes:
Inicie sesión en su organización (
https://dev.azure.com/{yourorganization}
).Elija Azure DevOps, Configuración de la organización.
Seleccione Grupos de agentes.
Acceda a la colección de proyectos (
http://your-server/DefaultCollection
).Seleccione Azure DevOps, Configuración de colección.
Seleccione Grupos de agentes.
Seleccione Azure DevOps, Configuración de colección.
Seleccione Grupos de agentes.
Haga clic en el grupo que contiene el agente.
Asegúrese de que el agente está habilitado.
Vaya a la pestaña funcionalidades:
En la pestaña Grupos de agentes, seleccione el grupo de agentes deseado.
Seleccione Agentes y elija el agente deseado.
Selecciona la pestaña Funcionalidades.
Nota
Los agentes hospedados por Microsoft no muestran las funcionalidades del sistema. Para obtener una lista de software instalado en agentes hospedados por Microsoft, consulte Usar un agente hospedado por Microsoft.
En la pestaña Grupos de agentes, seleccione el grupo deseado.
Seleccione Agentes y elija el agente deseado.
Selecciona la pestaña Funcionalidades.
En la pestaña Grupos de agentes, seleccione el grupo deseado.
Seleccione Agentes y elija el agente deseado.
Selecciona la pestaña Funcionalidades.
Busque la funcionalidad
Agent.Version
. Puede comprobar este valor en la versión más reciente del agente publicado. Consulte Agente de Azure Pipelines y compruebe en la página el máximo número de versión enumerado.Cada agente se actualiza automáticamente cuando ejecuta una tarea que requiere una versión más reciente del agente. Si desea actualizar manualmente algunos agentes, haga clic con el botón derecho en el grupo y seleccione Actualizar todos los agentes.
¿Puedo actualizar mis agentes que forman parte de un grupo de Servidores de Azure DevOps?
Sí. A partir de Azure DevOps Server 2019, puede configurar el servidor para buscar los archivos de paquete del agente en un disco local. Esta configuración invalidará la versión predeterminada que se incluye con el servidor en el momento de su lanzamiento. Este escenario también se aplica cuando el servidor no tiene acceso a Internet.
Desde un equipo con acceso a Internet, descargue la versión más reciente de los archivos de paquete del agente (en formato .zip o .tar.gz) desde la página Versiones de GitHub del agente de Azure Pipelines.
Transfiera los archivos de paquete descargados a cada nivel de aplicación del servidor de Azure DevOps mediante un método de su elección (como la unidad USB, la transferencia de red, etc.). Coloque los archivos del agente en la carpeta siguiente:
- Windows:
%ProgramData%\Microsoft\Azure DevOps\Agents
- Linux:
usr/share/Microsoft/Azure DevOps/Agents
- macOS:
usr/share/Microsoft/Azure DevOps/Agents
Cree la carpeta Agentes si no está presente.
- ¡Todos están listos! Azure DevOps Server usará ahora los archivos locales cada vez que se actualicen los agentes. Cada agente se actualiza automáticamente cuando ejecuta una tarea que requiere una versión más reciente del agente. Pero si desea actualizar manualmente algunos agentes, haga clic con el botón derecho en el grupo y elija Actualizar todos los agentes.
¿Cómo se garantiza la versión más reciente del agente?
Vaya a la pestaña Grupos de agentes:
Inicie sesión en su organización (
https://dev.azure.com/{yourorganization}
).Elija Azure DevOps, Configuración de la organización.
Seleccione Grupos de agentes.
Inicie sesión en el repositorio de proyectos (
http://your-server/DefaultCollection
).Seleccione Azure DevOps, Configuración de colección.
Seleccione Grupos de agentes.
Seleccione Azure DevOps, Configuración de colección.
Seleccione Grupos de agentes.
Haga clic en el grupo que contiene el agente.
Asegúrese de que el agente está habilitado.
Vaya a la pestaña funcionalidades:
En la pestaña grupos de agentes, seleccione el grupo de agentes deseado.
Seleccione Agentes y elija el agente deseado.
Selecciona la pestaña Funcionalidades.
Nota
Los agentes hospedados por Microsoft no muestran las funcionalidades del sistema. Para obtener una lista de software instalado en agentes hospedados por Microsoft, consulte Usar un agente hospedado por Microsoft.
En la pestaña Grupos de agentes, seleccione el grupo deseado.
Seleccione Agentes y elija el agente deseado.
Selecciona la pestaña Funcionalidades.
En la pestaña Grupos de agentes, seleccione el grupo deseado.
Seleccione Agentes y elija el agente deseado.
Selecciona la pestaña Funcionalidades.
Busque la funcionalidad
Agent.Version
. Puede comprobar este valor en la versión más reciente del agente publicado. Consulte Agente de Azure Pipelines y compruebe en la página el máximo número de versión enumerado.Cada agente se actualiza automáticamente cuando ejecuta una tarea que requiere una versión más reciente del agente. Si desea actualizar manualmente algunos agentes, haga clic con el botón derecho en el grupo y seleccione Actualizar todos los agentes.
¿Puedo actualizar mis agentes que forman parte de un grupo de Servidores de Azure DevOps?
Sí. A partir de Azure DevOps Server 2019, puede configurar el servidor para buscar los archivos de paquete del agente en un disco local. Esta configuración invalidará la versión predeterminada que se incluye con el servidor en el momento de su lanzamiento. Este escenario también se aplica cuando el servidor no tiene acceso a Internet.
Desde un equipo con acceso a Internet, descargue la versión más reciente de los archivos de paquete del agente (en formato .zip o .tar.gz) desde la página Versiones de GitHub del agente de Azure Pipelines.
Transfiera los archivos de paquete descargados a cada nivel de aplicación del servidor de Azure DevOps mediante un método de su elección (como la unidad USB, la transferencia de red, etc.). Coloque los archivos del agente en la carpeta siguiente:
- Windows:
%ProgramData%\Microsoft\Azure DevOps\Agents
- Linux:
usr/share/Microsoft/Azure DevOps/Agents
- macOS:
usr/share/Microsoft/Azure DevOps/Agents
Cree la carpeta Agentes si no está presente.
- ¡Todos están listos! Azure DevOps Server usará ahora los archivos locales cada vez que se actualicen los agentes. Cada agente se actualiza automáticamente cuando ejecuta una tarea que requiere una versión más reciente del agente. Pero si desea actualizar manualmente algunos agentes, haga clic con el botón derecho en el grupo y elija Actualizar todos los agentes.
¿Dónde puedo obtener más información sobre cómo funciona el servicio lanzado?
Biblioteca del Desarrollador de Apple: Creación de agentes y demonios de lanzamiento
Estoy ejecutando un firewall y mi código está en Azure Repos. ¿Con qué direcciones URL necesita comunicarse el agente?
Si ejecuta un agente en una red segura detrás de un firewall, asegúrese de que el agente puede iniciar la comunicación con las URL y las direcciones IP siguientes.
Dirección URL del dominio | Descripción |
---|---|
https://{organization_name}.pkgs.visualstudio.com |
API de empaquetado de Azure DevOps para organizaciones que usan el dominio de {organization_name}.visualstudio.com |
https://{organization_name}.visualstudio.com |
Para las organizaciones que usan el dominio de {organization_name}.visualstudio.com |
https://{organization_name}.vsblob.visualstudio.com |
Telemetría de Azure DevOps para organizaciones que usan el dominio de {organization_name}.visualstudio.com |
https://{organization_name}.vsrm.visualstudio.com |
Release Management Services para organizaciones que usan el dominio de {organization_name}.visualstudio.com |
https://{organization_name}.vssps.visualstudio.com |
Azure DevOps Platform Services para organizaciones que usan el dominio de {organization_name}.visualstudio.com |
https://{organization_name}.vstmr.visualstudio.com |
Azure DevOps Test Management Services para organizaciones que usan el dominio de {organization_name}.visualstudio.com |
https://*.blob.core.windows.net |
Azure Artifacts |
https://*.dev.azure.com |
Para las organizaciones que usan el dominio de dev.azure.com |
https://*.vsassets.io |
Azure Artifacts a través de CDN |
https://*.vsblob.visualstudio.com |
Telemetría de Azure DevOps para organizaciones que usan el dominio de dev.azure.com |
https://*.vssps.visualstudio.com |
Azure DevOps Platform Services para organizaciones que usan el dominio de dev.azure.com |
https://*.vstmr.visualstudio.com |
Azure DevOps Test Management Services para organizaciones que usan el dominio de dev.azure.com |
https://app.vssps.visualstudio.com |
Para las organizaciones que usan el dominio de {organization_name}.visualstudio.com |
https://dev.azure.com |
Para las organizaciones que usan el dominio de dev.azure.com |
https://login.microsoftonline.com |
inicio de sesión de Microsoft Entra |
https://management.core.windows.net |
API de administración de Azure |
https://vstsagentpackage.azureedge.net |
Paquete del agente |
Para asegurarse de que su organización funciona con cualquier firewall o restricciones de IP existentes, asegúrese de que dev.azure.com
y *dev.azure.com
están abiertos y actualizan las direcciones IP permitidas para incluir las siguientes direcciones IP, en función de la versión de IP. Si actualmente está incluyendo en la lista de permitidos las direcciones IP 13.107.6.183
y 13.107.9.183
, déjelas en su lugar, ya que no es necesario quitarlas.
Rangos IPv4
13.107.6.0/24
13.107.9.0/24
13.107.42.0/24
13.107.43.0/24
rangos de IPv6
2620:1ec:4::/48
2620:1ec:a92::/48
2620:1ec:21::/48
2620:1ec:22::/48
Nota
Para obtener más información sobre las direcciones permitidas, consulte Listas de direcciones permitidas y conexiones de red.
¿Cómo se ejecuta el agente con certificado autofirmado?
Ejecución del agente con certificado autofirmado
¿Cómo se ejecuta el agente detrás de un proxy web?
Ejecutar el agente detrás de un proxy web
¿Cómo se reinicia el agente?
Si ejecuta el agente de forma interactiva, consulte las instrucciones de reinicio en Ejecución interactiva. Si ejecuta el agente como servicio, siga los pasos de Detención para detenerlo y, después, de Inicio para iniciarlo.
¿Cómo configuro el agente para omitir un proxy web y conectarse a Azure Pipelines?
Si desea que el agente omita el proxy y conéctese directamente a Azure Pipelines, debe configurar el proxy web para permitir que el agente acceda a las siguientes direcciones URL.
Para las organizaciones que usan el dominio de *.visualstudio.com
:
https://login.microsoftonline.com
https://app.vssps.visualstudio.com
https://{organization_name}.visualstudio.com
https://{organization_name}.vsrm.visualstudio.com
https://{organization_name}.vstmr.visualstudio.com
https://{organization_name}.pkgs.visualstudio.com
https://{organization_name}.vssps.visualstudio.com
Para las organizaciones que usan el dominio de dev.azure.com
:
https://dev.azure.com
https://*.dev.azure.com
https://login.microsoftonline.com
https://management.core.windows.net
https://vstsagentpackage.azureedge.net
https://vssps.dev.azure.com
Para asegurarse de que su organización funcione con cualquier firewall o restricciones de IP existentes, asegúrese de que dev.azure.com
y *dev.azure.com
estén abiertos y actualice las direcciones IP permitidas para asegurarse de incluir las siguientes direcciones IP, según la versión de IP que esté utilizando. Si actualmente permite enumerar las direcciones IP 13.107.6.183
y 13.107.9.183
, déjelas en su lugar, ya que no es necesario quitarlas.
Rangos IPv4
13.107.6.0/24
13.107.9.0/24
13.107.42.0/24
13.107.43.0/24
Rangos IPv6
2620:1ec:4::/48
2620:1ec:a92::/48
2620:1ec:21::/48
2620:1ec:22::/48
Nota
Este procedimiento permite al agente omitir un proxy web. La canalización de compilación y los scripts deben seguir controlando el proxy web para cada tarea y herramienta que se ejecute en la compilación.
Por ejemplo, si usa una tarea de NuGet, debe configurar el proxy web para permitir omitir la dirección URL del servidor que aloja el feed de NuGet que utiliza.
Estoy usando TFS y las direcciones URL de las secciones anteriores no funcionan para mí. ¿Dónde puedo obtener ayuda?
Uso TFS local y no veo algunas de estas características. ¿Por qué no?
Algunas de estas características solo están disponibles en azure Pipelines y aún no están disponibles en el entorno local. Algunas características están disponibles en el entorno local si ha actualizado a la versión más reciente de TFS.
Requisitos previos para TFVC
Si va a usar TFVC, también necesitará Oracle Java JDK 1.6 o una versión posterior. (Oracle JRE y OpenJDK no son suficientes para este propósito).
Complemento TEE se usa para la funcionalidad de TFVC. Tiene un CLUF, que debe aceptar durante la configuración si tiene previsto trabajar con TFVC.
Puesto que el complemento TEE ya no se mantiene y contiene algunas dependencias de Java obsoletas, a partir del Agente 2.198.0 ya no se incluye en la distribución del agente. Sin embargo, el complemento TEE se descarga durante la ejecución de la tarea de restauración si está restaurando un repositorio TFVC. El complemento TEE se quita después de la ejecución del trabajo.
Nota
Nota: Es posible que observe que la tarea de restauración tarda mucho tiempo en empezar a funcionar debido a este mecanismo de descarga.
Si el agente se ejecuta detrás de un proxy o un firewall, debe aceptar para garantizar el acceso al siguiente sitio: https://vstsagenttools.blob.core.windows.net/
. El complemento TEE se descarga desde esta dirección.
Si usa un agente autohospedado y tiene problemas con la descarga de TEE, puede instalar TEE manualmente:
- Establezca el entorno
DISABLE_TEE_PLUGIN_REMOVAL
o la variable de canalización entrue
. Esta variable impide que el agente quite el complemento TEE después de la finalización de la compra del repositorio de TFVC. - Descargue TEE-CLC 14.135.0 manualmente desde las versiones de GitHub de Team Explorer Everywhere.
- Extraiga el contenido de la carpeta
TEE-CLC-14.135.0
en<agent_directory>/externals/tee
.