À propos de la personnalisation de l’environnement de développement Agent cloud Copilot
Tout en travaillant sur une tâche, Copilot a accès à son propre environnement de développement éphémère, alimenté par GitHub Actions, où il peut explorer votre code, apporter des modifications, exécuter des tests automatisés et desinters, etc.
Vous pouvez personnaliser Copilotl’environnement de développement avec un Copilot fichier d’étapes d’installation. Vous pouvez utiliser un Copilot fichier d’étapes d’installation pour :
- Préinstaller des outils ou des dépendances dans l'environnement de Copilot
- Mettre à niveau des exécuteurs hébergés GitHub standard GitHub Actions vers des exécuteurs plus grands
- Exécuter sur GitHub Actions des exécuteurs auto-hébergés
- Donnez Copilot un environnement de développement Windows, au lieu de l’environnement Ubuntu Linux par défaut
- Activer le stockage de fichiers volumineux Git (LFS)
Par ailleurs, vous pouvez :
- Définir des variables d’environnement dans l’environnement de Copilot
- Désactiver ou personnaliser le pare-feu de l’agent
Remarque
Les propriétaires d'organisation peuvent configurer le type d'exécuteur par défaut pour Agent cloud Copilot dans tous les référentiels de leur organisation et décider si les référentiels sont autorisés à modifier cette valeur par défaut. Pour plus d’informations, consultez « Configuration des exécuteurs pour l’agent cloud GitHub Copilot dans votre organisation ».
Personnalisation de l’environnement de développement de Copilot par les étapes de configuration de Copilot.
Vous pouvez personnaliser Copilotl’environnement en créant un fichier de flux de travail spécial GitHub Actions situé dans .github/workflows/copilot-setup-steps.yml votre référentiel.
Un copilot-setup-steps.yml fichier ressemble à un fichier de flux de travail normal GitHub Actions , mais doit contenir un seul copilot-setup-steps travail. Les étapes de ce travail seront exécutées GitHub Actions avant que Copilot ne commence à fonctionner. Pour plus d’informations sur les GitHub Actions fichiers de flux de travail, consultez Syntaxe de flux de travail pour GitHub Actions.
Remarque
Le flux de travail copilot-setup-steps.yml ne se déclenchera pas s’il n’est pas présent sur votre branche par défaut.
Voici un exemple simple d'un fichier copilot-setup-steps.yml pour un project TypeScript qui clone le project, installe Node.js et télécharge et met en cache les dépendances du project. Vous devez le personnaliser pour qu'il corresponde à vos propres langages et dépendances de votre propre project :
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:
# ...
Dans votre fichier copilot-setup-steps.yml, vous pouvez uniquement personnaliser les paramètres suivants de la tâche copilot-setup-steps. Si vous essayez de personnaliser d’autres paramètres, vos modifications sont ignorées.
steps(voir ci-dessus)permissions(voir ci-dessus)runs-on(voir ci-dessous)servicessnapshottimeout-minutes(valeur maximale :59)
Pour plus d’informations sur ces options, consultez Syntaxe de flux de travail pour GitHub Actions.
Toute valeur définie pour l’option fetch-depth de l’action actions/checkout est remplacée, afin de permettre à l’agent d’annuler les validations sur demande, tout en réduisant les risques de sécurité. Pour plus d’informations, consultez actions/checkout/README.md.
Votre copilot-setup-steps.yml fichier est automatiquement exécuté en tant que flux de travail normal GitHub Actions lorsque des modifications sont apportées. Vous pouvez donc voir si elle s’exécute correctement. Cela s’affiche avec d’autres vérifications dans une demande de tirage où vous créez ou modifiez le fichier.
Après avoir fusionné le fichier yml dans votre branche par défaut, vous pouvez exécuter manuellement le flux de travail à partir de l’onglet Actions du dépôt à tout moment pour vérifier que tout fonctionne comme prévu. Pour plus d’informations, consultez « Exécution manuelle d’un workflow ».
Lorsque Copilot démarre, vos étapes d'installation se dérouleront et les mises à jour s'afficheront dans les journaux de session. Consultez « Suivi des sessions de GitHub Copilot ».
Si une étape de configuration échoue en retournant un code de sortie différent de zéro, Copilot ignore les étapes de configuration restantes et commence à utiliser l’état actuel de son environnement de développement.
Préinstallation d’outils ou de dépendances dans Copilotl’environnement
Dans son environnement de développement éphémère, Copilot peut construire ou compiler votre projet et exécuter des tests automatisés, des linters et d'autres outils. Pour cela, il faudra installer les dépendances de votre projet.
Copilot peut découvrir et installer ces dépendances elle-même via un processus d’essai et d’erreur, mais cela peut être lent et non fiable, étant donné la nature non déterministe des modèles de langage volumineux (LLMs), et dans certains cas, il peut être complètement incapable de télécharger ces dépendances, par exemple s’ils sont privés.
Vous pouvez utiliser un fichier d’étapes d’installation Copilot pour installer de manière déterministe les outils ou les dépendances avant que Copilot commence à fonctionner. Pour faire cela, ajoutez steps à la tâche 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
Mise à niveau vers des exécuteurs plus volumineux basés sur GitHubGitHub Actions.
Par défaut, Copilot fonctionne dans un exécuteur standard GitHub Actions . Vous pouvez effectuer une mise à niveau vers des exécuteurs plus volumineux pour de meilleures performances (processeur et mémoire), plus d’espace disque et de fonctionnalités avancées comme la mise en réseau privée Azure. Pour plus d’informations, consultez « Exécuteurs plus grands ».
-
Configurez des agents de plus grande taille pour votre organisation. Pour plus d’informations, consultez « Gestion des exécuteurs de plus grande taille ».
-
Si vous utilisez des exécuteurs plus volumineux avec une mise en réseau privée Azure, configurez votre réseau privé Azure pour autoriser l’accès sortant aux hôtes requis pour Agent cloud Copilot:
uploads.github.comuser-images.githubusercontent.comapi.individual.githubcopilot.com(si vous attendez Copilot Pro ou Copilot Pro+ que les utilisateurs utilisent Agent cloud Copilot dans votre référentiel)api.business.githubcopilot.com(si vous attendez que Copilot Business les utilisateurs utilisent Agent cloud Copilot dans votre référentiel)api.enterprise.githubcopilot.com(si vous attendez que Copilot Entreprise les utilisateurs utilisent Agent cloud Copilot dans votre référentiel)- Si vous utilisez l’agent OpenAI Codex tiers (pour plus d’informations, consultez À propos des agents tiers) :
npmjs.orgnpmjs.comregistry.npmjs.comregistry.npmjs.orgskimdb.npmjs.com
-
Utilisez un fichier
copilot-setup-steps.ymldans votre référentiel pour configurer Agent cloud Copilot afin de s’exécuter sur vos exécuteurs choisis. Réglez l’étaperuns-onde la tâchecopilot-setup-stepssur l’étiquette et/ou le groupe pour les grandes instances que vous souhaitez Copilot utiliser. Pour plus d’informations sur la spécification de plus grands exécuteurs avecruns-on, consultez Exécution de travaux sur des exécuteurs de plus grande taille.# ... jobs: copilot-setup-steps: runs-on: ubuntu-4-core # ...
Remarque
* Agent cloud Copilot est uniquement compatible avec les exécuteurs Ubuntu x64 Linux et Windows 64 bits. Les agents d'exécution avec macOS ou d’autres systèmes d’exploitation ne sont pas pris en charge.
Utilisation d’exécuteurs auto-hébergés GitHub Actions
Vous pouvez exécuter Agent cloud Copilot sur des exécuteurs auto-hébergés. Vous pouvez le faire pour faire correspondre la façon dont vous exécutez des flux de travail CI/CD sur GitHub Actions, ou pour accorder Copilot l’accès aux ressources internes sur votre réseau.
Nous vous recommandons d’utiliser Agent cloud Copilot uniquement avec des exécuteurs éphémères à usage unique et non réutilisables pour plusieurs tâches. La plupart des clients configurent cela à l’aide d’ARC (Actions Runner Controller) ou du client de jeux d'échelles GitHub Actions Runners. Pour plus d’informations, consultez « Documentation de référence relative aux runners auto-hébergés ».
Remarque
Agent cloud Copilot est uniquement compatible avec les exécuteurs Ubuntu x64 et Windows 64 bits. Les agents d'exécution avec macOS ou d’autres systèmes d’exploitation ne sont pas pris en charge.
-
Configurez les contrôles de sécurité réseau pour vos GitHub Actions exécuteurs afin de vous assurer qu’il Agent cloud Copilot ne dispose pas d'un accès ouvert à votre réseau ou à Internet public.
Vous devez configurer votre pare-feu pour autoriser les connexions aux hôtes standard requis pour GitHub Actions les exécuteurs auto-hébergés, ainsi que les hôtes suivants :
uploads.github.comuser-images.githubusercontent.comapi.individual.githubcopilot.com(si vous attendez Copilot Pro ou Copilot Pro+ que les utilisateurs utilisent Agent cloud Copilot dans votre référentiel)api.business.githubcopilot.com(si vous attendez que Copilot Business les utilisateurs utilisent Agent cloud Copilot dans votre référentiel)api.enterprise.githubcopilot.com(si vous attendez que Copilot Entreprise les utilisateurs utilisent Agent cloud Copilot dans votre référentiel)- Si vous utilisez l’agent OpenAI Codex tiers (pour plus d’informations, consultez À propos des agents tiers) :
npmjs.orgnpmjs.comregistry.npmjs.comregistry.npmjs.orgskimdb.npmjs.com
-
Désactivez Agent cloud Copilotle pare-feu intégré dans les paramètres de votre référentiel. Le pare-feu n’est pas compatible avec les exécuteurs auto-hébergés. Sauf s’il est désactivé, l’utilisation de Agent cloud Copilot sera bloquée. Pour plus d’informations, consultez « Personnalisation ou désactivation du pare-feu pour l’agent cloud GitHub Copilot ».
-
Définissez l'attribut
copilot-setup-steps.ymldans votreruns-onfichier sur le nom de votre ensemble de mise à l'échelle géré par ARC :# ... jobs: copilot-setup-steps: runs-on: arc-scale-set-name # ... -
Si vous souhaitez configurer un serveur proxy pour Agent cloud Copilotles connexions à Internet, configurez les variables d’environnement suivantes en fonction des besoins :
Variable Descriptif Example https_proxyURL du proxy pour le trafic HTTPS. Vous pouvez inclure l’authentification de base si nécessaire. http://proxy.localhttp://192.168.1.1:8080http://username:password@proxy.localhttp_proxyURL du proxy pour le trafic HTTP. Vous pouvez inclure l’authentification de base si nécessaire. http://proxy.localhttp://192.168.1.1:8080http://username:password@proxy.localno_proxyListe séparée par des virgules d’hôtes ou d’adresses IP qui doivent contourner le proxy. Certains clients respectent uniquement les adresses IP lorsque les connexions sont effectuées directement à l’adresse IP plutôt qu’à un nom d’hôte. example.comexample.com,myserver.local:443,example.org| `ssl_cert_file` | Chemin d’accès au certificat SSL présenté par votre serveur proxy. Vous devez le configurer si votre proxy intercepte les connexions SSL. | `/path/to/key.pem` |
| node_extra_ca_certs | Chemin d’accès au certificat SSL présenté par votre serveur proxy. Vous devez le configurer si votre proxy intercepte les connexions SSL. | /path/to/key.pem |
Vous pouvez définir ces variables d’environnement en suivant les [instructions ci-dessous](#setting-environment-variables-in-copilots-environment) ou en les définissant directement sur l’exécuteur, par exemple avec une image d’exécuteur personnalisée. Pour plus d’informations sur la création d’une image personnalisée, consultez [AUTOTITLE](/actions/concepts/runners/actions-runner-controller#creating-your-own-runner-image).
Passage à un environnement de développement Windows
Par défaut, Copilot utilise un environnement de développement Basé sur Linux Ubuntu.
Vous souhaiterez peut-être utiliser un environnement de développement Windows si vous créez des logiciels pour Windows ou que votre dépôt utilise une chaîne d’outils Basée sur Windows. Vous pouvez donc Copilot générer votre projet, exécuter des tests et valider son travail.
Agent cloud CopilotLe pare-feu intégré n’est pas compatible avec Windows. Nous vous recommandons donc d’utiliser uniquement des exécuteurs auto-hébergés ou des exécuteurs hébergés plus volumineux GitHubavec un réseau privé Azure où vous pouvez implémenter vos propres contrôles réseau. Pour en savoir plus sur les runners avec mise en réseau privée Azure, consultez [AUTOTITLE](/admin/configuring-settings/configuring-private-networking-for-hosted-compute-products/about-azure-private-networking-for-github-hosted-runners-in-your-enterprise).
Pour utiliser Windows avec des exécuteurs auto-hébergés, suivez les instructions de la section Utilisation des exécuteurs auto-hébergés GitHub Actions ci-dessus, à l’aide de l’étiquette de vos exécuteurs Windows. Pour utiliser Windows avec des exécuteurs hébergés plus volumineux GitHub, suivez les instructions de la section Mise à niveau vers des exécuteurs plus volumineux ci-dessus, en utilisant l’étiquette de vos exécuteurs Windows.
Activation de l’Storage de fichiers volumineux Git (LFS)
Si vous utilisez Git Large File Storage (LFS) pour stocker des fichiers volumineux dans votre référentiel, vous devez personnaliser Copilotl’environnement pour installer Git LFS et extraire des objets LFS.
Pour activer Git LFS, ajoutez une étape actions/checkout à votre tâche copilot-setup-steps avec l’option lfs définie sur 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
Définition de variables d’environnement dans l’environnement de Copilot
Vous pouvez définir des variables d’environnement dans l’environnement de Copilot pour configurer ou authentifier des outils ou des dépendances auxquels il a accès.
Vous pouvez définir une variable d’environnement pour Copilot, créer une variable ou un GitHub Actions secret dans l’environnement copilot . Si la valeur contient des informations sensibles, par exemple un mot de passe ou une clé API, il est préférable d’utiliser un GitHub Actions secret.
-
Sur GitHub, accédez à la page principale du référentiel.
-
Sous le nom de votre référentiel, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

-
Dans la barre latérale gauche, cliquez sur Environnements.
-
Cliquez sur l’environnement
copilot. -
Pour ajouter un secret, sous « Secrets d’environnement », cliquez sur Ajouter un secret d’environnement. Pour ajouter une variable, sous « Variables d’environnement », cliquez sur Ajouter une variable d’environnement.
-
Renseignez les champs « Nom » et « Valeur », puis cliquez sur Ajouter un secret ou Ajouter une variable, le cas échéant.