翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ワークフローは、トリガーに基づいてアクションを実行するために 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), });