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.
Aktion „AWS CDK bereitstellen“ YAML
Im Folgenden finden Sie die YAML Definition der AWS CDK Bereitstellungsaktion. Informationen zur Verwendung dieser Aktion finden Sie unterEine AWS CDK App mit einem Workflow bereitstellen.
Diese Aktionsdefinition ist als Abschnitt in einer umfassenderen Workflow-Definitionsdatei vorhanden. Weitere Informationen über diese Datei finden Sie unter YAMLWorkflow-Definition.
Anmerkung
Die meisten der folgenden YAML Eigenschaften haben entsprechende Benutzeroberflächenelemente im visuellen Editor. Verwenden Sie Strg+F, um nach einem UI-Element zu suchen. Das Element wird mit der zugehörigen YAML Eigenschaft aufgelistet.
# The workflow definition starts here.
# See Eigenschaften der obersten Ebene for details.
Name: MyWorkflow
SchemaVersion: 1.0
Actions:
# The action definition starts here.
CDKDeploy_nn
:
Identifier: aws/cdk-deploy@v2
DependsOn:
- CDKBootstrap
Compute:
Type: EC2 | Lambda
Fleet: fleet-name
Timeout: timeout-minutes
Inputs:
# Specify a source or an artifact, but not both.
Sources:
- source-name-1
Artifacts:
- artifact-name
Outputs:
Artifacts:
- Name: cdk_artifact
Files:
- "cdk.out/**/*"
Environment:
Name: environment-name
Connections:
- Name: account-connection-name
Role: iam-role-name
Configuration:
StackName: my-cdk-stack
Region: us-west-2
Tags: '{"key1": "value1", "key2": "value2"}'
Context: '{"key1": "value1", "key2": "value2"}'
CdkCliVersion: version
CdkRootPath: directory-containing-cdk.json-file
CfnOutputVariables: '["CnfOutputKey1","CfnOutputKey2","CfnOutputKey3"]'
CloudAssemblyRootPath: path-to-cdk.out
CDKDeploy
(Erforderlich)
Geben Sie den Namen der Aktion an. Alle Aktionsnamen müssen innerhalb des Workflows eindeutig sein. Aktionsnamen sind auf alphanumerische Zeichen (a-z, A-Z, 0-9), Bindestriche (-) und Unterstriche (_) beschränkt. Leerzeichen sind nicht erlaubt. Sie können keine Anführungszeichen verwenden, um Sonderzeichen und Leerzeichen in Aktionsnamen zuzulassen.
Standard: CDKDeploy_nn
.
Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration/Aktionsname“
Identifier
(CDKDeploy
/Identifier)
(Erforderlich)
Identifiziert die Aktion. Ändern Sie diese Eigenschaft nicht, es sei denn, Sie möchten die Version ändern. Weitere Informationen finden Sie unter Angabe der zu verwendenden Aktionsversion.
Anmerkung
Wenn aws/cdk-deploy@v2
Sie angeben, wird die Aktion für das Image vom März 2024 ausgeführt, das neuere Tools wie Node.js 18 enthält. Durch aws/cdk-deploy@v1
die Angabe wird die Aktion auf dem Image vom November 2022 ausgeführt, das ältere Tools wie Node.js 16 enthält.
Standard: aws/cdk-deploy@v2
.
Entsprechende Benutzeroberfläche: Workflow-Diagram/ CDKDeploy _nn/ aws/cdk-deploy @v2 label
DependsOn
(CDKDeploy
/DependsOn)
(Optional)
Geben Sie eine Aktion oder Aktionsgruppe an, die erfolgreich ausgeführt werden muss, damit die Bereitstellungsaktion ausgeführt werden kann.AWS CDK Wir empfehlen, die AWS CDK Bootstrap-Aktion in der DependsOn
Eigenschaft wie folgt anzugeben:
CDKDeploy: Identifier: aws/cdk-deploy@v2 DependsOn: - CDKBootstrap
Anmerkung
Bootstrapping ist eine zwingende Voraussetzung für die Bereitstellung einer App. AWS CDK Wenn Sie die AWS CDK Bootstrap-Aktion nicht in Ihren Workflow aufnehmen, müssen Sie eine andere Möglichkeit finden, den AWS CDK Bootstrap-Stack bereitzustellen, bevor Sie Ihre Bereitstellungsaktion ausführen.AWS CDK Weitere Informationen finden Sie unter Aktion „AWS CDK Deploy“ hinzufügen in Eine AWS CDK App mit einem Workflow bereitstellen.
Weitere Informationen zur Funktion „Hängt davon ab“ finden Sie unter. Aktionen sequenzieren
Entsprechende Benutzeroberfläche: Registerkarte „Eingaben“/„Hängt davon ab“ — optional
Compute
(CDKDeploy
/Compute)
(Optional)
Die Rechen-Engine, mit der Ihre Workflow-Aktionen ausgeführt wurden. Sie können die Berechnung entweder auf Workflow-Ebene oder auf Aktionsebene angeben, aber nicht beide. Wenn auf Workflow-Ebene angegeben, gilt die Rechenkonfiguration für alle im Workflow definierten Aktionen. Auf Workflow-Ebene können Sie auch mehrere Aktionen auf derselben Instanz ausführen. Weitere Informationen finden Sie unter Rechenleistung für mehrere Aktionen gemeinsam nutzen.
Entsprechende Benutzeroberfläche: keine
Type
(CDKDeploy
/Compute/Type)
(Erforderlich, wenn Compute es enthalten ist)
Der Typ der Compute Engine. Sie können einen der folgenden Werte verwenden:
-
EC2(visueller Editor) oder
EC2
(YAMLEditor)Optimiert für Flexibilität bei Aktionsläufen.
-
Lambda (visueller Editor) oder
Lambda
(YAMLEditor)Optimierte Startgeschwindigkeiten für Aktionen.
Weitere Informationen zu Datentypen finden Sie unter Berechnungstypen.
Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration“ /Erweitert — optional/ Berechnungstyp
Fleet
(CDKDeploy
/Compute/Fleet)
(Optional)
Geben Sie die Maschine oder Flotte an, auf der Ihr Workflow oder Ihre Workflow-Aktionen ausgeführt werden sollen. Bei bedarfsgesteuerten Flotten stellt der Workflow zu Beginn einer Aktion die benötigten Ressourcen bereit, und die Maschinen werden zerstört, wenn die Aktion abgeschlossen ist. Beispiele für Flotten auf Abruf:Linux.x86-64.Large
,. Linux.x86-64.XLarge
Weitere Informationen zu Flotten auf Abruf finden Sie unter. Flotteneigenschaften auf Abruf
Bei bereitgestellten Flotten konfigurieren Sie eine Reihe von dedizierten Maschinen, um Ihre Workflow-Aktionen auszuführen. Diese Maschinen bleiben inaktiv und können sofort Aktionen ausführen. Weitere Informationen zu bereitgestellten Flotten finden Sie unter. Bereitgestellte Flotteneigenschaften
Wenn Fleet
es weggelassen wird, ist die Standardeinstellung. Linux.x86-64.Large
Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration“ /Erweitert — optional/ Compute Fleet
Timeout
(CDKDeploy
/Timeout)
(Erforderlich)
Geben Sie den Zeitraum in Minuten (YAMLEditor) oder Stunden und Minuten (visueller Editor) an, für den die Aktion ausgeführt werden kann, bevor CodeCatalyst die Aktion beendet wird. Das Minimum beträgt 5 Minuten und das Maximum ist unter beschriebenKontingente für Workflows in CodeCatalyst. Das Standard-Timeout entspricht dem maximalen Timeout.
Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration/Timeout“ — optional
Inputs
(CDKDeploy
/Inputs)
(Optional)
Der Inputs
Abschnitt definiert die Daten, die während einer Workflow-Ausführung CDKDeploy
benötigt werden.
Anmerkung
Für jede AWS CDK Bereitstellungsaktion ist nur eine Eingabe (entweder eine Quelle oder ein Artefakt) zulässig.
Entsprechende Benutzeroberfläche: Registerkarte „Eingaben“
Sources
(CDKDeploy
/Inputs/Sources)
(Erforderlich, wenn die AWS CDK App, die Sie bereitstellen möchten, in einem Quell-Repository gespeichert ist)
Wenn Ihre AWS CDK App in einem Quell-Repository gespeichert ist, geben Sie die Bezeichnung dieses Quell-Repositorys an. Die AWS CDK Bereitstellungsaktion synthetisiert die App in diesem Repository, bevor der Bereitstellungsprozess gestartet wird. Derzeit ist WorkflowSource
das einzige unterstützte Label.
Wenn Ihre AWS CDK App nicht in einem Quell-Repository enthalten ist, muss sie sich in einem Artefakt befinden, das durch eine andere Aktion generiert wurde.
Weitere Informationen zu Quellen finden Sie unter Quell-Repositorys mit Workflows verbinden.
Entsprechende Benutzeroberfläche: Registerkarte „Eingaben“/„Quellen“ — optional
Artifacts - input
(CDKDeploy
/Inputs/Artifacts)
(Erforderlich, wenn die AWS CDK App, die Sie bereitstellen möchten, in einem Ausgabeartefakt einer vorherigen Aktion gespeichert ist)
Wenn Ihre AWS CDK App in einem Artefakt enthalten ist, das durch eine vorherige Aktion generiert wurde, geben Sie dieses Artefakt hier an. Die AWS CDK Bereitstellungsaktion synthetisiert die App im angegebenen Artefakt zu einer CloudFormation Vorlage, bevor der Bereitstellungsprozess gestartet wird. Wenn Ihre AWS CDK App nicht in einem Artefakt enthalten ist, muss sie sich in Ihrem Quell-Repository befinden.
Weitere Informationen zu Artefakten, einschließlich Beispielen, finden Sie unter. Artefakte und Dateien zwischen Aktionen teilen
Entsprechende Benutzeroberfläche: Registerkarte „Eingaben“/„Artefakte“ — optional
Outputs
(CDKDeploy
/Outputs)
(Optional)
Definiert die Daten, die von der Aktion während einer Workflow-Ausführung ausgegeben werden.
Entsprechende Benutzeroberfläche: Registerkarte „Ausgaben“
Artifacts - output
(CDKDeploy
/Outputs/Artifacts
(Optional)
Geben Sie die durch die Aktion generierten Artefakte an. Sie können diese Artefakte als Eingabe in anderen Aktionen referenzieren.
Weitere Informationen zu Artefakten, einschließlich Beispielen, finden Sie unterArtefakte und Dateien zwischen Aktionen teilen.
Entsprechende Benutzeroberfläche: Registerkarte Ausgaben/Artefakte
Name
(CDKDeploy
/Outputs/Artifacts/Name)
(Erforderlich, wenn Artifacts - output es enthalten ist)
Geben Sie den Namen des Artefakts an, das die AWS CloudFormation Vorlage enthalten soll, die durch die AWS CDK Bereitstellungsaktion zur Laufzeit synthetisiert wird. Der Standardwert ist cdk_artifact
. Wenn Sie kein Artefakt angeben, synthetisiert die Aktion die Vorlage, speichert sie jedoch nicht in einem Artefakt. Erwägen Sie, die synthetisierte Vorlage in einem Artefakt zu speichern, um sie zu Test- oder Fehlerbehebungszwecken aufzuzeichnen.
Entsprechende Benutzeroberfläche: Registerkarte Ausgaben/Artefakte/Artefakt hinzufügen/Namen des Artefakts erstellen
Files
(CDKDeploy
/Outputs/Artifacts/Files)
(Artifacts - outputErforderlich, falls enthalten)
Geben Sie die Dateien an, die in das Artefakt aufgenommen werden sollen. Sie müssen angeben"cdk.out/**/*"
, dass die synthetisierte AWS CloudFormation Vorlage Ihrer AWS CDK App eingeschlossen werden soll.
Anmerkung
cdk.out
ist das Standardverzeichnis, in dem synthetisierte Dateien gespeichert werden. Wenn Sie ein anderes Ausgabeverzeichnis als cdk.out
in Ihrer cdk.json
Datei angegeben haben, geben Sie dieses Verzeichnis hier statt ancdk.out
.
Entsprechende Benutzeroberfläche: Registerkarte Ausgaben/Artefakte/Artefakte hinzufügen/Von build erzeugte Dateien
Environment
(CDKDeploy
/Environment)
(Erforderlich)
Geben Sie die Umgebung an, die für die Aktion verwendet werden soll. CodeCatalyst Die Aktion stellt eine Verbindung zu dem in der ausgewählten Umgebung VPC angegebenen AWS-Konto und optionalen Amazon her. Die Aktion verwendet die in der Umgebung angegebene IAM Standardrolle, um eine Verbindung zum herzustellen AWS-Konto, und verwendet die in der VPCAmazon-Verbindung angegebene IAM Rolle, um eine Verbindung zum Amazon herzustellenVPC.
Anmerkung
Wenn die IAM Standardrolle nicht über die für die Aktion erforderlichen Berechtigungen verfügt, können Sie die Aktion so konfigurieren, dass sie eine andere Rolle verwendet. Weitere Informationen finden Sie unter Die IAM Rolle einer Aktion ändern.
Weitere Informationen zu Umgebungen finden Sie unter Einsatz in AWS-Konten und VPCs undErstellen einer Umgebung.
Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration/Umgebung“
Name
(CDKDeploy
/Environment/Name)
(Erforderlich, falls Environment enthalten)
Geben Sie den Namen einer vorhandenen Umgebung an, die Sie der Aktion zuordnen möchten.
Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration/Umgebung“
Connections
(CDKDeploy
/Environment/Connections)
(Optional in neueren Versionen der Aktion; in älteren Versionen erforderlich)
Geben Sie die Kontoverbindung an, die der Aktion zugeordnet werden soll. Sie können unter maximal eine Kontoverbindung angebenEnvironment
.
Wenn Sie keine Kontoverbindung angeben:
-
Die Aktion verwendet die AWS-Konto Verbindung und die IAM Standardrolle, die in der Umgebung in der CodeCatalyst Konsole angegeben sind. Informationen zum Hinzufügen einer Kontoverbindung und einer IAM Standardrolle zur Umgebung finden Sie unterErstellen einer Umgebung.
-
Die IAM Standardrolle muss die Richtlinien und Berechtigungen enthalten, die für die Aktion erforderlich sind. Informationen zu diesen Richtlinien und Berechtigungen finden Sie in der Beschreibung der Role-Eigenschaft in der YAML Definitionsdokumentation der Aktion.
Weitere Informationen zu Kontoverbindungen finden Sie unterErmöglichen des Zugriffs auf AWS Ressourcen mit verbundenen AWS-Konten. Hinweise zum Hinzufügen einer Kontoverbindung zu einer Umgebung finden Sie unterErstellen einer Umgebung.
Entsprechende Benutzeroberfläche: Je nach Aktionsversion eine der folgenden Optionen:
-
(Neuere Versionen) Registerkarte „Konfiguration“ /Umgebung/Was ist drin
my-environment
? /Dreipunktmenü/ Rolle wechseln -
(Ältere Versionen) Registerkarte AWS „Konfiguration“ /„ Umgebung/Konto/Rolle“/Kontoverbindung
Name
(CDKDeploy
/Environment/Connections/Name)
Connections(Erforderlich, falls enthalten)
Geben Sie den Namen der Kontoverbindung an.
Entsprechende Benutzeroberfläche: Je nach Aktionsversion eine der folgenden Optionen:
-
(Neuere Versionen) Registerkarte „Konfiguration“ /Umgebung/Was ist drin
my-environment
? /Dreipunktmenü/ Rolle wechseln -
(Ältere Versionen) Registerkarte AWS „Konfiguration“ /„ Umgebung/Konto/Rolle“/Kontoverbindung
Role
(CDKDeploy
/Environment/Connections/Role)
Connections(Erforderlich, falls enthalten)
Geben Sie den Namen der Kontoverbindung an.
Geben Sie den Namen der IAM Rolle an, mit der die AWS CDK Bereitstellungsaktion auf den AWS CDK Anwendungsstapel zugreift AWS und ihn bereitstellt. Stellen Sie sicher, dass Sie die Rolle zu Ihrem CodeCatalyst Bereich hinzugefügt haben und dass die Rolle die folgenden Richtlinien enthält.
Wenn Sie keine IAM Rolle angeben, verwendet die Aktion die IAM Standardrolle, die in der Umgebung in der CodeCatalyst Konsole aufgeführt ist. Wenn Sie die Standardrolle in der Umgebung verwenden, stellen Sie sicher, dass sie über die folgenden Richtlinien verfügt.
-
Die folgende Berechtigungsrichtlinie:
Warnung
Beschränken Sie die Berechtigungen auf die in der folgenden Richtlinie angegebenen. Die Verwendung einer Rolle mit umfassenderen Berechtigungen kann ein Sicherheitsrisiko darstellen.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "cloudformation:DescribeStackEvents", "cloudformation:DescribeChangeSet", "cloudformation:DescribeStacks", "cloudformation:ListStackResources" ], "Resource": "*" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::
aws-account
:role/cdk-*" } ] } Die folgende benutzerdefinierte Vertrauensrichtlinie:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Anmerkung
Sie können die CodeCatalystWorkflowDevelopmentRole-
Rolle mit dieser Aktion verwenden, wenn Sie möchten. Weitere Informationen über diese Rolle finden Sie unter Die CodeCatalystWorkflowDevelopmentRole-spaceNameRolle für Ihr Konto und Ihren Bereich erstellen. Beachten Sie, dass die spaceName
CodeCatalystWorkflowDevelopmentRole-
Rolle über volle Zugriffsberechtigungen verfügt, was ein Sicherheitsrisiko darstellen kann. Wir empfehlen, diese Rolle nur in Tutorials und Szenarien zu verwenden, in denen die Sicherheit weniger wichtig ist. spaceName
Entsprechende Benutzeroberfläche: Je nach Aktionsversion eine der folgenden Optionen:
-
(Neuere Versionen) Registerkarte „Konfiguration“ /Umgebung/Was ist drin
my-environment
? /Dreipunktmenü/ Rolle wechseln -
(Ältere Versionen) Registerkarte „Konfiguration“ /„ Umgebung/Konto/Rolle“/Rolle
Configuration
(CDKDeploy
/Configuration)
(Erforderlich)
Ein Abschnitt, in dem Sie die Konfigurationseigenschaften der Aktion definieren können.
Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration“
StackName
(CDKDeploy
/Configuration/StackName)
(Erforderlich)
Der Name Ihres AWS CDK App-Stacks, wie er in der Einstiegspunktdatei im Verzeichnis Ihrer AWS CDK App erscheint. bin
Das folgende Beispiel zeigt den Inhalt einer TypeScript Einstiegspunktdatei, wobei der Stackname hervorgehoben ist in red italics
. Wenn Ihre Einstiegspunktdatei in einer anderen Sprache ist, sieht sie ähnlich aus.
import * as cdk from 'aws-cdk-lib';
import { CdkWorksopTypescriptStack } from '../lib/cdk_workshop_typescript-stack';
const app = new cdk.App();
new CdkWorkshopTypescriptStack(app, 'CdkWorkshopTypescriptStack
');
Sie können nur einen Stapel angeben.
Tipp
Wenn Sie mehrere Stapel haben, können Sie einen übergeordneten Stapel mit verschachtelten Stacks erstellen. In dieser Aktion können Sie dann den übergeordneten Stapel angeben, um alle Stapel bereitzustellen.
Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration“/Name des Stacks
Region
(CDKDeploy
/Configuration/Region)
(Optional)
Geben Sie an, AWS-Region in welchem Bereich der AWS CDK Anwendungsstapel bereitgestellt werden soll. Eine Liste der Regionscodes finden Sie unter Regionale Endpunkte.
Wenn Sie keine Region angeben, wird die AWS CDK Bereitstellungsaktion in der Region bereitgestellt, die in Ihrem AWS CDK Code angegeben ist. Weitere Informationen finden Sie im AWS Cloud Development Kit (AWS CDK) Entwicklerhandbuch unter Umgebungen.
Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration/Region“
Tags
(CDKDeploy
/Configuration/Tags)
(Optional)
Geben Sie die Tags an, die Sie auf die AWS Ressourcen im AWS CDK Anwendungsstapel anwenden möchten. Tags werden sowohl auf den Stack selbst als auch auf einzelne Ressourcen im Stack angewendet. Weitere Informationen zum Taggen finden Sie unter Tagging im AWS Cloud Development Kit (AWS CDK) Entwicklerhandbuch.
Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration“ /„ Erweitert“ — optional/ „Tags“
Context
(CDKDeploy
/Configuration/Context)
(Optional)
Geben Sie Kontexte in Form von Schlüssel-Wert-Paaren an, die dem Anwendungsstapel zugeordnet werden sollen. AWS CDK Weitere Informationen zu Kontexten finden Sie unter Runtime-Kontexte im AWS Cloud Development Kit (AWS CDK) Developer Guide.
Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration“ /Erweitert — optional/ Kontext
CdkCliVersion
(CDKDeploy
/Configuration/CdkCliVersion)
(Optional)
Diese Eigenschaft ist in Version 1.0.13 oder höher der AWS CDK Bereitstellungsaktion und Version 1.0.8 oder höher der Bootstrap-Aktion verfügbar.AWS CDK
Geben Sie eines der folgenden Elemente an:
-
Die Vollversion der AWS Cloud Development Kit (AWS CDK) Befehlszeilenschnittstelle (CLI) (auch AWS CDK Toolkit genannt), die Sie für diese Aktion verwenden möchten. Beispiel:
2.102.1
. Erwägen Sie die Angabe einer Vollversion, um Konsistenz und Stabilität beim Erstellen und Bereitstellen Ihrer Anwendung zu gewährleisten.Oder
-
latest
. Erwägen Sielatest
die Angabe, um die neuesten Funktionen und Korrekturen von nutzen zu können CDKCLI.
Die Aktion lädt die angegebene Version (oder die neueste Version) von AWS CDK CLI auf das CodeCatalyst Build-Image herunter und verwendet diese Version dann, um die Befehle auszuführen, die für die Bereitstellung Ihrer CDK Anwendung oder das Bootstrapping Ihrer AWS Umgebung erforderlich sind.
Eine Liste der unterstützten CDK CLI Versionen, die Sie verwenden können, finden Sie unter AWS CDK Versionen.
Wenn Sie diese Eigenschaft weglassen, verwendet die Aktion eine AWS CDK CLI Standardversion, die in einem der folgenden Themen beschrieben wird:
Entsprechende Benutzeroberfläche: Registerkarte AWS CDK CLI „Konfiguration“ und Version
CdkRootPath
(CDKDeploy
/Configuration/CdkRootPath)
(Optional)
Der Pfad zu dem Verzeichnis, das die cdk.json
Datei Ihres AWS CDK Projekts enthält. Die AWS CDK Bereitstellungsaktion wird von diesem Ordner aus ausgeführt, und alle durch die Aktion erstellten Ausgaben werden diesem Verzeichnis hinzugefügt. Falls nicht angegeben, geht die AWS CDK Bereitstellungsaktion davon aus, dass sich die cdk.json
Datei im Stammverzeichnis Ihres AWS CDK Projekts befindet.
Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration“/Verzeichnis, in dem sich die Datei cdk.json befindet
CfnOutputVariables
(CDKDeploy
/Configuration/CfnOutputVariables)
(Optional)
Geben Sie an, welche CfnOutput
Konstrukte in Ihrem AWS CDK Anwendungscode Sie als Workflow-Ausgabevariablen verfügbar machen möchten. Sie können dann in nachfolgenden Aktionen in Ihrem Workflow auf die Workflow-Ausgabevariablen verweisen. Weitere Informationen zu Variablen finden Sie CodeCatalyst unterVerwenden von Variablen in Workflows.
Wenn Ihr AWS CDK Anwendungscode beispielsweise so aussieht:
import { Duration, Stack, StackProps, CfnOutput, RemovalPolicy} from 'aws-cdk-lib';
import * as dynamodb from 'aws-cdk-lib/aws-dynamodb';
import * as s3 from 'aws-cdk-lib/aws-s3';
import { Construct } from 'constructs';
import * as cdk from 'aws-cdk-lib';
export class HelloCdkStack extends Stack {
constructor(scope: Construct, id: string, props?: StackProps) {
super(scope, id, props);
const bucket = new s3.Bucket(this, 'amzn-s3-demo-bucket', {
removalPolicy: RemovalPolicy.DESTROY,
});
new CfnOutput(this, 'bucketName', {
value: bucket.bucketName,
description: 'The name of the s3 bucket',
exportName: 'amzn-s3-demo-bucket',
});
const table = new dynamodb.Table(this, 'todos-table', {
partitionKey: {name: 'todoId', type: dynamodb.AttributeType.NUMBER},
billingMode: dynamodb.BillingMode.PAY_PER_REQUEST,
removalPolicy: RemovalPolicy.DESTROY,
})
new CfnOutput(this, 'tableName', {
value: table.tableName,
description: 'The name of the dynamodb table',
exportName: 'myDynamoDbTable',
});
...
}
}
... und deine CfnOutputVariables
Immobilie sieht so aus:
Configuration:
...
CfnOutputVariables: '["bucketName","tableName"]'
... dann generiert die Aktion die folgenden Workflow-Ausgabevariablen:
Schlüssel | Wert |
---|---|
bucketName |
|
tableName |
|
Sie können dann in nachfolgenden Aktionen auf die tableName
Variablen bucketName
und verweisen. Informationen zum Verweisen auf Workflow-Ausgabevariablen in nachfolgenden Aktionen finden Sie unterVerweisen auf eine vordefinierte Variable.
Wenn Sie in der CfnOutputVariables
Eigenschaft keine CfnOutput
Konstrukte angeben, macht die Aktion die ersten vier (oder weniger) gefundenen CloudFormation Ausgabevariablen als Workflow-Ausgabevariablen verfügbar. Weitere Informationen finden Sie unter Variablen 'AWS CDK bereitstellen'.
Tipp
Um eine Liste aller von der Aktion erzeugten CloudFormation Ausgabevariablen zu erhalten, führen Sie den Workflow, der die AWS CDK Bereitstellungsaktion enthält, einmal aus und schauen Sie dann auf der Registerkarte Protokolle der Aktion nach. Die Protokolle enthalten eine Liste aller mit Ihrer AWS CDK App verknüpften CloudFormation Ausgabevariablen. Sobald Sie wissen, was alle CloudFormation Variablen sind, können Sie mithilfe der CfnOutputVariables
Eigenschaft angeben, welche Sie in Workflow-Ausgabevariablen konvertieren möchten.
Weitere Informationen zu AWS CloudFormation Ausgabevariablen finden Sie in der Dokumentation zum CfnOutput
Konstrukt, die in der AWS Cloud Development Kit (AWS CDK) APIReferenz unter class CfnOutput (construct) verfügbar ist.
Entsprechende Benutzeroberfläche: Registerkarte „AWS CloudFormation Konfiguration/Ausgabevariablen“
CloudAssemblyRootPath
(CDKDeploy
/Configuration/CloudAssemblyRootPath)
(Optional)
Wenn Sie den Stack Ihrer AWS CDK App bereits zu einer Cloud-Assembly zusammengefasst haben (mithilfe der cdk synth
Operation), geben Sie den Stammpfad des Cloud-Assembly-Verzeichnisses (cdk.out
) an. Die AWS CloudFormation Vorlage, die sich im angegebenen Cloud-Assembly-Verzeichnis befindet, wird von der AWS CDK Bereitstellungsaktion AWS-Konto mithilfe des cdk deploy --app
Befehls in Ihnen bereitgestellt. Wenn die --app
Option vorhanden ist, findet der cdk synth
Vorgang nicht statt.
Wenn Sie kein Cloud-Assembly-Verzeichnis angeben, führt die AWS CDK Bereitstellungsaktion den cdk deploy
Befehl ohne die --app
Option aus. Ohne die --app
Option wird durch den cdk deploy
Vorgang Ihre AWS CDK App sowohl synthetisiert (cdk synth
) als auch in Ihrem AWS-Konto bereitgestellt.
Warum sollte ich eine bestehende, synthetisierte Cloud-Assembly angeben, wenn die Aktion „AWS CDK Deploy“ die Synthese zur Laufzeit durchführen kann?
Möglicherweise möchten Sie eine vorhandene, synthetisierte Cloud-Assembly spezifizieren, um:
-
Stellen Sie sicher, dass jedes Mal, wenn die Aktion „AWS CDK Bereitstellen“ ausgeführt wird, exakt derselbe Satz von Ressourcen bereitgestellt wird
Wenn Sie keine Cloud-Assembly angeben, ist es möglich, dass die Aktion „AWS CDK Bereitstellen“ unterschiedliche Dateien synthetisiert und bereitstellt, je nachdem, wann sie ausgeführt wird. Die AWS CDK Bereitstellungsaktion könnte beispielsweise eine Cloud-Assembly mit einem Satz von Abhängigkeiten während einer Testphase und einem anderen Satz von Abhängigkeiten während einer Produktionsphase synthetisieren (wenn sich diese Abhängigkeiten zwischen den Phasen geändert haben). Um eine exakte Parität zwischen dem, was getestet wurde, und dem, was bereitgestellt wird, zu gewährleisten, empfehlen wir, einmal zu synthetisieren und dann das Feld Pfad zum Cloud-Assembly-Verzeichnis (visueller Editor) oder
CloudAssemblyRootPath
Eigenschaft (YAMLEditor) zu verwenden, um die bereits synthetisierte Cloud-Assembly zu spezifizieren. -
Verwenden Sie in der App nicht standardmäßige Paketmanager und Tools AWS CDK
Während eines
synth
Vorgangs versucht die AWS CDK Bereitstellungsaktion, Ihre App mithilfe von Standardtools wie npm oder pip auszuführen. Wenn die Aktion Ihre App mit diesen Tools nicht erfolgreich ausführen kann, findet die Synthese nicht statt und die Aktion schlägt fehl. Um dieses Problem zu umgehen, können Sie die genauen Befehle, die für die erfolgreiche Ausführung Ihrer App erforderlich sind, in der AWS CDKcdk.json
App-Datei angeben und Ihre App dann mit einer Methode synthetisieren, die nicht die AWS CDK Bereitstellungsaktion beinhaltet. Nachdem die Cloud-Assembly generiert wurde, können Sie sie im Feld Pfad zum Cloud-Assembly-Verzeichnis (visueller Editor) oder in derCloudAssemblyRootPath
Eigenschaft (YAMLEditor) der AWS CDK Bereitstellungsaktion angeben.
Informationen zur Konfiguration der cdk.json
Datei, sodass sie Befehle für die Installation und Ausführung Ihrer AWS CDK App enthält, finden Sie unter Angeben des App-Befehls.
Informationen zu den cdk synth
Befehlen cdk deploy
und sowie zu den --app
Optionen finden Sie unter Stacks bereitstellen, Stacks synthetisieren und Synthese überspringen im Entwicklerhandbuch.AWS Cloud Development Kit (AWS CDK)
Informationen zu Cloud-Assemblys finden Sie unter Cloud Assembly in der Referenz.AWS Cloud Development Kit (AWS CDK) API
Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration“/Pfad zum Cloud-Assembly-Verzeichnis