Aktionsreferenz für Befehle - AWS CodePipeline

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.

Aktionsreferenz für Befehle

Mit der Aktion „Befehle“ können Sie Shell-Befehle in einer virtuellen Recheninstanz ausführen. Wenn Sie die Aktion ausführen, werden die in der Aktionskonfiguration angegebenen Befehle in einem separaten Container ausgeführt. Alle Artefakte, die als Eingabeartefakte für eine CodeBuild Aktion angegeben sind, sind innerhalb des Containers verfügbar, in dem die Befehle ausgeführt werden. Mit dieser Aktion können Sie Befehle angeben, ohne zuerst ein CodeBuild Projekt zu erstellen. Weitere Informationen finden Sie unter ActionDeclaration und OutputArtifact in der AWS CodePipeline -API-Referenz.

Wichtig

Diese Aktion verwendet CodePipeline Managed CodeBuild Compute, um Befehle in einer Build-Umgebung auszuführen. Für die Ausführung der Befehlsaktion fallen separate Gebühren in an AWS CodeBuild.

Anmerkung

Die Aktion Befehle ist nur für Pipelines vom Typ V2 verfügbar.

Überlegungen zur Aktion „Befehle“

Die folgenden Überlegungen gelten für die Aktion „Befehle“.

  • Die Befehlsaktion verwendet CodeBuild Ressourcen, die der CodeBuild Aktion ähnlich sind, erlaubt aber Befehle in einer virtuellen Recheninstanz, ohne dass ein Build-Projekt zugeordnet oder erstellt werden muss.

    Anmerkung

    Für die Ausführung der Befehlsaktion fallen separate Gebühren in an AWS CodeBuild.

  • Da die Aktion „Befehle“ in CodeBuild Ressourcen CodePipeline verbraucht, werden die von der Aktion ausgeführten Builds den Build-Limits für Ihr Konto in CodeBuild zugeordnet. Builds, die mit der Aktion Befehle ausgeführt werden, werden auf die Limits für gleichzeitige Builds angerechnet, die für dieses Konto konfiguriert sind.

  • Das Timeout für Builds mit der Aktion „Befehle“ beträgt 55 Minuten, je CodeBuild nach Builds.

  • Die Recheninstanz verwendet eine isolierte Build-Umgebung in CodeBuild.

    Anmerkung

    Da die isolierte Build-Umgebung auf Kontoebene verwendet wird, kann eine Instanz für eine andere Pipeline-Ausführung wiederverwendet werden.

  • Alle Formate außer mehrzeiligen Formaten werden unterstützt. Bei der Eingabe von Befehlen müssen Sie das einzeilige Format verwenden.

  • Die Befehlsaktion wird für konto- oder regionsübergreifende Aktionen nicht unterstützt.

  • Für diese Aktion CodePipeline wird die Rolle des Pipeline-Dienstes übernommen und diese Rolle verwendet, um den Zugriff auf Ressourcen zur Laufzeit zu ermöglichen. Es wird empfohlen, die Servicerolle so zu konfigurieren, dass die Berechtigungen bis auf die Aktionsebene beschränkt sind.

  • Die der CodePipeline Servicerolle hinzugefügten Berechtigungen werden unter detailliert beschrieben. Hinzufügen von Berechtigungen zur CodePipeline-Servicerolle

  • Die zum Anzeigen von Protokollen in der Konsole erforderlichen Berechtigungen finden Sie unterZum Anzeigen von Rechenprotokollen in der CodePipeline Konsole sind Berechtigungen erforderlich.

  • Im Gegensatz zu anderen Aktionen in CodePipeline legen Sie keine Felder in der Aktionskonfiguration fest. Sie legen die Felder für die Aktionskonfiguration außerhalb der Aktionskonfiguration fest.

Richtlinienberechtigungen für die Servicerolle

Wenn die Aktion CodePipeline ausgeführt CodePipeline wird, wird eine Protokollgruppe mit dem Namen der Pipeline wie folgt erstellt. Auf diese Weise können Sie die Berechtigungen für die Protokollierung von Ressourcen mithilfe des Pipeline-Namens einschränken.

/aws/codepipeline/MyPipelineName

Wenn Sie eine vorhandene Servicerolle verwenden, müssen Sie zur Verwendung der Aktion Befehle die folgenden Berechtigungen für die Servicerolle hinzufügen.

  • Protokolle: CreateLogGroup

  • Protokolle: CreateLogStream

  • Protokolle: PutLogEvents

Beschränken Sie die Berechtigungen in der Richtlinie zur Servicerolle auf die Pipeline-Ebene, wie im folgenden Beispiel gezeigt.

{ "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:YOUR_AWS_ACCOUNT_ID:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME", "arn:aws:logs:*:YOUR_AWS_ACCOUNT_ID:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME:*" ] }

Um Protokolle in der Konsole mithilfe der Dialogseite mit den Aktionsdetails anzeigen zu können, muss der Konsolenrolle die Berechtigung zum Anzeigen von Protokollen hinzugefügt werden. Weitere Informationen finden Sie im Beispiel für die Richtlinie zu Konsolenberechtigungen unterZum Anzeigen von Rechenprotokollen in der CodePipeline Konsole sind Berechtigungen erforderlich.

Aktionstyp

  • Kategorie: Compute

  • Eigentümer: AWS

  • Anbieter: Commands

  • Version: 1

Konfigurationsparameter

Befehle

Erforderlich: Ja

Sie können Shell-Befehle für die Ausführung der Commands Aktion angeben. In der Konsole werden Befehle in separaten Zeilen eingegeben. In der CLI werden Befehle als separate Zeichenfolgen eingegeben.

Anmerkung

Mehrzeilige Formate werden nicht unterstützt und führen zu einer Fehlermeldung. Für die Eingabe von Befehlen in das Befehlsfeld muss ein einzeiliges Format verwendet werden.

Die folgenden Details stellen die Standardrechnung dar, die für die Aktion Befehle verwendet wird. Weitere Informationen finden Sie in der Referenz zu den Berechnungsmodi und Typen der Build-Umgebung im CodeBuild Benutzerhandbuch.

  • CodeBuild Bild: aws/codebuild/amazonlinux 2-x86_64-standard:5.0

  • Rechnertyp: Linux Small

  • ComputeType-Wert der Umgebung: BUILD_ _SMALL GENERAL1

  • Wert des Umgebungstyps: LINUX_CONTAINER

Ausgabevariablen

Erforderlich: Nein

Geben Sie die Namen der Variablen in Ihrer Umgebung an, die Sie exportieren möchten. Eine Referenz zu CodeBuild Umgebungsvariablen finden Sie unter Umgebungsvariablen in Build-Umgebungen im CodeBuild Benutzerhandbuch.

Dateien

Erforderlich: Nein

Sie können Dateien, die Sie exportieren möchten, als Ausgabeartefakte für die Aktion angeben.

Das unterstützte Format für Dateien ist dasselbe wie für CodeBuild Dateimuster. Geben Sie beispielsweise **/ für alle Dateien ein. Weitere Informationen finden Sie unter Referenz zur Build-Spezifikation für CodeBuild im CodeBuild Benutzerhandbuch.

Die Aktionsseite „Aktion bearbeiten“ für eine neue Pipeline mit der Aktion „Befehle“

Input artifacts (Eingabeartefakte)

  • Anzahl der Artefakte: 1 to 10

Ausgabeartefakte

  • Anzahl der Artefakte: 0 to 1

Aktionserklärung (Beispiel)

YAML
name: Commands_action actionTypeId: category: Compute owner: AWS provider: Commands version: '1' runOrder: 1 configuration: {} commands: - ls - echo hello - 'echo pipeline Execution Id is #{codepipeline.PipelineExecutionId}' outputArtifacts: - name: BuildArtifact files: - **/ inputArtifacts: - name: SourceArtifact outputVariables: - AWS_DEFAULT_REGION region: us-east-1 namespace: compute
JSON
{ "name": "Commands_action", "actionTypeId": { "category": "Compute", "owner": "AWS", "provider": "Commands", "version": "1" }, "runOrder": 1, "configuration": {}, "commands": [ "ls", "echo hello", "echo pipeline Execution Id is #{codepipeline.PipelineExecutionId}" ], "outputArtifacts": [ { "name": "BuildArtifact", "files": [ "**/" ] } ], "inputArtifacts": [ { "name": "SourceArtifact" } ], "outputVariables": [ "AWS_DEFAULT_REGION" ], "region": "us-east-1", "namespace": "compute" }

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.