Skip to main content

Anpassen der Entwicklungsumgebung für GitHub Copilot-Codierungs-Agent

Hier erfährst du, wie du die GitHub Copilot-Entwicklungsumgebung mit zusätzlichen Tools anpasst.

Informationen zum Anpassen der Copilot Codierungsassistent-Entwicklungsumgebung

Bei der Bearbeitung einer Aufgabe kann Copilot auf eine eigene Entwicklungsumgebung zugreifen, die von GitHub Actions unterstützt wird. Dort kann Copilot u. a. deinen Code erkunden, Änderungen vornehmen sowie automatisierte Tests und Linter ausführen.

Sie können die Entwicklungsumgebung von Copilot mit einer Copilot Setup-Schritte-Datei anpassen. Sie können eine Copilot Setup-Schritte-Datei verwenden, um:

  •         [Vorinstallieren von Tools oder Abhängigkeiten in der Copilot-Umgebung](#preinstalling-tools-or-dependencies-in-copilots-environment)
    
  •           [Upgraden von standardmäßigen auf GitHub gehosteten GitHub Actions-Runnern auf größere Runner](#upgrading-to-larger-github-hosted-github-actions-runners)
    
  •           [Auf GitHub Actions selbstgehosteten Runners ausführen](#using-self-hosted-github-actions-runners)
    
  •         [Geben Sie Copilot eine Windows-Entwicklungsumgebung](#switching-copilot-to-a-windows-development-environment) anstelle der Standardmäßigen Ubuntu Linux-Umgebung.
    
  •         [Enable Git Large File Storage (LFS)](#enabling-git-large-file-storage-lfs)
    

Darüber hinaus haben Sie folgenden Möglichkeiten:

  •         [Festlegen von Umgebungsvariablen in der Copilot-Umgebung](#setting-environment-variables-in-copilots-environment)
    
  •         [Deaktivieren oder Anpassen der Firewall des Agents](/copilot/customizing-copilot/customizing-or-disabling-the-firewall-for-copilot-coding-agent).
    

Anpassen der Entwicklungsumgebung von Copilot mit den Einrichtungsschritten von Copilot

Sie können die Umgebung von Copilot anpassen, indem Sie eine spezielle GitHub Actions Workflow-Datei erstellen, die sich in .github/workflows/copilot-setup-steps.yml innerhalb Ihres Repositorys befindet.

Eine Datei vom Typ copilot-setup-steps.yml sieht aus wie eine normale GitHub Actions-Workflowdatei, enthält jedoch nur einen einzelnen copilot-setup-steps-Auftrag. Die Schritte dieses Jobs werden in GitHub Actions ausgeführt, bevor Copilot mit der Arbeit beginnt. Weitere Informationen zu GitHub Actions-Workflowdateien findest du unter Workflowsyntax für GitHub Actions.

Hinweis

Der copilot-setup-steps.yml-Workflow wird nur ausgelöst, wenn er in deinem Standardbranch vorhanden ist.

Hier ist ein einfaches Beispiel für eine copilot-setup-steps.yml-Datei für ein TypeScript-Projekt, das das Projekt klont, Node.js installiert und die Abhängigkeiten des Projekts herunterlädt und zwischenspeichert. Sie sollten dies anpassen, um die Sprache(n) und Abhängigkeiten Ihres eigenen Projekts zu berücksichtigen.

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:
      # ...

In deiner copilot-setup-steps.yml-Datei kannst du nur die folgenden Einstellungen des Auftrags copilot-setup-steps anpassen. Wenn du versuchst, andere Einstellungen anzupassen, werden deine Änderungen ignoriert.

  •         `steps` (siehe oben)
    
  •         `permissions` (siehe oben)
    
  •         `runs-on` (siehe unten)
    
  • services
  • snapshot
  •         `timeout-minutes` (Maximalwert: `59`)
    

Weitere Informationen zu diesen Optionen finden Sie unter Workflowsyntax für GitHub Actions.

Jeder Wert, der für die Option fetch-depth der actions/checkout-Aktion festgelegt ist, wird überschrieben, damit der Agent Commits auf Anforderung zurücksetzen und gleichzeitig Sicherheitsrisiken verringern kann. Weitere Informationen finden Sie unter actions/checkout/README.md.

Deine copilot-setup-steps.yml-Datei wird automatisch als normaler GitHub Actions-Workflow ausgeführt, wenn Änderungen vorgenommen werden, sodass du sehen kannst, ob sie erfolgreich ausgeführt wird. Dies wird zusammen mit anderen Prüfungen in einem Pull Request dargestellt, in dem du die Datei erstellen oder ändern kannst.

Nachdem Sie die YML-Datei mit deinem Standardbranch zusammengeführt haben, können Sie den Workflow jederzeit über die Registerkarte Actions des Repositorys ausführen, um zu überprüfen, ob alles wie erwartet funktioniert. Weitere Informationen finden Sie unter Manuelles Ausführen eines Workflows.

Wenn Copilot läuft, werden deine Setupschritte ausgeführt, und Updates werden in den Sitzungsprotokollen angezeigt. Weitere Informationen findest du unter Das Nachverfolgen der GitHub Copilot-Sitzungen.

Wenn ein Setupschritt fehlschlägt, indem ein Exitcode ungleich 0 zurückgegeben wird, überspringt Copilot die verbleibenden Setupschritte und operiert auf Grundlage des aktuellen Zustands seiner Entwicklungsumgebung.

Vorinstallieren von Tools oder Abhängigkeiten in der Copilot-Umgebung

In der kurzlebigen Entwicklungsumgebung kann Copilot dein Projekt erstellen oder kompilieren sowie automatisierte Tests, Linter und andere Tools ausführen. Um dies zu tun, müssen Sie die Abhängigkeiten Ihres Projekts installieren.

Copilot kann diese Abhängigkeiten über Versuch und Irrtum selbst ermitteln und installieren, was jedoch auf Grund der nicht deterministischen Eigenschaften großer Sprachmodelle (LLMs) ein langwieriger und unzuverlässiger Prozess sein kann. In einigen Fällen, z. B. bei privaten Abhängigkeiten, können diese möglicherweise gar nicht heruntergeladen werden.

Sie können eine Copilot-Setup-Schrittdatei verwenden, um Tools oder Abhängigkeiten deterministisch zu installieren, bevor Copilot mit der Arbeit beginnt. Um dies zu tun, fügen Sie steps dem Auftrag copilot-setup-steps hinzu.

# ...

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@v5

      - name: Set up Node.js
        uses: actions/setup-node@v4
        with:
          node-version: "20"
          cache: "npm"

      - name: Install JavaScript dependencies
        run: npm ci

Upgraden auf größere GitHub Actions-Runner, die auf GitHub gehostet werden

Standardmäßig funktioniert Copilot in einem Standard-GitHub Actions-Runner. Sie können auf größere Runner upgraden, um eine bessere Leistung (CPU und Arbeitsspeicher), mehr Speicherplatz und erweiterte Features wie das Azure-Privatnetzwerk zu nutzen. Weitere Informationen finden Sie unter Größere Läufer.

  1. Richten Sie größere Runner für Ihre Organisation ein. Weitere Informationen finden Sie unter Verwalten größerer Ausführungsumgebungen.

  2. Wenn Sie größere Runner mit privaten Azure-Netzwerken verwenden, konfigurieren Sie Ihr privates Azure-Netzwerk so, dass ausgehender Zugriff auf die Hosts zulässig ist, die für Copilot Codierungsassistent erforderlich sind.

    • uploads.github.com
    • user-images.githubusercontent.com
    •         `api.individual.githubcopilot.com` (wenn Sie erwarten, dass Copilot Pro- oder Copilot Pro+-Benutzer Copilot Codierungsassistent in Ihrem Repository verwenden)
      
    •         `api.business.githubcopilot.com` (wenn Sie erwarten, dass Copilot Business Benutzer Copilot Codierungsassistent in Ihrem Repository verwenden)
      
    •         `api.enterprise.githubcopilot.com` (wenn du erwartest, dass Copilot Enterprise-Benutzer Copilot Codierungsassistent in deinem Repository verwenden)
      
    • Wenn Sie die OpenAI Codex Drittanbieter-Agent verwenden (weitere Informationen finden Sie unter Informationen zu Agents von Drittanbietern):
      • npmjs.org
      • npmjs.com
      • registry.npmjs.com
      • registry.npmjs.org
      • skimdb.npmjs.com
  3. Verwenden Sie eine copilot-setup-steps.yml-Datei in Ihrem Repository, um Copilot Codierungsassistent so zu konfigurieren, dass es auf Ihren ausgewählten Runnern ausgeführt wird. Legen Sie den runs-on Schritt des copilot-setup-steps Auftrags auf das Etikett und/oder die Gruppe für die größeren Runner fest, die Copilot verwenden sollen. Weitere Informationen zur Angabe von größeren Runnern mit runs-on findest du unter Ausführen von Aufträgen auf größeren Runnern.

    # ...
    
    jobs:
      copilot-setup-steps:
        runs-on: ubuntu-4-core
        # ...
    

Hinweis

  • Copilot Codierungsassistent ist nur mit Ubuntu x64 Linux und Windows 64-Bit-Runnern kompatibel. Runners mit macOS oder anderen Betriebssystemen werden nicht unterstützt.

Verwendung selbstgehosteter GitHub Actions-Runner

Sie können Copilot Codierungsassistent auf selbstgehosteten Runnern ausführen. Möglicherweise möchten Sie dies tun, um die Ausführung Ihrer CI/CD-Workflows auf GitHub Actions abzubilden oder um Copilot Zugriff auf interne Ressourcen in Ihrem Netzwerk zu gewähren.

Wir empfehlen, Copilot Codierungsassistent nur mit kurzlebigen, einmalig verwendbaren Runnern zu verwenden, die nicht für mehrere Jobs wiederverwendet werden. Die meisten Kunden richten dies mit dem ARC (Actions Runner Controller) oder dem GitHub Actions Runner-Scale-Set-Client ein. Weitere Informationen finden Sie unter Referenzen zu selbstgehosteten Runnern.

Hinweis

Copilot Codierungsassistent ist nur mit Ubuntu x64 und Windows 64-Bit-Runnern kompatibel. Runners mit macOS oder anderen Betriebssystemen werden nicht unterstützt.

  1. Konfigurieren Sie die Netzwerksicherheitssteuerelemente für Ihre GitHub Actions Runner, um sicherzustellen, dass Copilot Codierungsassistent keinen offenen Zugriff auf Ihr Netzwerk oder das öffentliche Internet hat.

    Sie müssen Ihre Firewall so konfigurieren, dass Verbindungen mit den Standardhosts, die für GitHub Actions selbstgehostete Runner benötigt werden, sowie die folgenden Hosts zugelassen werden:

    • uploads.github.com
    • user-images.githubusercontent.com
    •         `api.individual.githubcopilot.com` (wenn Sie erwarten, dass Copilot Pro- oder Copilot Pro+-Benutzer Copilot Codierungsassistent in Ihrem Repository verwenden)
      
    •         `api.business.githubcopilot.com` (wenn Sie erwarten, dass Copilot Business Benutzer Copilot Codierungsassistent in Ihrem Repository verwenden)
      
    •         `api.enterprise.githubcopilot.com` (wenn du erwartest, dass Copilot Enterprise-Benutzer Copilot Codierungsassistent in deinem Repository verwenden)
      
    • Wenn Sie die OpenAI Codex Drittanbieter-Agent verwenden (weitere Informationen finden Sie unter Informationen zu Agents von Drittanbietern):
      • npmjs.org
      • npmjs.com
      • registry.npmjs.com
      • registry.npmjs.org
      • skimdb.npmjs.com
  2. Deaktivieren Sie die integrierte Firewall von Copilot Codierungsassistent in Ihren Repositoryeinstellungen. Die Firewall ist nicht mit selbstgehosteten Runnern kompatibel. Wenn dies nicht deaktiviert ist, wird die Verwendung von Copilot Codierungsassistent blockiert. Weitere Informationen finden Sie unter Anpassen oder Deaktivieren der Firewall für den GitHub Copilot-Coding-Agent..

  3. Legen Sie in Ihrer copilot-setup-steps.yml Datei das runs-on Attribut auf den Namen Ihres ARC-verwalteten Skalensatzes fest:

    # ...
    
    jobs:
      copilot-setup-steps:
        runs-on: arc-scale-set-name
        # ...
    
  4. Wenn Sie einen Proxyserver für die Verbindungen von Copilot Codierungsassistent mit dem Internet einrichten möchten, konfigurieren Sie die folgenden Umgebungsvariablen entsprechend:

    VariableDescriptionExample
    https_proxyProxy-URL für HTTPS-Datenverkehr. Sie können bei Bedarf die Standardauthentifizierung einschließen.http://proxy.local
    http://192.168.1.1:8080
    http://username:password@proxy.local
    http_proxyProxy-URL für HTTP-Datenverkehr. Sie können bei Bedarf die Standardauthentifizierung einschließen.http://proxy.local
    http://192.168.1.1:8080
    http://username:password@proxy.local
    no_proxyEine durch Trennzeichen getrennte Liste von Hosts oder IP-Adressen, die den Proxy umgehen sollten. Einige Clients berücksichtigen nur IP-Adressen, wenn Verbindungen direkt mit der IP und nicht mit einem Hostnamen hergestellt werden.example.com
    example.com,myserver.local:443,example.org

| ssl_cert_file | Der Pfad zum SSL-Zertifikat, das von Ihrem Proxyserver präsentiert wird. Sie müssen dies konfigurieren, wenn Ihr Proxy SSL-Verbindungen abfangen. | /path/to/key.pem | | node_extra_ca_certs | Der Pfad zum SSL-Zertifikat, das von Ihrem Proxyserver angezeigt wird. Sie müssen dies konfigurieren, wenn Ihr Proxy SSL-Verbindungen abfangen. | /path/to/key.pem |

Sie können diese Umgebungsvariablen festlegen, indem Sie die [nachstehenden Anweisungen](#setting-environment-variables-in-copilots-environment) befolgen oder sie direkt auf dem Läufer festlegen, z. B. mit einem benutzerdefinierten Läuferbild. Weitere Informationen zum Erstellen eines benutzerdefinierten Bilds finden Sie unter [AUTOTITLE](/actions/concepts/runners/actions-runner-controller#creating-your-own-runner-image).

Wechseln von Copilot zu einer Windows-Entwicklungsumgebung

Standardmäßig verwendet Copilot eine Linux-basierte Ubuntu-Entwicklungsumgebung.

Sie können eine Windows-Entwicklungsumgebung verwenden, wenn Sie Software für Windows entwickeln oder Ihr Repository eine Windows-basierte Toolkette verwendet, damit Copilot Ihr Projekt bauen, Tests durchführen und das Ergebnis überprüfen kann.

Die integrierte Firewall von Copilot Codierungsassistent ist nicht mit Windows kompatibel. Daher empfehlen wir, nur selbstgehostete Runner oder größere, von GitHub gehostete Runner mit Azure Private Networking zu verwenden, bei denen Sie Ihre eigenen Netzwerksteuerungen implementieren können. Weitere Informationen zu Läufern mit Azure privaten Netzwerken finden Sie unter Informationen zu privaten Azure-Netzwerken für von GitHub gehostete Runner in Ihrem Unternehmen.

Um Windows mit selbst gehosteten Runnern zu verwenden, befolgen Sie die Anweisungen im Abschnitt "Verwenden von selbst gehosteten GitHub Actions-Runnern oben und verwenden Sie dabei die Bezeichnung für Ihre Windows-Runner. Wenn Sie Windows mit größeren GitHub-gehosteten Runner verwenden möchten, befolgen Sie die Anweisungen im Abschnitt Upgrade auf größere Runner oben unter Verwendung der Bezeichnung für Ihre Windows-Runner.

Aktivieren von Git Large File Storage (LFS)

Wenn Sie Git Large File Storage (LFS) zum Speichern großer Dateien in Ihrem Repository verwenden, müssen Sie Copilots Umgebung anpassen, um Git LFS zu installieren und LFS-Objekte abzurufen.

Um Git LFS zu aktivieren, fügen Sie Ihrem actions/checkout Job einen Schritt hinzu copilot-setup-steps, bei dem die Option lfs auf true gesetzt ist.

YAML
# ...

jobs:
  copilot-setup-steps:
    runs-on: ubuntu-latest
    permissions:
      contents: read # for actions/checkout
    steps:
      - uses: actions/checkout@v5
        with:
          lfs: true

Festlegen von Umgebungsvariablen in der Copilot-Umgebung

Du kannst Umgebungsvariablen in der Copilot-Umgebung festlegen, um Tools oder Abhängigkeiten zu konfigurieren oder zu authentifizieren, auf die sie Zugriff hat.

Um eine Umgebungsvariable für Copilot festzulegen, erstelle eine GitHub Actions-Variable oder ein Geheimnis in der copilot-Umgebung. Wenn der Wert vertrauliche Informationen enthält, z. B. ein Kennwort oder einen API-Schlüssel, ist es am besten, ein GitHub Actions-Geheimnis zu verwenden.

  1. Navigieren Sie auf GitHub zur Hauptseite des Repositorys.

  2. Klicke unter dem Repositorynamen auf Settings. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.

    Screenshot eines Repositoryheaders mit den Registerkarten. Die Registerkarte „Einstellungen“ ist dunkelorange umrandet.

  3. Klicke auf der linken Randleiste auf Umgebungen.

  4. Klicke auf die copilot-Umgebung.

  5. Klicke zum Hinzufügen eines Geheimnisses unter „Environment secrets“ auf Add environment secret. Klicke zum Hinzufügen einer Variablen unter „Environment variables“ auf Add environment variable.

  6. Fülle die Felder „Name“ und „Value“ aus, und klicke dann auf Add secret oder Add variable.

Weiterführende Themen

  •         [AUTOTITLE](/copilot/customizing-copilot/customizing-or-disabling-the-firewall-for-copilot-coding-agent)