Membangun dan menguji tindakan YAML - Amazon CodeCatalyst

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

Membangun dan menguji tindakan YAML

Berikut ini adalah YAML definisi tindakan build dan test. Ada satu referensi untuk dua tindakan karena YAML propertinya sangat mirip.

Definisi tindakan ini ada sebagai bagian dalam file definisi alur kerja yang lebih luas. Untuk informasi selengkapnya tentang file ini, lihatDefinisi alur kerja YAML.

Pilih YAML properti dalam kode berikut untuk melihat deskripsi jika itu.

catatan

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

# The workflow definition starts here. # See Properti tingkat atas for details. Name: MyWorkflow SchemaVersion: 1.0 Actions: # The action definition starts here. action-name: Identifier: aws/build@v1 | aws/managed-test@v1 DependsOn: - dependent-action-name-1 Compute: Type: EC2 | Lambda Fleet: fleet-name Timeout: timeout-minutes Environment: Name: environment-name Connections: - Name: account-connection-name Role: iam-role-name Caching: FileCaching: key-name-1: Path: file1.txt RestoreKeys: - restore-key-1 Inputs: Sources: - source-name-1 - source-name-2 Artifacts: - artifact-name Variables: - Name: variable-name-1 Value: variable-value-1 - Name: variable-name-2 Value: variable-value-2 Outputs: Artifacts: - Name: output-artifact-1 Files: - build-output/artifact-1.jar - "build-output/build*" - Name: output-artifact-2 Files: - build-output/artifact-2.1.jar - build-output/artifact-2.2.jar Variables: - variable-name-1 - variable-name-2 AutoDiscoverReports: Enabled: true | false ReportNamePrefix: AutoDiscovered IncludePaths: - "**/*" ExcludePaths: - node_modules/cdk/junit.xml SuccessCriteria: PassRate: percent LineCoverage: percent BranchCoverage: percent Vulnerabilities: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisBug: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisSecurity: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisQuality: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisFinding: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number Reports: report-name-1: Format: format IncludePaths: - "*.xml" ExcludePaths: - report2.xml - report3.xml SuccessCriteria: PassRate: percent LineCoverage: percent BranchCoverage: percent Vulnerabilities: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisBug: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisSecurity: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisQuality: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisFinding: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number Configuration: Container: Registry: registry Image: image Steps: - Run: "step 1" - Run: "step 2" Packages: NpmConfiguration: PackageRegistries: - PackagesRepository: package-repository Scopes: - "@scope" ExportAuthorizationToken: true | false

nama-tindakan

(Diperlukan)

Tentukan nama tindakan. Semua nama tindakan harus unik dalam alur kerja. Nama aksi 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 dan spasi khusus dalam nama tindakan.

UI yang sesuai: Tab konfigurasi/Nama tindakan

Identifier

(action-name/Identifier)

Mengidentifikasi tindakan. Jangan mengubah properti ini kecuali Anda ingin mengubah versi. Untuk informasi selengkapnya, lihat Menentukan versi tindakan yang akan digunakan.

Gunakan aws/build@v1 untuk membangun tindakan.

Gunakan aws/managed-test@v1 untuk tindakan pengujian.

UI yang sesuai: Diagram alur kerja/nama-tindakan/aws/build@v1|aws/managed-test@v1 label

DependsOn

(action-name/DependsOn)

(Opsional)

Tentukan tindakan, grup tindakan, atau gerbang yang harus berjalan dengan sukses agar tindakan ini berjalan.

Untuk informasi selengkapnya tentang fungsionalitas 'tergantung pada', lihat. Tindakan pengurutan

UI yang sesuai: Tab masukan/Tergantung pada - opsional

Compute

(action-name/Compute)

(Opsional)

Mesin komputasi yang digunakan untuk menjalankan tindakan alur kerja Anda. Anda dapat menentukan komputasi baik di tingkat alur kerja atau di 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.

UI yang sesuai: tidak ada

Type

(action-name/Compute/Jenis)

(Diperlukan Compute jika disertakan)

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

  • EC2(editor visual) atau EC2 (YAMLeditor)

    Dioptimalkan untuk fleksibilitas selama aksi berjalan.

  • Lambda (editor visual) atau Lambda (YAMLeditor)

    Kecepatan start-up aksi yang dioptimalkan.

Untuk informasi selengkapnya tentang jenis komputasi, lihatJenis komputasi.

UI yang sesuai: Tab konfigurasi/Jenis komputasi

Fleet

(action-name/Compute/Fleet)

(Opsional)

Tentukan mesin atau armada yang akan menjalankan alur kerja atau tindakan alur kerja Anda. Dengan armada sesuai permintaan, ketika suatu 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 lebih lanjut tentang armada sesuai permintaan, lihat. Properti armada sesuai permintaan

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

Jika Fleet dihilangkan, defaultnya adalah. Linux.x86-64.Large

UI yang sesuai: Tab konfigurasi/Armada komputasi

Timeout

(action-name/Timeout)

(Opsional)

Tentukan jumlah waktu dalam menit (YAMLeditor), atau jam dan menit (editor visual), bahwa tindakan dapat berjalan sebelum CodeCatalyst mengakhiri tindakan. Minimal adalah 5 menit dan maksimum dijelaskan dalamKuota untuk alur kerja di CodeCatalyst. Batas waktu default sama dengan batas waktu maksimum.

UI yang sesuai: Tab konfigurasi/Timeout - opsional

Environment

(action-name/Environment)

(Opsional)

