Hinzufügen von Workflow-Komponenten zu einem Blueprint - Amazon CodeCatalyst

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.

Hinzufügen von Workflow-Komponenten zu einem Blueprint

Ein Workflow wird von CodeCatalyst Amazon-Projekten verwendet, um Aktionen auf der Grundlage von Triggern auszuführen. Sie können Workflow-Komponenten verwenden, um Workflow-YAML-Dateien zu erstellen und zusammenzustellen. Weitere Informationen finden Sie unter YAMLWorkflow-Definition.

So importieren Sie Workflow-Komponenten von Amazon CodeCatalyst Blueprints

Fügen Sie in Ihrer blueprint.ts Datei Folgendes hinzu:

import { WorkflowBuilder, Workflow } from '@amazon-codecatalyst/codecatalyst-workflows'

Beispiele für Workflow-Komponenten

WorkflowBuilder Komponente

Sie können eine Klasse verwenden, um eine Workflow-Definition zu erstellen. Die Definition kann einer Workflow-Komponente zum Rendern in einem Repository zugewiesen werden.

import { WorkflowBuilder } from '@amazon-codecatalyst/codecatalyst-workflows' const workflowBuilder = new WorkflowBuilder({} as Blueprint, { Name: 'my_workflow', }); // trigger the workflow on pushes to branch 'main' workflowBuilder.addBranchTrigger(['main']); // add a build action workflowBuilder.addBuildAction({ // give the action a name actionName: 'build_and_do_some_other_stuff', // the action pulls from source code input: { Sources: ['WorkflowSource'], }, // the output attempts to autodiscover test reports, but not in the node modules output: { AutoDiscoverReports: { Enabled: true, ReportNamePrefix: AutoDiscovered, IncludePaths: ['**/*'], ExcludePaths: ['*/node_modules/**/*'], }, }, // execute some arbitrary steps steps: [ 'npm install', 'npm run myscript', 'echo hello-world', ], // add an account connection to the workflow environment: convertToWorkflowEnvironment(myEnv), });

Workflow-bewährte Komponente

Das folgende Beispiel zeigt, wie eine Projen-Komponente verwendet werden kann, um ein Workflow-YAML in ein Repository zu schreiben:

import { Workflow } from '@amazon-codecatalyst/codecatalyst-workflows' ... const repo = new SourceRepository const blueprint = this; const workflowDef = workflowBuilder.getDefinition() // creates a workflow.yaml at .aws/workflows/${workflowDef.name}.yaml new Workflow(blueprint, repo, workflowDef); // can also pass in any object and have it rendered as a yaml. This is unsafe and may not produce a valid workflow new Workflow(blueprint, repo, {... some object ...});

Verbindung zu einer Umgebung herstellen

Viele Workflows müssen in einer AWS-Kontoverbindung ausgeführt werden. Workflows bewältigen dies, indem sie es Aktionen ermöglichen, eine Verbindung zu Umgebungen mit Konto- und Rollennamenspezifikationen herzustellen.

import { convertToWorkflowEnvironment } from '@amazon-codecatalyst/codecatalyst-workflows' const myEnv = new Environment(...); // can be passed into a workflow constructor const workflowEnvironment = convertToWorkflowEnvironment(myEnv); // add a build action workflowBuilder.addBuildAction({ ... // add an account connection to the workflow environment: convertToWorkflowEnvironment(myEnv), });