Menambahkan komponen alur kerja ke cetak biru - Amazon CodeCatalyst

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menambahkan komponen alur kerja ke cetak biru

Alur kerja digunakan oleh CodeCatalyst proyek Amazon untuk menjalankan tindakan berdasarkan pemicu. Anda dapat menggunakan komponen alur kerja untuk membangun dan menyusun file YAMAL alur kerja. Untuk informasi selengkapnya, lihat Definisi alur kerja YAML.

Untuk mengimpor komponen alur CodeCatalyst kerja cetak biru Amazon

Dalam blueprint.ts file Anda, tambahkan yang berikut ini:

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

Contoh komponen alur kerja

WorkflowBuilder komponen

Anda dapat menggunakan kelas untuk membangun definisi alur kerja. Definisi dapat diberikan ke komponen alur kerja untuk rendering dalam repositori.

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

Komponen Proyek Alur Kerja

Contoh berikut menunjukkan bagaimana komponen Projen dapat digunakan untuk menulis alur kerja YAMAL ke repositori:

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

Menghubungkan ke lingkungan

Banyak alur kerja perlu dijalankan dalam koneksi akun AWS. Alur kerja menangani ini dengan mengizinkan tindakan untuk terhubung ke lingkungan dengan spesifikasi akun dan nama peran.

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