Ejecutar un agente autohospedado detrás de un proxy web

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Cuando el agente autohospedado requiere un proxy web, puede informar al agente sobre el proxy durante la configuración. Esto permite que el agente se conecte a Azure Pipelines o TFS a través del proxy. Esto, a su vez, permite al agente obtener orígenes y descargar artefactos. Por último, pasa los detalles del proxy a las tareas que también necesitan la configuración del proxy para llegar a la web.

Azure Pipelines, TFS 2018 RTM y versiones más recientes

(Se aplica a la versión 2.122 y posteriores del agente).

Para permitir que el agente se ejecute detrás de un proxy web, pase --proxyurl, --proxyusername y --proxypassword durante la configuración del agente.

Por ejemplo:

./config.cmd --proxyurl http://127.0.0.1:8888 --proxyusername "myuser" --proxypassword "mypass"

Almacenamos las credenciales de proxy de forma responsable en cada plataforma para evitar pérdidas accidentales. En Linux, las credenciales se cifran con una clave simétrica basada en el identificador de la máquina. En macOS usamos la cadena de claves. En Windows usamos el Almacén de credenciales.

Nota:

La versión del agente 122.0, que se incluye con TFS 2018 RTM, tiene un problema conocido al configurarlo como servicio en Windows. Dado que el Almacén de credenciales de Windows es por usuario, debe configurar el agente con el mismo usuario que el servicio se va a ejecutar. Por ejemplo, para configurar el servicio del agente como mydomain\buildadmin, debe iniciar config.cmd como mydomain\buildadmin. Para ello, inicie sesión en la máquina con ese usuario o use Run as a different user en el shell de Windows.

Cómo controla el agente el proxy dentro de un trabajo de compilación o versión

El agente hablará con el servicio Azure DevOps/TFS a través del proxy web especificado en el archivo .proxy.

Dado que el código de la tarea Get Source de las compilaciones y de la tarea Download Artifact de las versiones también se simula mediante "bake" en el agente, esas tareas seguirán la configuración del proxy del agente del archivo .proxy.

El agente expone la configuración del proxy a través de variables de entorno para cada ejecución de tareas. Los autores de las tareas deben usar métodos azure-pipelines-task-lib para recuperar la configuración del proxy y controlar el proxy dentro de su tarea.

Tenga en cuenta que muchas herramientas no usan automáticamente los valores de proxy configurados por el agente. Por ejemplo, herramientas como curl o dotnet pueden requerir variables de entorno de proxy, como http_proxy, para establecerse también en la máquina.

Especificar direcciones URL de omisión de proxy

Cree un archivo .proxybypass en el directorio raíz del agente que especifique expresiones regulares (con la sintaxis ECMAScript) para que coincidan con las direcciones URL que deben omitir el proxy. Por ejemplo:

github\.com
bitbucket\.com