Acerca de la personalización del entorno de desarrollo agente en la nube de Copilot
Mientras trabaja en una tarea, Copilot tiene acceso a su propio entorno de desarrollo temporal, impulsado por tecnología de GitHub Actions, donde puede explorar su código, realizar cambios, ejecutar pruebas automatizadas y linters, etc.
Puede personalizar Copilotel entorno de desarrollo con un Copilot archivo de pasos de configuración. Puede usar un Copilot archivo de pasos de instalación para:
- Preinstalar herramientas o dependencias en el entorno de Copilot.
- Actualice de ejecutores estándar hospedados en GitHubGitHub Actions a ejecutores más grandes
- Ejecutar en GitHub Actions ejecutores autohospedados
- Proporcionar Copilot un entorno de desarrollo de Windows, en lugar del entorno predeterminado de Ubuntu Linux
- Habilitación del almacenamiento de archivos grandes (LFS) de Git
Además, puede:
- Configura variables de entorno en el entorno de Copilot
- Deshabilitar o personalizar el firewall del agente.
Nota:
Los propietarios de la organización pueden configurar el tipo de ejecutor predeterminado para agente en la nube de Copilot en todos los repositorios de su organización y elegir si los repositorios pueden invalidar este valor predeterminado. Para obtener más información, vea Configuración de ejecutores para el agente en la nube de GitHub Copilot en su organización.
Personalización del entorno de desarrollo de Copilot con los pasos de configuración de Copilot
Puede personalizar Copilot el entorno creando un archivo de flujo de trabajo especial GitHub Actions, ubicado en .github/workflows/copilot-setup-steps.yml dentro de su repositorio.
Un copilot-setup-steps.yml archivo tiene un aspecto similar a un archivo de flujo de trabajo normal GitHub Actions , pero debe contener un único copilot-setup-steps trabajo. Los pasos de este trabajo se ejecutarán en GitHub Actions antes de Copilot empezar a trabajar. Para obtener más información sobre GitHub Actions los archivos de flujo de trabajo, consulte Sintaxis del flujo de trabajo para GitHub Actions.
Nota:
El flujo de trabajo copilot-setup-steps.yml no se desencadenará a menos que esté presente en la rama predeterminada.
Este es un ejemplo sencillo de un archivo copilot-setup-steps.yml para un proyecto TypeScript que clona el proyecto, instala Node.js y descarga y almacena en caché las dependencias del proyecto. Debe personalizar esto para adaptarlo a los lenguajes y dependencias de su propio proyecto.
name: "Copilot Setup Steps"
# Automatically run the setup steps when they are changed to allow for easy validation, and
# allow manual testing through the repository's "Actions" tab
on:
workflow_dispatch:
push:
paths:
- .github/workflows/copilot-setup-steps.yml
pull_request:
paths:
- .github/workflows/copilot-setup-steps.yml
jobs:
# The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot.
copilot-setup-steps:
runs-on: ubuntu-latest
# Set the permissions to the lowest permissions possible needed for your steps.
# Copilot will be given its own token for its operations.
permissions:
# If you want to clone the repository as part of your setup steps, for example to install dependencies, you'll need the `contents: read` permission.
# If you don't clone the repository in your setup steps, Copilot will do this for you automatically after the steps complete.
contents: read
# You can define any steps you want, and they will run before the agent starts.
# If you do not check out your code, Copilot will do this for you.
steps:
# ...
name: "Copilot Setup Steps"
# Automatically run the setup steps when they are changed to allow for easy validation, and
# allow manual testing through the repository's "Actions" tab
on:
workflow_dispatch:
push:
paths:
- .github/workflows/copilot-setup-steps.yml
pull_request:
paths:
- .github/workflows/copilot-setup-steps.yml
jobs:
# The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot.
copilot-setup-steps:
runs-on: ubuntu-latest
# Set the permissions to the lowest permissions possible needed for your steps.
# Copilot will be given its own token for its operations.
permissions:
# If you want to clone the repository as part of your setup steps, for example to install dependencies, you'll need the `contents: read` permission.
# If you don't clone the repository in your setup steps, Copilot will do this for you automatically after the steps complete.
contents: read
# You can define any steps you want, and they will run before the agent starts.
# If you do not check out your code, Copilot will do this for you.
steps:
# ...
En el archivo copilot-setup-steps.yml, solo puedes personalizar los valores siguientes del trabajo copilot-setup-steps. Si intentas personalizar otros valores, los cambios se omitirán.
steps(consulte más arriba)permissions(consulte más arriba)runs-on(consulte a continuación)servicessnapshottimeout-minutes(valor máximo:59)
Para obtener más información sobre estas opciones, vea Sintaxis del flujo de trabajo para GitHub Actions.
Cualquier valor establecido para la opción fetch-depth de la acción actions/checkout se invalidará para permitir que el agente revierta las confirmaciones a petición, a la vez que se mitigan los riesgos de seguridad. Para obtener más información, vea actions/checkout/README.md.
El copilot-setup-steps.yml archivo se ejecutará automáticamente como un flujo de trabajo normal GitHub Actions cuando se realicen cambios, por lo que puede ver si se ejecuta correctamente. Esto se mostrará junto con otras comprobaciones en una solicitud de incorporación de cambios en las que cree o modifiques el archivo.
Una vez que hayas combinado el archivo yml en la rama predeterminada, puedes ejecutar manualmente el flujo de trabajo desde la pestaña Acciones del repositorio en cualquier momento para comprobar que todo funciona según lo previsto. Para obtener más información, vea Ejecutar un flujo de trabajo manualmente.
Cuando Copilot se inicia el trabajo, se ejecutarán los pasos de instalación y las actualizaciones se mostrarán en los registros de sesión. Consulte Seguimiento de las sesiones de GitHub Copilot.
Si se produce un error en cualquier paso de instalación devolviendo un código de salida distinto de cero, Copilot omitirá los pasos de instalación restantes y comenzará a trabajar con el estado actual de su entorno de desarrollo.
Preinstalar herramientas o dependencias en el entorno de Copilot
En su entorno de desarrollo efímero, Copilot puede crear o compilar su proyecto y ejecutar pruebas automatizadas, herramientas de linters y otras utilidades. Para hacer esto, deberá instalar las dependencias de su proyecto.
Copilot puede detectar e instalar estas dependencias a través de un proceso de prueba y error, pero esto puede ser lento y poco confiable, dada la naturaleza no determinista de los modelos de lenguaje grandes (LLM) y, en algunos casos, puede que no pueda descargar estas dependencias, por ejemplo, si son privadas.
Puede usar un archivo de pasos de instalación de Copilot para instalar de forma determinista herramientas o dependencias antes de que Copilot inicie el trabajo. Para hacerlo, agregue steps al trabajo copilot-setup-steps:
# ...
jobs:
copilot-setup-steps:
# ...
# You can define any steps you want, and they will run before the agent starts.
# If you do not check out your code, Copilot will do this for you.
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
- name: Install JavaScript dependencies
run: npm ci
Actualización a ejecutores hospedados de mayor tamaño GitHubGitHub Actions
De forma predeterminada, Copilot funciona en un ejecutor estándar GitHub Actions . Puede actualizar a ejecutores más grandes para mejorar el rendimiento (CPU y memoria), más espacio en disco y características avanzadas, como las redes privadas de Azure. Para obtener más información, vea Ejecutores más grandes.
-
Configure agentes de mayor tamaño para su organización. Para obtener más información, vea Administración de ejecutores más grandes.
-
Si usa ejecutores más grandes con redes privadas de Azure, configure la red privada de Azure para permitir el acceso saliente a los hosts necesarios para agente en la nube de Copilot:
uploads.github.comuser-images.githubusercontent.comapi.individual.githubcopilot.com(si espera que Copilot Pro o Copilot Pro+ los usuarios usen agente en la nube de Copilot en su repositorio)api.business.githubcopilot.com(si espera que Copilot Business los usuarios usen agente en la nube de Copilot en su repositorio)api.enterprise.githubcopilot.com(si espera que los usuarios de Copilot Enterprise usen agente en la nube de Copilot en su repositorio)- Si usa el OpenAI Codex agente de terceros (para obtener más información, consulte Acerca de los agentes de terceros):
npmjs.orgnpmjs.comregistry.npmjs.comregistry.npmjs.orgskimdb.npmjs.com
-
Use un
copilot-setup-steps.ymlarchivo en el repositorio para configurar agente en la nube de Copilot para que se ejecute en los ejecutores elegidos. Establezca elruns-onpaso delcopilot-setup-stepstrabajo en la etiqueta y/o el grupo para los procesos más grandes que desea Copilot usar. Para más información sobre la especificación de corredores más grandes conruns-on, consulte Ejecución de trabajos en ejecutores más grandes.# ... jobs: copilot-setup-steps: runs-on: ubuntu-4-core # ...
Nota:
* agente en la nube de Copilot solo es compatible con los ejecutores de Ubuntu x64 Linux y Windows de 64 bits. No se admiten ejecutores con macOS u otros sistemas operativos.
Uso de ejecutores autohospedados GitHub Actions
Puede ejecutarse agente en la nube de Copilot en ejecutores autohospedados. Puede que quiera hacerlo para que coincida con la forma en que ejecuta flujos de trabajo de CI/CD en GitHub Actions, o para conceder Copilot acceso a los recursos internos de su red.
Se recomienda usar agente en la nube de Copilot solo con ejecutores efímeros y de un solo uso que no se reutilizan para múltiples trabajos. La mayoría de los clientes lo configuran mediante ARC (Actions Runner Controller) o el Runner Scale Set Client del GitHub Actions. Para obtener más información, vea Referencia de ejecutores autohospedados.
Nota:
agente en la nube de Copilot solo es compatible con los ejecutores de Ubuntu x64 y Windows 64 bits. No se admiten ejecutores con macOS u otros sistemas operativos.
-
Configure los controles de seguridad de red para GitHub Actions los ejecutores para asegurarse de que agente en la nube de Copilot no tiene acceso abierto a la red o a la red pública de Internet.
Debe configurar el firewall para permitir las conexiones a los hosts estándar necesarios para GitHub Actions los ejecutores autohospedados, además de los siguientes hosts:
uploads.github.comuser-images.githubusercontent.comapi.individual.githubcopilot.com(si espera que Copilot Pro o Copilot Pro+ los usuarios usen agente en la nube de Copilot en su repositorio)api.business.githubcopilot.com(si espera que Copilot Business los usuarios usen agente en la nube de Copilot en su repositorio)api.enterprise.githubcopilot.com(si espera que los usuarios de Copilot Enterprise usen agente en la nube de Copilot en su repositorio)- Si usa el OpenAI Codex agente de terceros (para obtener más información, consulte Acerca de los agentes de terceros):
npmjs.orgnpmjs.comregistry.npmjs.comregistry.npmjs.orgskimdb.npmjs.com
-
Deshabilite el firewall integrado de agente en la nube de Copilot en la configuración del repositorio. El firewall no es compatible con los ejecutores autohospedados. A menos que se deshabilite, se bloqueará el uso de agente en la nube de Copilot . Para obtener más información, vea Personalización o deshabilitación del firewall para el agente en la nube de GitHub Copilot.
-
En el archivo
copilot-setup-steps.yml, establezca el atributoruns-onal nombre del conjunto de escalado administrado por ARC.# ... jobs: copilot-setup-steps: runs-on: arc-scale-set-name # ... -
Si desea configurar un servidor proxy para agente en la nube de Copilotlas conexiones a Internet, configure las siguientes variables de entorno según corresponda:
Variable Description Example https_proxyDirección URL del proxy para el tráfico HTTPS. Si es necesario, puede incluir la autenticación básica. http://proxy.localhttp://192.168.1.1:8080http://username:password@proxy.localhttp_proxyDirección URL del proxy para el tráfico HTTP. Si es necesario, puede incluir la autenticación básica. http://proxy.localhttp://192.168.1.1:8080http://username:password@proxy.localno_proxyLista separada por comas de hosts o direcciones IP que deben omitir el proxy. Algunos clientes solo respetan las direcciones IP cuando se realizan conexiones directamente a la dirección IP en lugar de un nombre de host. example.comexample.com,myserver.local:443,example.org| `ssl_cert_file` | Ruta de acceso al certificado SSL presentado por el servidor proxy. Tendrá que configurarlo si el proxy intercepta las conexiones SSL. | `/path/to/key.pem` |
| node_extra_ca_certs | Ruta de acceso al certificado SSL presentado por el servidor proxy. Tendrá que configurarlo si el proxy intercepta las conexiones SSL. | /path/to/key.pem |
Puede establecer estas variables de entorno siguiendo las [instrucciones siguientes](#setting-environment-variables-in-copilots-environment) o estableciendolas en el ejecutor directamente, por ejemplo con una imagen de ejecutor personalizada. Para obtener más información sobre cómo crear una imagen personalizada, consulte [AUTOTITLE](/actions/concepts/runners/actions-runner-controller#creating-your-own-runner-image).
Cambiar Copilot a un entorno de desarrollo de Windows
De forma predeterminada, Copilot usa un entorno de desarrollo basado en Linux de Ubuntu.
Es posible que quiera usar un entorno de desarrollo de Windows si va a compilar software para Windows o el repositorio usa una cadena de herramientas basada en Windows, por lo que Copilot puede compilar el proyecto, ejecutar pruebas y validar su trabajo.
agente en la nube de Copilot El firewall integrado no es compatible con Windows, por lo que recomendamos que solo use ejecutores autohospedados o ejecutores GitHub hospedados de mayor tamaño con redes privadas de Azure, donde puede implementar sus propios controles de red. Para más información sobre los ejecutores con redes privadas de Azure, consulte [AUTOTITLE](/admin/configuring-settings/configuring-private-networking-for-hosted-compute-products/about-azure-private-networking-for-github-hosted-runners-in-your-enterprise).
Para usar Windows con los ejecutores autohospedados, siga las instrucciones de la sección Uso de ejecutores autohospedadosGitHub Actions anterior, utilizando la etiqueta para sus ejecutores de Windows. Para usar Windows con ejecutores más grandes hospedados GitHub, siga las instrucciones de la sección Actualización a ejecutores más grandes anterior, usando la etiqueta adecuada para sus ejecutores de Windows.
Habilitación del almacenamiento de archivos grandes de Git (LFS)
Si usa Git Large File Storage (LFS) para almacenar archivos grandes en el repositorio, deberá personalizar Copilotel entorno para instalar Git LFS y capturar objetos LFS.
Para habilitar Git LFS, agregue un paso actions/checkout al trabajo copilot-setup-steps con la opción lfs establecida en true.
# ...
jobs:
copilot-setup-steps:
runs-on: ubuntu-latest
permissions:
contents: read # for actions/checkout
steps:
- uses: actions/checkout@v6
with:
lfs: true
# ...
jobs:
copilot-setup-steps:
runs-on: ubuntu-latest
permissions:
contents: read # for actions/checkout
steps:
- uses: actions/checkout@v6
with:
lfs: true
Establecimiento de variables de entorno en el entorno de Copilot
Es posible que desee establecer variables de entorno en Copilotel entorno para configurar o autenticar herramientas o dependencias a las que tiene acceso.
Puede que desee establecer una variable de entorno para Copilot, crear una variable o un GitHub Actions secreto en el copilot entorno. Si el valor contiene información confidencial, por ejemplo, una contraseña o una clave de API, es mejor usar un GitHub Actions secreto.
-
En GitHub, navegue hasta la página principal del repositorio.
-
Debajo del nombre del repositorio, haz clic en Settings. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.

-
En la barra lateral de la izquierda, haz clic en Entornos.
-
Haz clic en el entorno
copilot. -
Para agregar un secreto, en "Environment secrets", haz clic en Add environment secret. Para agregar una variable, en "Environment variables", haz clic en Add environment variable.
-
Rellena los campos "Name" y "Value" y, después, haz clic en Add secret o Add variable, según corresponda.