Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Penggantian label didukung dengan Ac CodeBuild-hosted GitHub tions runner
Di YAML GitHub alur kerja Tindakan Anda, Anda dapat menyediakan berbagai penggantian label yang memodifikasi build runner yang di-host sendiri. Setiap build yang tidak dikenali oleh CodeBuild akan diabaikan tetapi tidak akan gagal dalam permintaan webhook Anda. YAML alur kerja berikut mendefinisikan dua pekerjaan: job1 menggunakan penggantian untuk gambar, ukuran instance, armada, dan spesifikasi build, dan hanya job2 menggunakan penggantian gambar. Berikan setiap pekerjaan label unik (job1danjob2) sehingga merut GitHub ekan setiap pekerjaan ke pelari yang dibuat untuknya:
name: Hello World on: [push] jobs: job1: runs-on: - codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }} - image:arm-3.0 - instance-size:small - fleet:myFleet - buildspec-override:true - job1 steps: - run: echo "Hello from Job 1!" job2: runs-on: - codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }} - image:linux-5.0 - job2 steps: - run: echo "Hello from Job 2!"
Anda juga dapat menggunakan strategi matriks untuk menjalankan satu pekerjaan di beberapa konfigurasi. Ekspansi tugas matriks tunggal selalu memiliki jumlah label yang sama, sehingga masalah pencocokan pelari tidak mempengaruhinya. Namun, jika alur kerja yang dijalankan berisi lebih dari satu pekerjaan matriks, berikan setiap pekerjaan matriks label kustom uniknya sendiri (misalnya, matrix-job-1 danmatrix-job-2) sehingga GitHub tidak cocok dengan pekerjaan dengan pelari yang dibuat untuk pekerjaan matriks yang berbeda:
name: Hello World on: [push] jobs: Hello-World-Job: runs-on: - codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }} - image:${{ matrix.os }} - instance-size:${{ matrix.size }} - fleet:myFleet - buildspec-override:true - matrix-job-1 strategy: matrix: include: - os: arm-3.0 size: small - os: linux-5.0 size: large steps: - run: echo "Hello World!"
catatan
Jika pekerjaan alur kerja Anda bertahan GitHub, lihat Memecahkan masalah webhook dan Menggunakan label khusus untuk merutekan pekerjaan
codebuild-(diperlukan)<project-name>-${{github.run_id}}-${{github.run_attempt}}
Contoh:
codebuild-fake-project-${{ github.run_id }}-${{ github.run_attempt }}-
Diperlukan untuk semua YAML GitHub alur kerja Tindakan.
<project name>harus sama dengan nama proyek di mana webhook pelari yang di-host sendiri dikonfigurasi.
image:<environment-type>-<image-identifier>
Contoh:
image:arm-3.0-
Mengganti jenis gambar dan lingkungan yang digunakan saat memulai build pelari yang di-host sendiri dengan gambar yang dikuratori. Untuk mempelajari tentang nilai yang didukung, lihatHitung gambar yang didukung dengan Ac CodeBuild-hosted GitHub tions runner.
Untuk mengganti jenis gambar dan lingkungan yang digunakan dengan gambar khusus, gunakan
image:custom-<environment-type>-<custom-image-identifier>Contoh:
image:custom-arm-public.ecr.aws/codebuild/amazonlinux-aarch64-standard:3.0catatan
Jika gambar kustom berada di registri pribadi, lihatKonfigurasikan kredenal registri pribadi untuk pelari yang dihosting sendiri.
instance-size:<instance-size>
Contoh:
instance-size:medium-
Mengganti jenis instance yang digunakan saat memulai build runner yang di-host sendiri. Untuk mempelajari tentang nilai yang didukung, lihatHitung gambar yang didukung dengan Ac CodeBuild-hosted GitHub tions runner.
fleet:<fleet-name>
Contoh:
fleet:myFleet-
Mengganti pengaturan armada yang dikonfigurasi pada proyek Anda untuk menggunakan armada yang ditentukan. Untuk informasi selengkapnya, lihat Jalankan build pada armada kapasitas yang dicadangkan.
buildspec-override:<boolean>
Contoh:
buildspec-override:true-
Mengizinkan build menjalankan perintah buildspec di
POST_BUILDfaseINSTALL,PRE_BUILD, dan jika disetel ke.true
(disarankan ketika alur kerja yang dijalankan memiliki beberapa pekerjaan)<unique-label>
Contoh:
job1-
Label kustom yang Anda tentukan dan tidak ada pekerjaan lain dalam alur kerja yang sama yang digunakan. Menetapkan label unik untuk setiap pekerjaan memastikan bahwa mer GitHub utekan setiap pekerjaan hanya ke pelari yang dibuat untuknya. Tanpa itu, ketika pekerjaan dalam alur kerja yang sama memiliki jumlah penggantian label yang berbeda, pekerjaan dengan label lebih sedikit dapat diambil oleh pelari yang dibuat untuk pekerjaan dengan lebih banyak label, yang membuat pekerjaan kedua tanpa pelari. Untuk informasi selengkapnya, lihat Memecahkan masalah webhook.
Penggantian label tunggal
CodeBuild memungkinkan Anda untuk memberikan beberapa penggantian dalam satu label menggunakan yang berikut:
catatan
Karena semua penggantian digabungkan menjadi satu label, pelari setiap pekerjaan mendaftar dengan tepat satu label. Ini berarti masalah pencocokan pelari beberapa pekerjaan yang dijelaskan dalam Memecahkan masalah webhook tidak dapat terjadi dengan format ini, bahkan tanpa label unik pada setiap pekerjaan. Gunakan format label tunggal jika Anda lebih suka perilaku ini dan pekerjaan Anda hanya perlu penggantian yang didukungnya. Jangan menggunakannya saat Anda membutuhkan penggantian yang tidak didukungnya. Misalnya, gambar kustom (termasuk gambar dalam registri pribadi) hanya dapat ditentukan dengan menggunakan format image:custom- label. Untuk penggantian tersebut, gunakan format label terpisah yang dijelaskan sebelumnya dalam topik ini.<environment-type>-<custom-image-identifier>
-
Untuk mengganti setelan lingkungan Anda untuk build EC2/Lambda komputasi Amazon, gunakan sintaks berikut:
runs-on: codebuild-<project-name>-${{ github.run_id }}-${{ github.run_attempt }}-<environment-type>-<image-identifier>-<instance-size> -
Untuk mengganti setelan armada Anda untuk build komputasi Amazon EC2, gunakan sintaks berikut:
runs-on: codebuild-<project-name>-${{ github.run_id }}-${{ github.run_attempt }}-fleet-<fleet-name> -
Untuk mengganti armada dan gambar yang digunakan untuk build, gunakan sintaks berikut:
runs-on: codebuild-<project-name>-${{ github.run_id }}-${{ github.run_attempt }}-image-<image-version>-fleet-<fleet-name> -
Untuk menjalankan perintah buildspec selama build,
-with-buildspecdapat ditambahkan sebagai akhiran ke label:runs-on: codebuild-<project-name>-${{ github.run_id }}-${{ github.run_attempt }}-<image>-<image-version>-<instance-size>-with-buildspec -
Secara opsional, Anda dapat memberikan penggantian ukuran instance tanpa mengganti gambar. Untuk build Amazon EC2, Anda dapat mengecualikan jenis lingkungan dan pengidentifikasi gambar. Untuk build Lambda, Anda dapat mengecualikan pengidentifikasi gambar.