블루프린트에 워크플로우 구성 요소 추가 - 아마존 CodeCatalyst

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

블루프린트에 워크플로우 구성 요소 추가

워크플로는 Amazon CodeCatalyst 프로젝트에서 트리거를 기반으로 작업을 실행하는 데 사용됩니다. 워크플로 구성 요소를 사용하여 워크플로 YAML 파일을 만들고 구성할 수 있습니다. 자세한 정보는 워크플로우 YAML 정의을 참조하세요.

Amazon CodeCatalyst 블루프린트 워크플로 구성 요소를 가져오려면

blueprint.ts파일에 다음을 추가합니다.

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

워크플로 구성 요소 예제

WorkflowBuilder 구성 요소

클래스를 사용하여 워크플로 정의를 작성할 수 있습니다. 워크플로 구성 요소에 정의를 지정하여 저장소에서 렌더링할 수 있습니다.

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

워크플로우 Projen 구성 요소

다음 예제는 Projen 구성 요소를 사용하여 리포지토리에 워크플로 YAML을 작성하는 방법을 보여줍니다.

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

환경에 연결

많은 워크플로를 AWS 계정 연결에서 실행해야 합니다. 워크플로는 계정 및 역할 이름 사양이 지정된 환경에 작업을 연결할 수 있도록 하여 이를 처리합니다.

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