Tentukan CodeCatalyst lingkungan yang akan digunakan dengan tindakan. Tindakan terhubung ke Amazon Akun AWS dan opsional VPC yang ditentukan di lingkungan yang dipilih. Tindakan menggunakan IAM peran default yang ditentukan di lingkungan untuk terhubung ke Akun AWS, dan menggunakan IAM peran yang ditentukan dalam VPCkoneksi Amazon untuk terhubung ke AmazonVPC.

catatan

Jika IAM peran default tidak memiliki izin yang diperlukan oleh tindakan, Anda dapat mengonfigurasi tindakan untuk menggunakan peran yang berbeda. Untuk informasi selengkapnya, lihat Mengubah IAM peran suatu tindakan.

Untuk informasi selengkapnya tentang lingkungan, lihat Menyebarkan ke Akun AWS dan VPCs danPembuatan lingkungan.

UI yang sesuai: Tab konfigurasi/Lingkungan

Name

(action-name/Environment/Name)

(Opsional)

Tentukan nama lingkungan yang ada yang ingin Anda kaitkan dengan tindakan.

UI yang sesuai: Tab konfigurasi/Lingkungan

Connections

(action-name/Environment/Connections)

(Opsional)

Tentukan koneksi akun untuk dikaitkan dengan tindakan. Anda dapat menentukan maksimum satu koneksi akun di bawahEnvironment.

Jika Anda tidak menentukan koneksi akun:

  • Tindakan menggunakan Akun AWS koneksi dan IAM peran default yang ditentukan di lingkungan di CodeCatalyst konsol. Untuk informasi tentang menambahkan koneksi akun dan IAM peran default ke lingkungan, lihatPembuatan lingkungan.

  • IAMPeran default harus menyertakan kebijakan dan izin yang diperlukan oleh tindakan. Untuk menentukan kebijakan dan izin tersebut, lihat deskripsi properti Peran dalam dokumentasi YAML definisi tindakan.

Untuk informasi selengkapnya tentang koneksi akun, lihatMemungkinkan akses ke AWS sumber daya yang terhubung Akun AWS. Untuk informasi tentang menambahkan koneksi akun ke lingkungan, lihatPembuatan lingkungan.

UI yang sesuai: tab/Environment/What Konfigurasi masuk my-environment? /menu tiga titik/Beralih peran

Name

(action-name/Environment/Connections/Name)

(Diperlukan Connections jika disertakan)

Tentukan nama koneksi akun.

UI yang sesuai: tab/Environment/What Konfigurasi masuk my-environment? /menu tiga titik/Beralih peran

Role

(action-name/Environment/Connections/Role)

(Diperlukan Connections jika disertakan)

Tentukan nama IAM peran yang digunakan tindakan ini untuk mengakses dan beroperasi di AWS layanan seperti Amazon S3 dan Amazon. ECR Pastikan peran ini ditambahkan ke Akun AWS koneksi Anda di ruang Anda. Untuk menambahkan IAM peran ke koneksi akun, lihatMenambahkan IAM peran ke koneksi akun.

Jika Anda tidak menentukan IAM peran, maka tindakan tersebut menggunakan IAM peran default yang tercantum di lingkungan di CodeCatalyst konsol. Jika Anda menggunakan peran default di lingkungan, pastikan itu memiliki kebijakan berikut.

catatan

Anda dapat menggunakan CodeCatalystWorkflowDevelopmentRole-spaceName peran dengan tindakan ini. Untuk informasi selengkapnya tentang peran ini, silakan lihat Membuat CodeCatalystWorkflowDevelopmentRole-spaceNameperan untuk akun dan ruang Anda. Memahami bahwa CodeCatalystWorkflowDevelopmentRole-spaceName peran tersebut memiliki izin akses penuh yang dapat menimbulkan risiko keamanan. Kami menyarankan Anda hanya menggunakan peran ini dalam tutorial dan skenario di mana keamanan kurang menjadi perhatian.

Awas

Batasi izin ke yang diperlukan oleh tindakan build dan test. Menggunakan peran dengan izin yang lebih luas dapat menimbulkan risiko keamanan.

UI yang sesuai: tab/Environment/What Konfigurasi masuk my-environment? /menu tiga titik/Beralih peran

Caching

(action-name/Caching)

(Opsional)

Bagian di mana Anda dapat menentukan cache untuk menyimpan file pada disk dan mengembalikannya dari cache itu dalam alur kerja berikutnya.

Untuk informasi selengkapnya tentang cache file, lihatCaching file antara alur kerja berjalan.

UI yang sesuai: Tab konfigurasi/File caching - opsional

FileCaching

(action-name/Caching/FileCaching)

(Opsional)

Bagian yang menentukan konfigurasi untuk urutan cache.

UI yang sesuai: Tab konfigurasi/File caching - opsional/Tambahkan cache

nama-kunci-1

(action-name/Caching/FileCaching/key-name-1)

(Opsional)

Tentukan nama nama properti cache utama Anda. Nama properti cache harus unik dalam alur kerja Anda. Setiap tindakan dapat memiliki hingga lima entri. FileCaching

UI yang sesuai: tab/File caching - optional/Add Cache konfigurasi/Kunci

Path

(action-name/Caching/FileCaching/key-name-1/Path)

(Opsional)

Tentukan jalur terkait untuk cache Anda.

UI yang sesuai: tab/File caching - optional/Add Cache konfigurasi/Jalur

RestoreKeys

(action-name/Caching/FileCaching/key-name-1/RestoreKeys)

(Opsional)

Tentukan kunci pemulihan yang akan digunakan sebagai fallback ketika properti cache utama tidak dapat ditemukan. Kembalikan nama kunci harus unik dalam alur kerja Anda. Setiap cache dapat memiliki hingga lima entri. RestoreKeys

