Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Jalankan build dalam batch
Anda dapat menggunakan AWS CodeBuild untuk menjalankan build proyek secara bersamaan dan terkoordinasi dengan build batch.
Peran keamanan
Build batch memperkenalkan peran keamanan baru dalam konfigurasi batch. Peran baru ini diperlukan karena CodeBuild harus dapat memanggilStartBuild,StopBuild, dan RetryBuild tindakan atas nama Anda untuk menjalankan build sebagai bagian dari batch. Pelanggan harus menggunakan peran baru, dan bukan peran yang sama yang mereka gunakan dalam build mereka, karena dua alasan:
-
Memberikan izin
StartBuild,StopBuild, danRetryBuildkepada peran build akan memungkinkan satu build untuk memulai lebih banyak build melalui buildspec. -
CodeBuild build batch memberikan batasan yang membatasi jumlah build dan tipe komputasi yang dapat digunakan untuk build dalam batch. Jika peran build memiliki izin ini, build dapat melewati batasan ini sendiri.
Jenis build batch
CodeBuild mendukung jenis build batch berikut:
Jenis build batch
Bangun grafik
Grafik build mendefinisikan serangkaian tugas yang memiliki dependensi pada tugas lain dalam batch.
Contoh berikut mendefinisikan grafik build yang membuat rantai ketergantungan.
batch: fast-fail: false build-graph: - identifier: build1 env: variables: BUILD_ID: build1 ignore-failure: false - identifier: build2 buildspec: build2.yml env: variables: BUILD_ID: build2 depend-on: - build1 - identifier: build3 env: variables: BUILD_ID: build3 depend-on: - build2 - identifier: build4 env: compute-type: ARM_LAMBDA_1GB - identifier: build5 env: fleet: fleet_name
Dalam contoh ini:
-
build1berjalan lebih dulu karena tidak memiliki dependensi. -
build2memiliki ketergantungan padabuild1, jadibuild2berjalan setelahbuild1selesai. -
build3memiliki ketergantungan padabuild2, jadibuild3berjalan setelahbuild2selesai.
Untuk informasi selengkapnya tentang sintaks buildspec build graph, lihat. batch/build-grafik
Buat daftar
Daftar build mendefinisikan sejumlah tugas yang berjalan secara paralel.
Contoh berikut mendefinisikan daftar build. Buil build1 d build2 dan akan berjalan secara paralel.
batch: fast-fail: false build-list: - identifier: build1 env: variables: BUILD_ID: build1 ignore-failure: false - identifier: build2 buildspec: build2.yml env: variables: BUILD_ID: build2 ignore-failure: true - identifier: build3 env: compute-type: ARM_LAMBDA_1GB - identifier: build4 env: fleet: fleet_name - identifier: build5 env: compute-type: GENERAL_LINUX_XLAGRE
Untuk informasi selengkapnya tentang sintaks buildspec daftar build, lihat. batch/build-daftar
Bangun matriks
Matriks build mendefinisikan tugas dengan konfigurasi berbeda yang berjalan secara paralel. CodeBuild membuat build terpisah untuk setiap kombinasi konfigurasi yang mungkin.
Contoh berikut menunjukkan matriks build dengan dua file buildspec dan tiga nilai untuk variabel lingkungan.
batch: build-matrix: static: ignore-failure: false dynamic: buildspec: - matrix1.yml - matrix2.yml env: variables: MY_VAR: - VALUE1 - VALUE2 - VALUE3
Dalam contoh ini, CodeBuild buat enam build:
-
matrix1.ymldengan$MY_VAR=VALUE1 -
matrix1.ymldengan$MY_VAR=VALUE2 -
matrix1.ymldengan$MY_VAR=VALUE3 -
matrix2.ymldengan$MY_VAR=VALUE1 -
matrix2.ymldengan$MY_VAR=VALUE2 -
matrix2.ymldengan$MY_VAR=VALUE3
Setiap build akan memiliki pengaturan berikut:
-
ignore-failuresetel kefalse -
env/typesetel keLINUX_CONTAINER -
env/imagesetel keaws/codebuild/amazonlinux-x86_64-standard:4.0 -
env/privileged-modesetel ketrue
Build ini berjalan secara paralel.
Untuk informasi selengkapnya tentang sintaks buildspec matriks build, lihat. batch/build-matriks
Bangun fanout
Fanout build mendefinisikan tugas yang akan dibagi menjadi beberapa build dalam batch. Ini dapat digunakan untuk menjalankan tes secara paralel. CodeBuild membuat build terpisah untuk setiap pecahan kasus uji berdasarkan nilai yang ditetapkan di parallelism lapangan.
Contoh berikut mendefinisikan build fanout yang membuat lima build yang berjalan secara paralel.
version: 0.2 batch: fast-fail: false build-fanout: parallelism: 5 ignore-failure: false phases: install: commands: - npm install build: commands: - mkdir -p test-results - cd test-results - | codebuild-tests-run \ --test-command 'npx jest --runInBand --coverage' \ --files-search "codebuild-glob-search '**/test/**/*.test.js'" \ --sharding-strategy 'equal-distribution'
Dalam contoh ini, dengan asumsi bahwa ada 100 tes yang perlu dijalankan, CodeBuild membuat lima build yang masing-masing menjalankan 20 pengujian secara paralel.
Untuk informasi selengkapnya tentang sintaks buildspec build graph, lihat. batch/build-fanout
Mode laporan batch
Jika penyedia sumber untuk proyek Anda adalah Bitbucket, GitHub, atau GitHub Enterprise, dan proyek Anda dikonfigurasi untuk melaporkan status build ke penyedia sumber, Anda dapat memilih bagaimana Anda ingin status build batch dikirim ke penyedia sumber. Anda dapat memilih agar status dikirim sebagai laporan status agregat tunggal untuk batch, atau memiliki status setiap build dalam batch yang dilaporkan secara individual.
Untuk informasi selengkapnya, lihat topik berikut:
Informasi selengkapnya
Untuk informasi selengkapnya, lihat topik berikut: