

Amazon CodeCatalyst tidak lagi terbuka untuk pelanggan baru. Pelanggan yang sudah ada dapat terus menggunakan layanan ini seperti biasa. Lihat informasi yang lebih lengkap di [Cara bermigrasi dari CodeCatalyst](migration.md).

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
<a name="comp-workflow-bp"></a>

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 [Alur kerja definisi YAMAL](workflow-reference.md).

**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'
```

**Topics**
+ [Contoh komponen alur kerja](#comp-workflows-examples-bp)
+ [Menghubungkan ke lingkungan](#comp-workflows-connect-env-bp)

## Contoh komponen alur kerja
<a name="comp-workflows-examples-bp"></a>

### WorkflowBuilder komponen
<a name="comp-workflows-workflowbuilder-bp"></a>

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
<a name="comp-workflows-projen-bp"></a>

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
<a name="comp-workflows-connect-env-bp"></a>

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