UI yang sesuai: Cache tab/File caching - optional/Add konfigurasi/Tombol Restore - opsional

Inputs

(action-name/Inputs)

(Opsional)

InputsBagian ini mendefinisikan data yang dibutuhkan tindakan selama menjalankan alur kerja.

catatan

Maksimal empat input (satu sumber dan tiga artefak) diizinkan per tindakan build atau tindakan pengujian. Variabel tidak dihitung terhadap total ini.

Jika Anda perlu merujuk ke file yang berada di input yang berbeda (katakanlah sumber dan artefak), input sumber adalah input utama, dan artefak adalah input sekunder. Referensi ke file dalam input sekunder mengambil awalan khusus untuk menyisihkannya dari primer. Untuk detailnya, lihat Contoh: Merujuk file dalam beberapa artefak.

UI yang sesuai: Tab input

Sources

(action-name/Inputs/Sources)

(Opsional)

Tentukan label yang mewakili repositori sumber yang akan dibutuhkan oleh tindakan. Saat ini, satu-satunya label yang didukung adalahWorkflowSource, yang mewakili repositori sumber tempat file definisi alur kerja Anda disimpan.

Jika Anda menghilangkan sumber, maka Anda harus menentukan setidaknya satu artefak input di bawah. action-name/Inputs/Artifacts

Untuk informasi selengkapnya tentang sumber, lihat Menghubungkan repositori sumber ke alur kerja.

UI yang sesuai: tidak ada

Artifacts - input

(action-name/Inputs/Artifacts)

(Opsional)

Tentukan artefak dari tindakan sebelumnya yang ingin Anda berikan sebagai masukan untuk tindakan ini. Artefak ini harus sudah didefinisikan sebagai artefak keluaran dalam tindakan sebelumnya.

Jika Anda tidak menentukan artefak input apa pun, maka Anda harus menentukan setidaknya satu repositori sumber di bawah. action-name/Inputs/Sources

Untuk informasi selengkapnya tentang artefak, termasuk contoh, lihatBerbagi artefak dan file antar tindakan.

catatan

Jika Artefacts - daftar drop-down opsional tidak tersedia (editor visual), atau jika Anda mendapatkan kesalahan saat Anda memvalidasi YAML (YAMLeditor) Anda, itu mungkin karena tindakan hanya mendukung satu input. Dalam hal ini, coba hapus input sumber.

UI yang sesuai: Input tab/Artefak - opsional

Variables - input

(action-name/Inputs/Variables)

(Opsional)

Tentukan urutan pasangan nama/nilai yang menentukan variabel input yang ingin Anda sediakan untuk tindakan. Nama variabel 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 dan spasi khusus dalam nama variabel.

Untuk informasi selengkapnya tentang variabel, termasuk contoh, lihatMenggunakan variabel dalam alur kerja.

UI yang sesuai: Input tab/Variabel - opsional

Outputs

(action-name/Outputs)

(Opsional)

Mendefinisikan data yang dihasilkan oleh tindakan selama menjalankan alur kerja.

UI yang sesuai: Tab keluaran

Artifacts - output

(action-name/Outputs/Artifacts)

(Opsional)

Tentukan nama artefak yang dihasilkan oleh tindakan. Nama artifak harus unik dalam alur kerja, dan terbatas pada karakter alfanumerik (a-z, A-Z, 0-9) dan garis bawah (_). Spasi, tanda hubung (-), dan karakter khusus lainnya tidak diperbolehkan. Anda tidak dapat menggunakan tanda kutip untuk mengaktifkan spasi, tanda hubung, dan karakter khusus lainnya dalam nama artefak keluaran.

Untuk informasi selengkapnya tentang artefak, termasuk contoh, lihatBerbagi artefak dan file antar tindakan.

UI yang sesuai: Tab keluaran/Artefak

Name

(action-name/Outputs/Artifacts/Name)

(Diperlukan Artifacts - output jika disertakan)

Tentukan nama artefak yang dihasilkan oleh tindakan. Nama artifak harus unik dalam alur kerja, dan terbatas pada karakter alfanumerik (a-z, A-Z, 0-9) dan garis bawah (_). Spasi, tanda hubung (-), dan karakter khusus lainnya tidak diperbolehkan. Anda tidak dapat menggunakan tanda kutip untuk mengaktifkan spasi, tanda hubung, dan karakter khusus lainnya dalam nama artefak keluaran.

Untuk informasi selengkapnya tentang artefak, termasuk contoh, lihatBerbagi artefak dan file antar tindakan.

UI yang sesuai: Keluaran tab/Artifacts/New keluaran/Bangun nama artefak

Files

(action-name/Outputs/Artifacts/Files)

(Diperlukan Artifacts - output jika disertakan)

Tentukan file yang CodeCatalyst termasuk dalam artefak yang dihasilkan oleh tindakan. File-file ini dihasilkan oleh tindakan alur kerja saat dijalankan, dan juga tersedia di repositori sumber Anda. Jalur file dapat berada di repositori sumber atau artefak dari tindakan sebelumnya, dan relatif terhadap repositori sumber atau root artefak. Anda dapat menggunakan pola glob untuk menentukan jalur. Contoh:

  • Untuk menentukan satu file yang ada di root lokasi build atau lokasi repositori sumber, gunakan. my-file.jar

  • Untuk menentukan satu file dalam subdirektori, gunakan directory/my-file.jar ataudirectory/subdirectory/my-file.jar.

  • Untuk menentukan semua file, gunakan"**/*". Pola ** glob menunjukkan untuk mencocokkan sejumlah subdirektori.

  • Untuk menentukan semua file dan direktori dalam direktori bernamadirectory, gunakan"directory/**/*". Pola ** glob menunjukkan untuk mencocokkan sejumlah subdirektori.

  • Untuk menentukan semua file dalam direktori bernamadirectory, tetapi tidak salah satu subdirektorinya, gunakan. "directory/*"

