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

Amazon CodeCatalyst는 2025년 11월 7일부터 신규 고객에게 더 이상 공개되지 않습니다. 서비스를 사용하려면 2025년 11월 7일 이전에 가입하세요. 자세한 내용은 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), });

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