Skip to main content

Configurer l’environnement de développement

Préinstaller les outils et les dépendances afin de Agent cloud Copilot pouvoir générer, tester et valider les modifications de manière fiable.

À 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 :

Par ailleurs, vous pouvez :

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 :

YAML
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)
  • services
  • snapshot
  • timeout-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 ».

  1. Configurez des agents de plus grande taille pour votre organisation. Pour plus d’informations, consultez « Gestion des exécuteurs de plus grande taille ».

  2. 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.com
    • user-images.githubusercontent.com
    • api.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.org
      • npmjs.com
      • registry.npmjs.com
      • registry.npmjs.org
      • skimdb.npmjs.com
  3. Utilisez un fichier copilot-setup-steps.yml dans votre référentiel pour configurer Agent cloud Copilot afin de s’exécuter sur vos exécuteurs choisis. Réglez l’étape runs-on de la tâche copilot-setup-steps sur 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 avec runs-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.
  1. 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.com
    • user-images.githubusercontent.com
    • api.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.org
      • npmjs.com
      • registry.npmjs.com
      • registry.npmjs.org
      • skimdb.npmjs.com
  2. 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 ».

  3. Définissez l'attribut copilot-setup-steps.yml dans votre runs-on fichier sur le nom de votre ensemble de mise à l'échelle géré par ARC :

    # ...
    
    jobs:
      copilot-setup-steps:
        runs-on: arc-scale-set-name
        # ...
    
  4. Si vous souhaitez configurer un serveur proxy pour Agent cloud Copilotles connexions à Internet, configurez les variables d’environnement suivantes en fonction des besoins :

    VariableDescriptifExample
    https_proxyURL du proxy pour le trafic HTTPS. Vous pouvez inclure l’authentification de base si nécessaire.http://proxy.local
    http://192.168.1.1:8080
    http://username:password@proxy.local
    http_proxyURL du proxy pour le trafic HTTP. Vous pouvez inclure l’authentification de base si nécessaire.http://proxy.local
    http://192.168.1.1:8080
    http://username:password@proxy.local
    no_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.com
    example.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.

YAML
# ...

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.

  1. Sur GitHub, accédez à la page principale du référentiel.

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

    Capture d’écran d’un en-tête de dépôt montrant les onglets. L’onglet « Paramètres » est mis en évidence avec un encadré orange foncé.

  3. Dans la barre latérale gauche, cliquez sur Environnements.

  4. Cliquez sur l’environnement copilot.

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

  6. Renseignez les champs « Nom » et « Valeur », puis cliquez sur Ajouter un secret ou Ajouter une variable, le cas échéant.

Lectures complémentaires