Adição de componentes de fluxo de trabalho a um esquema - Amazon CodeCatalyst

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Adição de componentes de fluxo de trabalho a um esquema

Um fluxo de trabalho é usado pelos projetos do Amazon CodeCatalyst para executar ações com base em gatilhos. Você pode usar componentes de fluxo de trabalho para criar e reunir arquivos YAML do fluxo de trabalho. Para ter mais informações, consulte Definição do YAML do fluxo de trabalho.

Para importar componentes de fluxos de trabalho de esquema do Amazon CodeCatalyst

No arquivo blueprint.ts, adicione:

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

Exemplos de componentes de fluxo de trabalho

Componente WorkflowBuilder

Você pode usar uma classe para criar uma definição de fluxo de trabalho. A definição pode ser dada a um componente do fluxo de trabalho para renderização em um repositório.

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), });

Componente Projen de fluxo de trabalho

O exemplo a seguir mostra como um componente Projen pode ser usado para gravar um YAML de fluxo de trabalho em um repositório:

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 ...});

Conexão a um ambiente

Muitos fluxos de trabalho precisam ser executados em uma conexão de conta da AWS. Os fluxos de trabalho lidam com isso permitindo que as ações se conectem a ambientes com especificações de nome de conta e perfil.

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), });