View a markdown version of this page

Definisi YAML alur kerja - Amazon CodeCatalyst

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.

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

Definisi YAML alur kerja

Berikut ini adalah dokumentasi referensi untuk file definisi alur kerja.

File definisi alur kerja adalah file YAML yang menjelaskan alur kerja Anda. Secara default, file disimpan dalam ~/.codecatalyst/workflows/ folder di root repositori sumber Anda. File dapat memiliki ekstensi.yml atau.yaml, dan ekstensi harus huruf kecil.

Untuk membuat dan mengedit file definisi alur kerja, Anda dapat menggunakan editor seperti vim, atau Anda dapat menggunakan editor visual CodeCatalyst konsol atau editor YAML. Untuk informasi selengkapnya, lihat Menggunakan editor visual dan YAML CodeCatalyst konsol.

catatan

Sebagian besar properti YAML berikut memiliki elemen UI yang sesuai di editor visual. Untuk mencari elemen UI, gunakan Ctrl+F. Elemen akan terdaftar dengan properti YAML terkait.

Contoh file definisi alur kerja

Berikut ini adalah contoh file definisi alur kerja sederhana. Ini mencakup beberapa properti tingkat atas, Triggers bagian, dan Actions bagian dengan dua tindakan: Build danTest. Untuk informasi selengkapnya, lihat Tentang file definisi alur kerja.

Name: MyWorkflow SchemaVersion: 1.0 RunMode: QUEUED Triggers: - Type: PUSH Branches: - main Actions: Build: Identifier: aws/build@v1 Inputs: Sources: - WorkflowSource Configuration: Steps: - Run: docker build -t MyApp:latest . Test: Identifier: aws/managed-test@v1 DependsOn: - Build Inputs: Sources: - WorkflowSource Configuration: Steps: - Run: npm install - Run: npm run test

Pedoman dan konvensi sintaks

Bagian ini menjelaskan aturan sintaks untuk file definisi alur kerja, serta konvensi penamaan yang digunakan dalam dokumentasi referensi ini.

Pedoman sintaks YAML

File definisi alur kerja ditulis dalam YAML dan mengikuti spesifikasi YAML 1.1, jadi apa pun yang diizinkan dalam spesifikasi itu juga diperbolehkan dalam alur kerja YAML. Jika Anda baru mengenal YAML, berikut adalah beberapa panduan cepat untuk memastikan Anda memberikan kode YAML yang valid.

  • Case-sensitivity: File definisi alur kerja peka huruf besar/kecil, jadi pastikan Anda menggunakan casing yang ditunjukkan dalam dokumentasi ini.

  • Karakter khusus: Sebaiknya gunakan tanda kutip atau tanda kutip ganda di sekitar nilai properti yang menyertakan salah satu karakter khusus berikut: {},[,],,,,*,#,?, < |-,,,,,,=,!,,%, @:, dan ` ,

    Jika Anda tidak memasukkan tanda kutip, karakter khusus yang tercantum sebelumnya dapat ditafsirkan dengan cara yang tidak terduga.

  • Nama properti: Nama properti (sebagai lawan dari nilai properti) terbatas pada karakter alfanumerik (a-z,, 0-9) A-Z, tanda hubung (-), dan garis bawah (_). Spasi tidak diizinkan. Anda tidak dapat menggunakan tanda kutip atau tanda kutip ganda untuk mengaktifkan karakter khusus dan spasi dalam nama properti.

    Tidak diizinkan:

    'My#Build@action'

    My#Build@action

    My Build Action

    Diizinkan:

    My-Build-Action_1

  • Kode Escape: Jika nilai properti Anda menyertakan kode escape (misalnya, \n atau\t), ikuti panduan ini:

    • Gunakan tanda kutip tunggal untuk mengembalikan kode escape sebagai string. Misalnya'my string \n my string', mengembalikan stringmy string \n my string.

    • Gunakan tanda kutip ganda untuk mengurai kode escape. Misalnya,"my string \n my new line", mengembalikan:

      my string my new line
  • Komentar: Kata pengantar komentar dengan#.

    Contoh:

    Name: MyWorkflow # This is a comment. SchemaVersion: 1.0
  • Triple dash (---): Jangan gunakan --- dalam kode YAML Anda. CodeCatalyst mengabaikan segalanya setelah. ---

Konvensi penamaan

