Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Labelüberschreibungen werden vom Actions-Runner unterstützt CodeBuild-hosted GitHub
In Ihrem GitHub Aktions-Workflow-YAML können Sie eine Vielzahl von Label-Overrides bereitstellen, die Ihren selbst gehosteten Runner-Build modifizieren. Alle Builds, die von CodeBuild Ihnen nicht erkannt werden, werden ignoriert, Ihre Webhook-Anfrage wird jedoch nicht fehlschlagen. Der folgende Workflow-YAML definiert zwei Jobs: job1 verwendet Overrides für Image, Instance-Größe, Flotte und Buildspec und verwendet nur eine Image-Override. job2 Geben Sie jedem Job eine eindeutige Bezeichnung (job1undjob2), sodass jeder Job an den GitHub dafür erstellten Runner weitergeleitet wird:
name: Hello World on: [push] jobs: job1: runs-on: - codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }} - image:arm-3.0 - instance-size:small - fleet:myFleet - buildspec-override:true - job1 steps: - run: echo "Hello from Job 1!" job2: runs-on: - codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }} - image:linux-5.0 - job2 steps: - run: echo "Hello from Job 2!"
Sie können auch eine Matrixstrategie verwenden, um einen einzelnen Job über mehrere Konfigurationen hinweg auszuführen. Die Erweiterungen eines einzelnen Matrix-Jobs haben immer die gleiche Anzahl von Labels, sodass das Problem mit dem Runner-Matching sie nicht betrifft. Wenn ein Workflow-Lauf jedoch mehr als einen Matrix-Job enthält, weisen Sie jedem Matrix-Job eine eigene benutzerdefinierte Bezeichnung zu (z. B. matrix-job-1 undmatrix-job-2), sodass ein Job GitHub nicht einem Runner zugeordnet wird, der für einen anderen Matrix-Job erstellt wurde:
name: Hello World on: [push] jobs: Hello-World-Job: runs-on: - codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }} - image:${{ matrix.os }} - instance-size:${{ matrix.size }} - fleet:myFleet - buildspec-override:true - matrix-job-1 strategy: matrix: include: - os: arm-3.0 size: small - os: linux-5.0 size: large steps: - run: echo "Hello World!"
Anmerkung
Wenn Ihr Workflow-Job nicht funktioniert GitHub, finden Sie weitere Informationen unter Beheben Sie Probleme mit dem Webhook und Verwenden benutzerdefinierter Bezeichnungen zum Weiterleiten von Aufträgen
codebuild- (Erforderlich)<project-name>-${{github.run_id}}-${{github.run_attempt}}
Beispiel:
codebuild-fake-project-${{ github.run_id }}-${{ github.run_attempt }}-
Erforderlich für alle YAMLs des GitHub Aktions-Workflows.
<project name>sollte dem Namen des Projekts entsprechen, für das der selbst gehostete Runner-Webhook konfiguriert ist.
image:<environment-type>-<image-identifier>
Beispiel:
image:arm-3.0-
Überschreibt das Image und den Umgebungstyp, die beim Starten des selbst gehosteten Runner-Builds verwendet wurden, mit einem kuratierten Image. Weitere Informationen zu unterstützten Werten finden Sie unter. Berechnen Sie Bilder, die vom Actions-Runner unterstützt CodeBuild-hosted GitHub werden
Um das bei einem benutzerdefinierten Image verwendete Image und den Umgebungstyp zu überschreiben, verwenden Sie
image:custom-<environment-type>-<custom-image-identifier>Beispiel:
image:custom-arm-public.ecr.aws/codebuild/amazonlinux-aarch64-standard:3.0Anmerkung
Wenn sich das benutzerdefinierte Image in einer privaten Registrierung befindet, finden Sie weitere Informationen unterKonfigurieren Sie private Registrierungsdaten für selbst gehostete Runner.
instance-size:<instance-size>
Beispiel:
instance-size:medium-
Überschreibt den Instanztyp, der beim Starten des selbst gehosteten Runner-Builds verwendet wurde. Weitere Informationen zu unterstützten Werten finden Sie unter. Berechnen Sie Bilder, die vom Actions-Runner unterstützt CodeBuild-hosted GitHub werden
fleet:<fleet-name>
Beispiel:
fleet:myFleet-
Überschreibt die in Ihrem Projekt konfigurierten Flotteneinstellungen, um die angegebene Flotte zu verwenden. Weitere Informationen finden Sie unter Führen Sie Builds auf Flotten mit reservierter Kapazität aus.
buildspec-override:<boolean>
Beispiel:
buildspec-override:true-
Ermöglicht dem Build, Buildspec-Befehle in den
POST_BUILDPhasen, und auszuführenINSTALLPRE_BUILD, wenn diese Option auf gesetzt ist.true
(empfohlen, wenn ein Workflow-Lauf mehrere Jobs umfasst)<unique-label>
Beispiel:
job1-
Eine benutzerdefinierte Bezeichnung, die Sie definieren und die kein anderer Job in derselben Workflow-Ausführung verwendet. Wenn Sie jedem Job ein eindeutiges Label zuweisen, wird sichergestellt, GitHub dass jeder Job nur an den Runner weitergeleitet wird, der für ihn erstellt wurde. Andernfalls kann ein Job mit weniger Labels von einem Runner übernommen werden, der für einen Job mit mehr Labels erstellt wurde, wenn Jobs in derselben Workflow-Ausführung eine unterschiedliche Anzahl von Labelüberschreibungen aufweisen, sodass der zweite Job keinen Läufer mehr hat. Weitere Informationen finden Sie unter Beheben Sie Probleme mit dem Webhook.
Überschreibung eines einzelnen Labels
CodeBuild ermöglicht es Ihnen, mehrere Überschreibungen in einem einzelnen Label bereitzustellen, indem Sie Folgendes verwenden:
Anmerkung
Da alle Überschreibungen in einem einzigen Label zusammengefasst werden, registriert sich der Runner jedes Jobs mit genau einem Label. Dies bedeutet, dass das unter beschriebene Problem beim Abgleich mehrerer Job-Runner bei diesem Format Beheben Sie Probleme mit dem Webhook nicht auftreten kann, auch wenn für jeden Job kein eindeutiges Label vorhanden ist. Verwenden Sie das Single-Label-Format, wenn Sie dieses Verhalten bevorzugen und Ihre Jobs nur Überschreibungen benötigen, die es unterstützt. Verwenden Sie es nicht, wenn Sie eine Überschreibung benötigen, die es nicht unterstützt. Beispielsweise können benutzerdefinierte Bilder (einschließlich Bilder in einer privaten Registrierung) nur mithilfe des image:custom- Labelformats angegeben werden. Verwenden Sie für diese Überschreibungen das weiter oben in diesem Thema beschriebene separate Labelformat.<environment-type>-<custom-image-identifier>
-
Verwenden Sie die folgende Syntax, um Ihre Umgebungseinstellungen für einen EC2/Lambda Amazon-Compute-Build zu überschreiben:
runs-on: codebuild-<project-name>-${{ github.run_id }}-${{ github.run_attempt }}-<environment-type>-<image-identifier>-<instance-size> -
Verwenden Sie die folgende Syntax, um Ihre Flotteneinstellungen für den Amazon EC2-Compute-Build zu überschreiben:
runs-on: codebuild-<project-name>-${{ github.run_id }}-${{ github.run_attempt }}-fleet-<fleet-name> -
Verwenden Sie die folgende Syntax, um sowohl die Flotte als auch das für den Build verwendete Image zu überschreiben:
runs-on: codebuild-<project-name>-${{ github.run_id }}-${{ github.run_attempt }}-image-<image-version>-fleet-<fleet-name> -
Um Buildspec-Befehle während des Builds auszuführen,
-with-buildspeckönnen sie dem Label als Suffix hinzugefügt werden:runs-on: codebuild-<project-name>-${{ github.run_id }}-${{ github.run_attempt }}-<image>-<image-version>-<instance-size>-with-buildspec -
Optional können Sie eine Überschreibung der Instanzgröße angeben, ohne das Image zu überschreiben. Für Amazon EC2-Builds können Sie sowohl den Umgebungstyp als auch die Image-ID ausschließen. Bei Lambda-Builds können Sie die Image-ID ausschließen.