catatan

Jika jalur file Anda menyertakan satu atau beberapa tanda bintang (*) atau karakter khusus lainnya, lampirkan jalur dengan tanda kutip ganda (). "" Untuk informasi lebih lanjut tentang karakter khusus, lihatPedoman dan konvensi sintaks.

Untuk informasi selengkapnya tentang artefak, termasuk contoh, lihatBerbagi artefak dan file antar tindakan.

catatan

Anda mungkin perlu menambahkan awalan ke jalur file untuk menunjukkan artefak atau sumber mana yang akan menemukannya. Untuk informasi selengkapnya, silakan lihat Merujuk file repositori sumber dan Merujuk file dalam artefak.

UI yang sesuai: Output tab/Artifacts/New output/File yang dihasilkan oleh build

Variables - output

(action-name/Outputs/Variables)

(Opsional)

Tentukan variabel yang ingin Anda ekspor tindakan sehingga tersedia untuk digunakan oleh tindakan selanjutnya.

Untuk informasi selengkapnya tentang variabel, termasuk contoh, lihatMenggunakan variabel dalam alur kerja.

UI yang sesuai: Tab keluaran/Variabel/Tambahkan variabel

variabel-nama-1

(action-name/Outputs/Variables/variable-name-1)

(Opsional)

Tentukan nama variabel yang ingin Anda ekspor tindakan. Variabel ini harus sudah didefinisikan dalam Inputs atau Steps bagian dari tindakan yang sama.

Untuk informasi selengkapnya tentang variabel, termasuk contoh, lihatMenggunakan variabel dalam alur kerja.

UI yang sesuai: Output tab/Variables/Add variabel/Nama

AutoDiscoverReports

(action-name/Outputs/AutoDiscoverReports)

(Opsional)

Mendefinisikan konfigurasi untuk fitur auto-discovery.

Saat Anda mengaktifkan penemuan otomatis, semua CodeCatalyst pencarian Inputs diteruskan ke tindakan serta semua file yang dihasilkan oleh tindakan itu sendiri, mencari laporan pengujian, cakupan kode, dan analisis komposisi perangkat lunak (SCA). Untuk setiap laporan yang ditemukan, CodeCatalyst mengubahnya menjadi CodeCatalyst laporan. CodeCatalyst Laporan adalah laporan yang sepenuhnya terintegrasi ke dalam CodeCatalyst layanan dan dapat dilihat dan dimanipulasi melalui CodeCatalyst konsol.

catatan

Secara default, fitur auto-discover memeriksa semua file. Anda dapat membatasi file mana yang diperiksa menggunakan ExcludePaths properti IncludePaths atau.

UI yang sesuai: Tab Keluaran/Laporan/Laporan temukan otomatis

Enabled

(action-name/Outputs/AutoDiscoverReports/Enabled)

(Opsional)

Aktifkan atau nonaktifkan fitur penemuan otomatis.

Nilai-nilai yang valid adalah true atau false.

Jika Enabled dihilangkan, defaultnya adalah. true

UI yang sesuai: Tab Keluaran/Laporan/Laporan temukan otomatis

ReportNamePrefix

(action-name/Outputs/AutoDiscoverReports/ReportNamePrefix)

(Diperlukan AutoDiscoverReports jika disertakan dan diaktifkan)

Tentukan CodeCatalyst awalan yang ditambahkan ke semua laporan yang ditemukannya untuk memberi nama laporan terkait. CodeCatalyst Misalnya, jika Anda menentukan awalanAutoDiscovered, dan CodeCatalyst otomatis menemukan dua laporan pengujian, TestSuiteOne.xml danTestSuiteTwo.xml, maka CodeCatalyst laporan terkait akan diberi nama dan. AutoDiscoveredTestSuiteOne AutoDiscoveredTestSuiteTwo

UI yang sesuai: Tab Keluaran/Laporan/Nama awalan

IncludePaths

(action-name/Outputs/AutoDiscoverReports/IncludePaths)

Atau

(action-name/Outputs/Reports/report-name-1/IncludePaths)

(Diperlukan jika AutoDiscoverReports disertakan dan diaktifkan, atau Reports jika disertakan)

Tentukan file dan jalur file yang CodeCatalyst disertakan saat mencari laporan mentah. Misalnya, jika Anda menentukan"/test/report/*", akan CodeCatalyst mencari seluruh image build yang digunakan oleh tindakan mencari /test/report/* direktori. Ketika menemukan direktori itu, CodeCatalyst maka cari laporan di direktori itu.

catatan

Jika jalur file Anda menyertakan satu atau beberapa tanda bintang (*) atau karakter khusus lainnya, lampirkan jalur dengan tanda kutip ganda (). "" Untuk informasi lebih lanjut tentang karakter khusus, lihatPedoman dan konvensi sintaks.

Jika properti ini dihilangkan, defaultnya adalah"**/*", artinya pencarian mencakup semua file di semua jalur.

catatan

Untuk laporan yang dikonfigurasi secara manual, IncludePaths harus berupa pola glob yang cocok dengan satu file.

UI yang sesuai:

  • tab/Reports/Auto-discover reports/Include/excludeJalur keluaran/Sertakan jalur

  • Output tab/Reports/Manually mengkonfigurasi laporan/report-name-1/Sertakan jalur/kecualikan jalur/ Sertakan jalur