Dalam panduan ini, kami menggunakan istilah properti dan bagian untuk merujuk ke item utama dalam file definisi alur kerja.

  • Pro perti adalah item apa pun yang menyertakan titik dua (:). Misalnya, dalam cuplikan kode berikut, semua yang berikut ini adalah properti:Name,,SchemaVersion,RunMode, TriggersType, danBranches.

  • Bagian adalah properti apa pun yang memiliki sub-properti. Dalam cuplikan kode berikut, ada satu Triggers bagian.

    catatan

    Dalam panduan ini, 'bagian' kadang-kadang disebut sebagai 'properti', dan sebaliknya, tergantung pada konteksnya.

    Name: MyWorkflow SchemaVersion: 1.0 RunMode: QUEUED Triggers: - Type: PUSH Branches: - main

Top-level properti

Berikut ini adalah dokumentasi referensi untuk properti tingkat atas dalam file definisi alur kerja.

# Name Name: workflow-name # Schema version SchemaVersion: 1.0 # Run mode RunMode: QUEUED|SUPERSEDED|PARALLEL # Compute Compute: ... # Triggers Triggers: ... # Actions Actions: ...

Nama

(Diperlukan)

Nama alur kerja. Nama alur kerja ditampilkan dalam daftar alur kerja dan disebutkan dalam notifikasi dan log. Nama alur kerja dan nama file definisi alur kerja dapat cocok, atau Anda dapat menamainya secara berbeda. Nama alur kerja tidak perlu unik. Nama alur kerja terbatas pada karakter alfanumerik (a-z, A-Z, 0-9), tanda hubung (-), dan garis bawah (_). Spasi tidak diizinkan. Anda tidak dapat menggunakan tanda kutip untuk mengaktifkan karakter khusus dan spasi dalam nama alur kerja.

UI yang sesuai: properti visual/ editor/Workflow nama alur kerja

SchemaVersion

(Diperlukan)

Versi skema dari definisi alur kerja. Saat ini, satu-satunya nilai yang valid adalah1.0.

UI yang sesuai: tidak ada

RunMode

(Opsional)

Bagaimana CodeCatalyst menangani beberapa run. Anda dapat menggunakan salah satu nilai berikut:

  • QUEUED— Beberapa run diantri dan dijalankan satu demi satu. Anda dapat melakukan hingga 50 lari dalam antrian.

  • SUPERSEDED— Beberapa run diantri dan dijalankan satu demi satu. Antrian hanya dapat menjalankan satu kali, jadi jika dua proses berakhir bersama dalam antrian yang sama, proses selanjutnya menggantikan (mengambil alih dari) proses sebelumnya, dan proses sebelumnya dibatalkan.

  • PARALLEL— Beberapa run terjadi secara bersamaan.

Jika properti ini dihilangkan, defaultnya adalahQUEUED.

Untuk informasi selengkapnya, lihat Mengonfigurasi perilaku antrian run.

UI yang sesuai: visu editor/Workflow properties/Advanced al/mode Jalankan

Hitung

(Opsional)

Mesin komputasi yang digunakan untuk menjalankan tindakan alur kerja Anda. Anda dapat menentukan komputasi baik di tingkat alur kerja atau pada tingkat tindakan, tetapi tidak keduanya. Ketika ditentukan pada tingkat alur kerja, konfigurasi komputasi berlaku untuk semua tindakan yang ditentukan dalam alur kerja. Pada tingkat alur kerja, Anda juga dapat menjalankan beberapa tindakan pada instance yang sama. Untuk informasi selengkapnya, lihat Berbagi komputasi di seluruh tindakan.

Untuk informasi selengkapnya tentang komputasi, lihatMengkonfigurasi image komputasi dan runtime.

UI yang sesuai: tidak ada

Name: MyWorkflow SchemaVersion: 1.0 ... Compute: Type: EC2 | Lambda Fleet: fleet-name SharedInstance: true | false

Tipe

(Compute/Type)

(Diperlukan jika Compute diatur)

Jenis mesin komputasi. Anda dapat menggunakan salah satu nilai berikut:

  • EC2 (editor visual) atau EC2 (editor YAML)

    Dioptimalkan untuk fleksibilitas selama tindakan berjalan.

  • Lambda (editor visual) atau Lambda (editor YAML)

    Kecepatan start-up aksi yang dioptimalkan.

Untuk informasi selengkapnya tentang jenis komputasi, lihatJenis komputasi.

UI yang sesuai: visu editor/Workflow properties/Advanced al/tipe Compute

Armada

(Compute/Fleet)

(Opsional)

Tentukan mesin atau armada yang akan menjalankan alur kerja atau tindakan alur kerja Anda. Dengan armada sesuai permintaan, ketika tindakan dimulai, alur kerja menyediakan sumber daya yang dibutuhkan, dan mesin dihancurkan ketika tindakan selesai. Contoh armada sesuai permintaan:Linux.x86-64.Large,Linux.x86-64.XLarge. Untuk informasi selengkapnya tentang armada sesuai permintaan, lihatOn-demand properti armada.

Dengan armada yang disediakan, Anda mengonfigurasi sekumpulan mesin khusus untuk menjalankan tindakan alur kerja Anda. Mesin-mesin ini tetap menganggur, siap untuk memproses tindakan segera. Untuk informasi selengkapnya tentang armada yang disediakan, lihat. Properti armada yang disediakan

Jika Fleet dihilangkan, defaultnya adalahLinux.x86-64.Large.

Untuk informasi selengkapnya tentang armada komputasi, lihat. Armada komputasi

UI yang sesuai: visu editor/Workflow properties/Advanced al/armada komputasi

SharedInstance

(Compute/SharedInstance)

(Opsional)

Tentukan kemampuan berbagi komputasi untuk tindakan Anda. Dengan berbagi komputasi, tindakan dalam alur kerja berjalan pada instance yang sama (gambar lingkungan runtime). Anda dapat menggunakan salah satu nilai berikut:

  • TRUEberarti bahwa gambar lingkungan runtime dibagikan di antara tindakan alur kerja.

  • FALSEberarti bahwa gambar lingkungan runtime terpisah dimulai dan digunakan untuk setiap tindakan dalam alur kerja, sehingga Anda tidak dapat berbagi sumber daya seperti artefak dan variabel tanpa konfigurasi tambahan.

Untuk informasi selengkapnya tentang berbagi komputasi, lihatBerbagi komputasi di seluruh tindakan.

UI yang sesuai: tidak ada

Pemicu

(Opsional)

Urutan satu atau lebih pemicu untuk alur kerja ini. Jika pemicu tidak ditentukan, maka Anda harus memulai alur kerja secara manual.

Untuk informasi lebih lanjut tentang menggunakan pemicu, lihat Memulai alur kerja berjalan secara otomatis menggunakan pemicu.

UI yang sesuai: editor/workflow diagram visual/Pemicu

Name: MyWorkflow SchemaVersion: 1.0 ... Triggers: - Type: PUSH Branches: - branch-name FilesChanged: - folder1/file - folder2/ - Type: PULLREQUEST Events: - OPEN - CLOSED - REVISION Branches: - branch-name FilesChanged: - file1.txt - Type: SCHEDULE # Run the workflow at 10:15 am (UTC+0) every Saturday Expression: "15 10 ? * 7 *" Branches: - branch-name

Tipe

(Triggers/Type)

(Diperlukan jika Triggers diatur)

Tentukan jenis pemicu. Anda dapat menggunakan salah satu nilai berikut:

  • Dor ong (editor visual) atau PUSH (editor YAML)

    Pemicu push memulai alur kerja saat perubahan didorong ke repositori sumber Anda. Alur kerja yang dijalankan akan menggunakan file di cabang yang Anda dorong (yaitu, cabang tujuan).

  • Permintaan tarik (editor visual) atau PULLREQUEST (editor YAML)

    Pemicu pull request memulai alur kerja saat permintaan tarik dibuka, diperbarui, atau ditutup di repositori sumber Anda. Alur kerja yang dijalankan akan menggunakan file di cabang tempat Anda tarik (yaitu, cabang sumber).

  • Jadwal (editor visual) atau SCHEDULE (editor YAML)

    Pemicu jadwal memulai alur kerja berjalan pada jadwal yang ditentukan oleh ekspresi cron yang Anda tentukan. Proses alur kerja terpisah akan dimulai untuk setiap cabang di repositori sumber Anda menggunakan file cabang. (Untuk membatasi cabang yang diaktifkan pemicu, gunakan bidang Cab ang (editor visual) atau Branches properti (editor YAML).)

    Saat mengonfigurasi pemicu jadwal, ikuti panduan ini:

    • Hanya gunakan satu pemicu jadwal per alur kerja.

    • Jika Anda telah menetapkan beberapa alur kerja di CodeCatalyst ruang Anda, sebaiknya Anda menjadwalkan tidak lebih dari 10 alur kerja untuk memulai secara bersamaan.

    • Pastikan Anda mengonfigurasi ekspresi cron pemicu dengan waktu yang cukup di antara proses. Untuk informasi selengkapnya, lihat Ekspresi.

Sebagai contoh, silakan lihat Contoh: Pemicu dalam alur kerja.

UI yang sesuai: visu editor/workflow diagram/Triggers al/tipe pemicu

Peristiwa

(Triggers/Events)

(Diperlukan jika pemicu Type diatur kePULLREQUEST)