ExcludePaths

(action-name/Outputs/AutoDiscoverReports/ExcludePaths)

Atau

(action-name/Outputs/Reports/report-name-1/ExcludePaths)

(Opsional)

Tentukan file dan jalur file yang CodeCatalyst dikecualikan saat mencari laporan mentah. Misalnya, jika Anda menentukan"/test/my-reports/**/*", tidak CodeCatalyst akan mencari file di /test/my-reports/ direktori. Untuk mengabaikan semua file dalam direktori, gunakan pola **/* glob.

catatan

Jika jalur file Anda menyertakan satu atau beberapa tanda bintang (*) atau karakter khusus lainnya, lampirkan jalur dengan tanda kutip ganda (). "" Untuk informasi lebih lanjut tentang karakter khusus, lihatPedoman dan konvensi sintaks.

UI yang sesuai:

  • tab/Reports/Auto-discover reports/Include/excludeJalur keluaran/Kecualikan jalur

  • Output tab/Reports/Manually mengkonfigurasi laporan/report-name-1/Sertakan/kecualikan jalur/ Kecualikan jalur

SuccessCriteria

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria)

Atau

(action-name/Outputs/Reports/report-name-1/SuccessCriteria)

(Opsional)

Tentukan kriteria keberhasilan untuk pengujian, cakupan kode, analisis komposisi perangkat lunak (SCA), dan laporan analisis statis (SA).

Untuk informasi selengkapnya, lihat Mengkonfigurasi kriteria keberhasilan untuk laporan.

UI yang sesuai: Tab keluaran/Laporan/Kriteria keberhasilan

PassRate

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/PassRate)

Atau

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/PassRate)

(Opsional)

Tentukan persentase pengujian dalam laporan pengujian yang harus lulus agar CodeCatalyst laporan terkait ditandai sebagai lulus. Nilai yang valid termasuk angka desimal. Misalnya:50,60.5. Kriteria tingkat kelulusan hanya diterapkan pada laporan pengujian. Untuk informasi selengkapnya tentang laporan pengujian, lihatLaporan pengujian.

UI yang sesuai: tab/Reports/Success Kriteria keluaran/Tingkat kelulusan

LineCoverage

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/LineCoverage)

Atau

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/LineCoverage)

(Opsional)

Tentukan persentase baris dalam laporan cakupan kode yang harus dicakup agar CodeCatalyst laporan terkait ditandai sebagai lulus. Nilai yang valid termasuk angka desimal. Misalnya:50,60.5. Kriteria cakupan baris hanya diterapkan pada laporan cakupan kode. Untuk informasi selengkapnya tentang laporan cakupan kode, lihatLaporan cakupan kode.

UI yang sesuai: tab/Reports/Success Kriteria keluaran/Cakupan garis

BranchCoverage

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/BranchCoverage)

Atau

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/BranchCoverage)

(Opsional)

Tentukan persentase cabang dalam laporan cakupan kode yang harus dicakup agar CodeCatalyst laporan terkait ditandai sebagai lulus. Nilai yang valid termasuk angka desimal. Misalnya:50,60.5. Kriteria cakupan cabang hanya diterapkan pada laporan cakupan kode. Untuk informasi selengkapnya tentang laporan cakupan kode, lihatLaporan cakupan kode.

UI yang sesuai: tab/Reports/Success Kriteria keluaran/Cakupan cabang

Vulnerabilities

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/Vulnerabilities)

Atau

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/Vulnerabilities)

(Opsional)

Tentukan jumlah maksimum dan tingkat keparahan kerentanan yang diizinkan dalam SCA laporan agar CodeCatalyst laporan terkait ditandai sebagai lulus. Untuk menentukan kerentanan, Anda harus menentukan:

  • Tingkat keparahan minimum kerentanan yang ingin Anda sertakan dalam hitungan. Nilai yang valid, dari yang paling parah hingga yang paling parah, adalah: CRITICALHIGH,MEDIUM,,LOW,INFORMATIONAL.

    Misalnya, jika Anda memilihHIGH, maka HIGH dan CRITICAL kerentanan akan dihitung.

  • Jumlah maksimum kerentanan dari tingkat keparahan yang ditentukan yang Anda inginkan memungkinkan. Melebihi angka ini menyebabkan CodeCatalyst laporan ditandai sebagai gagal. Nilai yang valid adalah bilangan bulat.

Kriteria kerentanan hanya diterapkan pada SCA laporan. Untuk informasi lebih lanjut tentang SCA laporan, lihatLaporan analisis komposisi perangkat lunak.

Untuk menentukan tingkat keparahan minimum, gunakan Severity properti. Untuk menentukan jumlah kerentanan maksimum, gunakan Number properti.

UI yang sesuai: tab/Reports/Success Kriteria keluaran/Kerentanan

StaticAnalysisBug

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/StaticAnalysisBug)

Atau

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/StaticAnalysisBug)

(Opsional)

Tentukan jumlah maksimum dan tingkat keparahan bug yang diizinkan dalam laporan SA agar CodeCatalyst laporan terkait ditandai sebagai lulus. Untuk menentukan bug, Anda harus menentukan:

  • Tingkat keparahan minimum bug yang ingin Anda sertakan dalam hitungan. Nilai yang valid, dari yang paling parah hingga yang paling parah, adalah: CRITICALHIGH,MEDIUM,,LOW,INFORMATIONAL.

    Misalnya, jika Anda memilihHIGH, maka HIGH dan CRITICAL bug akan dihitung.

  • Jumlah maksimum bug dari tingkat keparahan yang ditentukan yang Anda inginkan izin. Melebihi angka ini menyebabkan CodeCatalyst laporan ditandai sebagai gagal. Nilai yang valid adalah bilangan bulat.

Kriteria bug hanya diterapkan pada PyLint dan laporan ESLint SA. Untuk informasi lebih lanjut tentang laporan SA, lihatLaporan analisis statis.

Untuk menentukan tingkat keparahan minimum, gunakan Severity properti. Untuk menentukan jumlah kerentanan maksimum, gunakan Number properti.

UI yang sesuai: tab/Reports/Success Kriteria keluaran/Bug

StaticAnalysisSecurity

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/StaticAnalysisSecurity)

Atau

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/StaticAnalysisSecurity)

(Opsional)

Tentukan jumlah maksimum dan tingkat keparahan kerentanan keamanan yang diizinkan dalam laporan SA agar CodeCatalyst laporan terkait ditandai sebagai lulus. Untuk menentukan kerentanan keamanan, Anda harus menentukan:

  • Tingkat keparahan minimum kerentanan keamanan yang ingin Anda sertakan dalam hitungan. Nilai yang valid, dari yang paling parah hingga yang paling parah, adalah: CRITICALHIGH,MEDIUM,,LOW,INFORMATIONAL.

    Misalnya, jika Anda memilihHIGH, maka HIGH dan kerentanan CRITICAL keamanan akan dihitung.

  • Jumlah maksimum kerentanan keamanan dari tingkat keparahan tertentu yang Anda inginkan memungkinkan. Melebihi angka ini menyebabkan CodeCatalyst laporan ditandai sebagai gagal. Nilai yang valid adalah bilangan bulat.

Kriteria kerentanan keamanan hanya diterapkan pada PyLint dan laporan ESLint SA. Untuk informasi lebih lanjut tentang laporan SA, lihatLaporan analisis statis.

Untuk menentukan tingkat keparahan minimum, gunakan Severity properti. Untuk menentukan jumlah kerentanan maksimum, gunakan Number properti.

UI yang sesuai: tab/Reports/Success Kriteria keluaran/Kerentanan keamanan

StaticAnalysisQuality

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/StaticAnalysisQuality)

Atau

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/StaticAnalysisQuality)

(Opsional)

Tentukan jumlah maksimum dan tingkat keparahan masalah kualitas yang diizinkan dalam laporan SA agar CodeCatalyst laporan terkait ditandai sebagai lulus. Untuk menentukan masalah kualitas, Anda harus menentukan:

  • Tingkat keparahan minimum dari masalah kualitas yang ingin Anda sertakan dalam hitungan. Nilai yang valid, dari yang paling parah hingga yang paling parah, adalah: CRITICALHIGH,MEDIUM,,LOW,INFORMATIONAL.

    Misalnya, jika Anda memilihHIGH, maka HIGH dan masalah CRITICAL kualitas akan dihitung.

  • Jumlah maksimum masalah kualitas dari tingkat keparahan yang ditentukan yang Anda inginkan memungkinkan. Melebihi angka ini menyebabkan CodeCatalyst laporan ditandai sebagai gagal. Nilai yang valid adalah bilangan bulat.

Kriteria masalah kualitas hanya diterapkan pada PyLint dan laporan ESLint SA. Untuk informasi lebih lanjut tentang laporan SA, lihatLaporan analisis statis.

Untuk menentukan tingkat keparahan minimum, gunakan Severity properti. Untuk menentukan jumlah kerentanan maksimum, gunakan Number properti.

UI yang sesuai: tab/Reports/Success Kriteria keluaran/Masalah kualitas

StaticAnalysisFinding

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/StaticAnalysisFinding)

Atau

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/StaticAnalysisFinding)

(Opsional)

Tentukan jumlah maksimum dan tingkat keparahan temuan yang diizinkan dalam laporan SA untuk CodeCatalyst laporan terkait yang akan ditandai sebagai lulus. Untuk menentukan temuan, Anda harus menentukan:

  • Tingkat keparahan minimum dari temuan yang ingin Anda sertakan dalam hitungan. Nilai yang valid, dari yang paling parah hingga yang paling parah, adalah: CRITICALHIGH,MEDIUM,,LOW,INFORMATIONAL.

    Misalnya, jika Anda memilihHIGH, maka HIGH dan CRITICAL temuan akan dihitung.

  • Jumlah maksimum temuan dari tingkat keparahan yang ditentukan yang Anda inginkan memungkinkan. Melebihi angka ini menyebabkan CodeCatalyst laporan ditandai sebagai gagal. Nilai yang valid adalah bilangan bulat.

Temuan hanya diterapkan pada laporan SARIF SA. Untuk informasi lebih lanjut tentang laporan SA, lihatLaporan analisis statis.

Untuk menentukan tingkat keparahan minimum, gunakan Severity properti. Untuk menentukan jumlah kerentanan maksimum, gunakan Number properti.

UI yang sesuai: tab/Reports/Success Kriteria keluaran/Temuan

Reports

(action-name/Outputs/Reports )

(Opsional)

Bagian yang menentukan konfigurasi untuk laporan pengujian.

UI yang sesuai: Tab keluaran/Laporan

laporan-nama-1

(action-name/Outputs/Reports/laporan-nama-1)

(Diperlukan Reports jika disertakan)

Nama yang ingin Anda berikan ke CodeCatalyst laporan yang akan dihasilkan dari laporan mentah Anda.

UI yang sesuai: Output tab/Reports/Manually mengkonfigurasi laporan/Nama laporan

Format

(action-name/Outputs/Reports/report-name-1/Format)

(Diperlukan Reports jika disertakan)

Tentukan format file yang Anda gunakan untuk laporan Anda. Nilai yang mungkin adalah sebagai berikut.

  • Untuk laporan pengujian:

    • Untuk MentimunJSON, tentukan Mentimun (editor visual) atau CUCUMBERJSON (YAMLeditor).

    • Untuk JUnitXML, tentukan JUnit(editor visual) atau JUNITXML (YAMLeditor).

    • Untuk NUnitXML, tentukan NUnit(editor visual) atau NUNITXML (YAMLeditor).

    • Untuk NUnit 3XML, tentukan NUnit3(editor visual) atau NUNIT3XML (YAMLeditor).

    • Untuk Visual StudioTRX, tentukan Visual Studio TRX (editor visual) atau VISUALSTUDIOTRX (YAMLeditor).

    • Untuk TestNGXML, tentukan TestNG (editor visual) atau TESTNGXML (editor). YAML

  • Untuk laporan cakupan kode:

    • Untuk CloverXML, tentukan Clover (editor visual) atau CLOVERXML (YAMLeditor).

    • Untuk CoberturaXML, tentukan Cobertura (editor visual) atau COBERTURAXML (editor). YAML

    • Untuk JaCoCo XML, tentukan JaCoCo(editor visual) atau JACOCOXML (YAMLeditor).

    • Untuk SimpleCov JSON dihasilkan oleh simplecov, bukan simplecov-json, tentukan Simplecov (editor visual) atau (editor). SIMPLECOV YAML

  • Untuk laporan analisis komposisi perangkat lunak (SCA):

    • UntukSARIF, tentukan SARIF(editor visual) atau SARIFSCA (YAMLeditor).

UI yang sesuai: Keluaran tab/Reports/Manually configure reports/Add/configure laporan/report-name-1/Jenis laporan dan format Laporan

Configuration

(action-name/Configuration)

(Wajib) Bagian di mana Anda dapat menentukan properti konfigurasi tindakan.

UI yang sesuai: Tab konfigurasi

Container

(action-name/Configuration/Container)

(Opsional)

Tentukan gambar Docker, atau wadah, yang digunakan tindakan untuk menyelesaikan pemrosesannya. Anda dapat menentukan salah satu gambar aktif yang disertakan CodeCatalyst, atau Anda dapat menggunakan gambar Anda sendiri. Jika Anda memilih untuk menggunakan gambar Anda sendiri, itu dapat berada di AmazonECR, Docker Hub, atau registri lain. Jika Anda tidak menentukan gambar Docker, tindakan menggunakan salah satu gambar aktif untuk pemrosesannya. Untuk informasi tentang gambar aktif yang digunakan secara default, lihatGambar aktif.

Untuk informasi selengkapnya tentang menentukan image Docker Anda sendiri, lihat. Menetapkan image Docker lingkungan runtime kustom ke suatu tindakan

UI yang sesuai: Gambar Docker lingkungan runtime - opsional

Registry

(action-name/Configuration/Container/Registry)

(Diperlukan Container jika disertakan)

Tentukan registri tempat gambar Anda disimpan. Nilai yang valid meliputi:

  • CODECATALYST(YAMLpenyunting)

    Gambar disimpan dalam CodeCatalyst registri.

  • Docker Hub (editor visual) atau DockerHub (YAMLeditor)

    Gambar disimpan dalam registri gambar Docker Hub.

  • Registri lainnya (editor visual) atau Other (YAMLeditor)

    Gambar disimpan dalam registri gambar khusus. Registri apa pun yang tersedia untuk umum dapat digunakan.

  • Amazon Elastic Container Registry (editor visual) atau ECR (YAMLeditor)

    Gambar disimpan dalam repositori gambar Amazon Elastic Container Registry. Untuk menggunakan gambar di ECR repositori Amazon, tindakan ini memerlukan akses ke Amazon. ECR Untuk mengaktifkan akses ini, Anda harus membuat IAMperan yang mencakup izin berikut dan kebijakan kepercayaan khusus. (Anda dapat mengubah peran yang ada untuk menyertakan izin dan kebijakan, jika Anda mau.)

    IAMPeran harus menyertakan izin berikut dalam kebijakan perannya:

    • ecr:BatchCheckLayerAvailability

    • ecr:BatchGetImage

    • ecr:GetAuthorizationToken

    • ecr:GetDownloadUrlForLayer

    IAMPeran harus mencakup kebijakan kepercayaan khusus berikut:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

    Untuk informasi selengkapnya tentang membuat IAM peran, lihat Membuat peran menggunakan kebijakan kepercayaan khusus (konsol) di Panduan IAM Pengguna.

    Setelah Anda membuat peran, Anda harus menetapkannya ke tindakan melalui lingkungan. Untuk informasi selengkapnya, lihat Mengaitkan lingkungan dengan tindakan.

UI yang sesuai: Amazon Elastic Container Registry, Docker Hub, dan opsi registri lainnya

Image

(action-name/Configuration/Container/Image)

(Diperlukan Container jika disertakan)

Tentukan satu dari yang berikut ini:

  • Jika Anda menggunakan CODECATALYST registri, atur gambar ke salah satu gambar aktif berikut:

    • CodeCatalystLinux_x86_64:2024_03

    • CodeCatalystLinux_x86_64:2022_11

    • CodeCatalystLinux_Arm64:2024_03

    • CodeCatalystLinux_Arm64:2022_11

    • CodeCatalystLinuxLambda_x86_64:2024_03

    • CodeCatalystLinuxLambda_x86_64:2022_11

    • CodeCatalystLinuxLambda_Arm64:2024_03

    • CodeCatalystLinuxLambda_Arm64:2022_11

    • CodeCatalystWindows_x86_64:2022_11

  • Jika Anda menggunakan registri Docker Hub, atur gambar ke nama gambar Docker Hub dan tag opsional.

    Contoh: postgres:latest

  • Jika Anda menggunakan ECR registri Amazon, atur gambar ke ECR registri AmazonURI.

    Contoh: 111122223333.dkr.ecr.us-west-2.amazonaws.com/codecatalyst-ecs-image-repo

  • Jika Anda menggunakan registri kustom, atur gambar ke nilai yang diharapkan oleh registri kustom.

UI yang sesuai: Runtime environment docker image (jika registri CODECATALYST adalah), image Docker Hub (jika registri adalah Docker Hub) ECR, URL image (jika registri adalah Amazon Elastic Container Registry), dan URL Image (jika registri adalah Registri lain).

Steps

(action-name/Configuration/Steps)

(Diperlukan)

Tentukan perintah shell yang ingin Anda jalankan selama tindakan untuk menginstal, mengonfigurasi, dan menjalankan alat build Anda.

Berikut adalah contoh cara membangun proyek npm:

Steps: - Run: npm install - Run: npm run build

Berikut adalah contoh cara menentukan jalur file:

Steps: - Run: cd $ACTION_BUILD_SOURCE_PATH_WorkflowSource/app && cat file2.txt - Run: cd $ACTION_BUILD_SOURCE_PATH_MyBuildArtifact/build-output/ && cat file.txt

Untuk informasi selengkapnya tentang menentukan jalur file, lihat Merujuk file repositori sumber danMerujuk file dalam artefak.

UI yang sesuai: Perintah tab konfigurasi/Shell

Packages

(action-name/Configuration/Packages)

(Opsional)

Bagian di mana Anda dapat menentukan repositori paket yang digunakan tindakan untuk menyelesaikan dependensi. Paket memungkinkan Anda menyimpan dan berbagi paket perangkat lunak yang digunakan untuk pengembangan aplikasi dengan aman.

Untuk informasi selengkapnya tentang paket, lihatPublikasikan dan bagikan paket perangkat lunak di CodeCatalyst.

UI yang sesuai: Tab/Paket Konfigurasi

NpmConfiguration

(action-name/Configuration/Packages/NpmConfiguration)

(Diperlukan Packages jika disertakan)

Bagian yang mendefinisikan konfigurasi untuk format paket npm. Konfigurasi ini digunakan oleh tindakan selama menjalankan alur kerja.

Untuk informasi selengkapnya tentang konfigurasi paket npm, lihatMenggunakan npm.

UI yang sesuai: Konfigurasi tab/Packages/Add konfigurasi/npm

PackageRegistries

(action-name/Configuration/Packages/NpmConfiguration/PackageRegistries)

(Diperlukan Packages jika disertakan)

Bagian di mana Anda dapat menentukan properti konfigurasi dari urutan repositori paket.

UI yang sesuai: tab/Packages/Add configuration/npm Konfigurasi/Tambahkan repositori paket

PackagesRepository

(action-name/Configuration/Packages/NpmConfiguration/PackageRegistries/PackagesRepository)

(Diperlukan Packages jika disertakan)

Tentukan nama repositori CodeCatalyst paket Anda yang ingin digunakan tindakan.

Jika Anda menentukan beberapa repositori default, repositori terakhir akan diprioritaskan.

Untuk informasi lebih lanjut tentang repositori paket, lihat. Package repositori

UI yang sesuai: Repositori tab/Packages/Add configuration/npm/Add paket konfigurasi/Package repository

Scopes

(action-name/Configuration/Packages/NpmConfiguration/PackageRegistries/Scopes)

(Opsional)

Tentukan urutan cakupan yang ingin Anda tentukan dalam registri paket Anda. Saat mendefinisikan cakupan, repositori paket yang ditentukan dikonfigurasi sebagai registri untuk semua cakupan yang terdaftar. Jika paket dengan cakupan diminta melalui klien npm, itu akan menggunakan repositori itu alih-alih default. Setiap nama lingkup harus diawali dengan “@”.

Jika Anda menyertakan cakupan utama, repositori terakhir akan diprioritaskan.

Jika Scopes dihilangkan, maka repositori paket yang ditentukan dikonfigurasi sebagai registri default untuk semua paket yang digunakan oleh tindakan.

Untuk informasi selengkapnya tentang cakupan, lihat Ruang nama Package dan paket Scoped.

UI yang sesuai: Repositori/Cakupan tab/Packages/Add configuration/npm/Add paket konfigurasi - opsional

ExportAuthorizationToken

(action-name/Configuration/Packages/ExportAuthorizationToken)

(Opsional)

Mengaktifkan atau menonaktifkan fitur token otorisasi ekspor. Jika diaktifkan, token otorisasi yang diekspor dapat digunakan untuk mengonfigurasi manajer paket secara manual untuk mengautentikasi dengan CodeCatalyst repositori paket. Anda dapat menggunakan token sebagai variabel lingkungan yang dapat direferensikan dalam tindakan Anda.

Nilai-nilai yang valid adalah true atau false.

Jika ExportAuthorizationToken dihilangkan, defaultnya adalah. false

Untuk informasi selengkapnya tentang token otorisasi ekspor, lihatMenggunakan token otorisasi dalam tindakan alur kerja.

UI yang sesuai: Tab konfigurasi/Paket/Token otorisasi ekspor