Tentukan jenis peristiwa pull request yang akan memulai alur kerja. Berikut ini adalah nilai yang valid:

  • Permintaan tarik dibuat (editor visual) atau OPEN (editor YAML)

    Proses alur kerja dimulai saat permintaan tarik dibuat.

  • Permintaan tarik ditutup (editor visual) atau CLOSED (editor YAML)

    Proses alur kerja dimulai saat permintaan tarik ditutup. Per CLOSED ilaku acara itu rumit, dan paling baik dipahami melalui contoh. Untuk informasi selengkapnya, lihat Contoh: Pemicu dengan tarikan, cabang, dan acara 'CLOSED'.

  • Revisi baru dibuat untuk menarik permintaan (editor visual) atau REVISION (editor YAML)

    Proses alur kerja dimulai saat revisi permintaan tarik dibuat. Revisi pertama dibuat saat permintaan tarik dibuat. Setelah itu, revisi baru dibuat setiap kali seseorang mendorong komit baru ke cabang sumber yang ditentukan dalam permintaan tarik. Jika Anda menyertakan REVISION acara dalam pemicu permintaan tarik Anda, Anda dapat menghilangkan OPEN acara tersebut, karena REVISION merupakan superset dari. OPEN

Anda dapat menentukan beberapa peristiwa dalam pemicu permintaan tarik yang sama.

Sebagai contoh, lihat Contoh: Pemicu dalam alur kerja.

UI yang sesuai: visu editor/workflow diagram/Triggers al/ Acara untuk permintaan tarik

Cabang

(Triggers/Branches)

(Opsional)

Tentukan cabang di repositori sumber Anda yang dipantau pemicu untuk mengetahui kapan memulai alur kerja. Anda dapat menggunakan pola regex untuk menentukan nama cabang Anda. Misalnya, gunakan main.* untuk mencocokkan semua cabang yang dimulai denganmain.

Cabang yang akan ditentukan berbeda tergantung pada jenis pemicu:

  • Untuk pemicu push, tentukan cabang yang Anda dorong, yaitu cabang tujuan. Satu alur kerja akan dimulai per cabang yang cocok, menggunakan file di cabang yang cocok.

    Contoh:main.*, mainline

  • Untuk pemicu permintaan tarik, tentukan cabang yang Anda dorong, yaitu cabang tujuan. Satu alur kerja akan dimulai per cabang yang cocok, menggunakan file definisi alur kerja dan file sumber di cabang sumber (bukan cabang yang cocok).

    Contoh:main.*,mainline, v1\-.* (cocok dengan cabang yang dimulai denganv1-)

  • Untuk pemicu jadwal, tentukan cabang yang berisi file yang ingin dijadwalkan digunakan. Satu alur kerja akan dimulai per cabang yang cocok, menggunakan file definisi alur kerja dan file sumber di cabang yang cocok.

    Contoh:main.*, version\-1\.0

catatan

Jika Anda tidak menentukan cabang, pemicu memantau semua cabang di repositori sumber Anda, dan akan memulai alur kerja yang dijalankan menggunakan file definisi alur kerja dan file sumber di:

Untuk informasi lebih lanjut tentang cabang dan pemicu, lihatPedoman penggunaan untuk pemicu dan cabang.

Untuk contoh lainnya, lihat Contoh: Pemicu dalam alur kerja.

UI yang sesuai: visu editor/workflow diagram/Triggers al/ Cabang

FilesChanged

(Triggers/FilesChanged)

(Opsional jika pemicu Type diatur kePUSH, atauPULLREQUEST. Tidak didukung jika pemicu Type disetel keSCHEDULE.)

Tentukan file atau folder di repositori sumber Anda yang dipantau pemicu untuk mengetahui kapan memulai menjalankan alur kerja. Anda dapat menggunakan ekspresi reguler untuk mencocokkan nama file atau jalur.

Sebagai contoh, lihat Contoh: Pemicu dalam alur kerja.

UI yang sesuai: visu editor/workflow diagram/Triggers al/ File diubah

Ekspresi

(Triggers/Expression)

(Diperlukan jika pemicu Type diatur keSCHEDULE)

Tentukan ekspresi cron yang menjelaskan kapan Anda ingin alur kerja terjadwal berjalan.

Ekspresi Cron CodeCatalyst menggunakan sintaks enam bidang berikut, di mana setiap bidang dipisahkan oleh spasi:

minutes hours days-of-month month days-of-week year

Contoh ekspresi cron

Menit Jam Hari dalam sebulan Bulan Hari dalam seminggu Tahun Arti

0

0

?

*

MON-FRI

*

Menjalankan alur kerja pada tengah malam (UTC+0) setiap Senin hingga Jumat.

0

2

*

*

?

*

Menjalankan alur kerja pada pukul 2:00 pagi (UTC+0) setiap hari.

15

22

*

*

?

*

Menjalankan alur kerja pada pukul 10:15 malam (UTC+0) setiap hari.

0/30

22-2

?

*

SAT-SUN

*

Menjalankan alur kerja setiap 30 menit Sabtu hingga Minggu antara pukul 10:00 malam pada hari mulai dan 2:00 pagi pada hari berikutnya (UTC+0).

45

13

L

*

?

2023-2027

Menjalankan alur kerja pada pukul 13:45 (UTC+0) pada hari terakhir bulan antara tahun 2023 dan 2027 inklusif.

Saat menentukan ekspresi cron di CodeCatalyst, pastikan Anda mengikuti panduan ini:

  • Tentukan ekspresi cron tunggal per SCHEDULE pemicu.

  • Lampirkan ekspresi cron dalam tanda kutip ganda (") di editor YAML.

  • Tentukan waktu dalam Waktu Universal Terkoordinasi (UTC). Zona waktu lainnya tidak didukung.

  • Konfigurasikan setidaknya 30 menit antara proses. Irama yang lebih cepat tidak didukung.

  • Tentukan days-of-week bidang days-of-month atau, tetapi tidak keduanya. Jika Anda menentukan nilai atau tanda bintang (*) di salah satu bidang, Anda harus menggunakan tanda tanya (?) di bidang lainnya. Tanda bintang berarti 'semua' dan tanda tanya berarti 'semua'.

Untuk contoh ekspresi cron lainnya dan informasi tentang wildcard seperti?,*, danL, lihat referensi ekspresi Cron di Panduan Pengguna Amazon EventBridge . Ekspresi Cron masuk EventBridge dan CodeCatalyst bekerja dengan cara yang persis sama.

Untuk contoh pemicu jadwal, lihatContoh: Pemicu dalam alur kerja.

UI yang sesuai: visu editor/workflow diagram/Triggers al/ Jadwal

Tindakan

Urutan satu atau lebih tindakan untuk alur kerja ini. CodeCatalyst mendukung beberapa jenis tindakan, seperti tindakan build dan test, yang menawarkan berbagai jenis fungsionalitas. Setiap jenis tindakan memiliki:

  • Identifierproperti yang menunjukkan ID unik tindakan dengan kode keras. Misalnya, aws/build@v1 mengidentifikasi tindakan build.

  • Configurationbagian yang berisi properti yang spesifik untuk tindakan.

Untuk informasi selengkapnya tentang setiap jenis tindakan, lihatJenis tindakan. Top Jenis tindakan ik memiliki tautan ke dokumentasi untuk setiap tindakan.

Berikut ini adalah referensi YAML untuk tindakan dan grup tindakan dalam file definisi alur kerja.

Name: MyWorkflow SchemaVersion: 1.0 ... Actions: action-or-gate-name: Identifier: identifier Configuration: ... #Action groups action-group-name: Actions: ...

aksi-atau-nama gerbang

(Actions/action-or-gate-name)

(Diperlukan)

Ganti action-name dengan nama yang ingin Anda berikan tindakan. Nama tindakan harus unik dalam alur kerja, dan hanya boleh menyertakan karakter alfanumerik, tanda hubung, dan garis bawah. Untuk informasi selengkapnya tentang aturan sintaks, lihatPedoman sintaks YAML.

Untuk informasi selengkapnya tentang praktik penamaan untuk tindakan, termasuk pembatasan, lihataksi-atau-nama gerbang.

UI yang sesuai: editor visual/tab action-name Konfigurasi/Nama tindakan atau Nama tampilan Tindakan

nama-grup aksi

(Actions/action-group-name)

(Opsional)

Grup tindakan berisi satu atau lebih tindakan. Mengelompokkan tindakan ke dalam grup tindakan membantu Anda menjaga alur kerja tetap teratur, dan juga memungkinkan Anda mengonfigurasi dependensi antara grup yang berbeda.

Ganti action-group-name dengan nama yang ingin Anda berikan pada grup tindakan. Nama grup tindakan harus unik dalam alur kerja, dan hanya boleh menyertakan karakter alfanumerik, tanda hubung, dan garis bawah. Untuk informasi selengkapnya tentang aturan sintaks, lihatPedoman sintaks YAML.

Untuk informasi selengkapnya tentang kelompok tindakan, lihatMengelompokkan tindakan ke dalam kelompok tindakan.

UI yang sesuai: tidak ada