View a markdown version of this page

Konfigurasikan alur kerja pipeline gambar di Pembuat Gambar - EC2 Image Builder

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

Konfigurasikan alur kerja pipeline gambar di Pembuat Gambar

Dengan alur kerja gambar, Anda dapat menyesuaikan alur kerja yang dijalankan pipeline Anda untuk membangun, menguji, dan mendistribusikan gambar sesuai dengan kebutuhan Anda. Alur kerja yang Anda tentukan dijalankan dalam konteks kerangka kerja alur kerja Image Builder. Untuk informasi selengkapnya tentang tahapan yang membentuk kerangka kerja alur kerja, lihatMengelola alur kerja build, pengujian, dan distribusi untuk image Image Builder.

Membangun alur kerja

Membangun alur kerja berjalan selama Build tahap kerangka kerja alur kerja. Anda hanya dapat menentukan satu alur kerja build untuk pipeline Anda. Atau Anda dapat melewati build sepenuhnya untuk mengonfigurasi pipeline khusus pengujian.

Uji alur kerja

Uji alur kerja dijalankan selama Test tahap kerangka kerja alur kerja. Anda dapat menambahkan satu atau lebih alur kerja pengujian ke pipeline Anda, hingga batas total sepuluh alur kerja, yang juga menghitung alur kerja build dan distribusi Anda. Alur kerja pengujian dapat berjalan secara paralel atau satu per satu, tergantung pada bagaimana Anda mendefinisikan grup pengujian Anda. Anda juga dapat melewatkan pengujian sepenuhnya jika Anda hanya ingin pipeline Anda dibangun.

Alur kerja distribusi

Alur kerja distribusi berjalan selama Distribution tahap kerangka kerja alur kerja. Alur kerja distribusi bersifat opsional. Jika Anda tidak menentukan satu, Image Builder masih mendistribusikan AMI Anda dengan menjalankan konfigurasi distribusi yang Anda lampirkan ke pipeline atau gambar. Tentukan alur kerja distribusi saat Anda ingin mengganti konfigurasi distribusi dengan pengaturan distribusi yang berbeda, atau untuk mendapatkan visibilitas lebih ke dalam proses distribusi. Anda dapat menentukan satu alur kerja distribusi untuk pipeline Anda. Jika Anda membuat gambar kontainer dan tidak menentukan alur kerja distribusi, Image Builder menambahkan alur kerja distribusi container terkelola Amazon untuk Anda.

Tentukan grup pengujian untuk alur kerja pengujian

Anda menentukan alur kerja pengujian dalam kelompok pengujian. Anda dapat menjalankan beberapa alur kerja pengujian untuk pipeline Anda. Batas gabungan adalah total sepuluh alur kerja, yang mencakup alur kerja build dan distribusi Anda. Anda memutuskan apakah akan menjalankan alur kerja pengujian dalam urutan tertentu atau menjalankan sebanyak mungkin pada saat yang bersamaan. Cara mereka berjalan tergantung pada bagaimana Anda mendefinisikan grup pengujian Anda. Skenario berikut menunjukkan beberapa cara untuk menentukan alur kerja pengujian Anda.

catatan

Peng parallelGroup onFailure aturan dan hanya berlaku untuk menguji alur kerja. Image Builder menolaknya pada alur kerja build atau distribusi denganInvalidParameterCombinationException.

Bagaimana kelompok uji berjalan

Image Builder menjalankan alur kerja pengujian Anda dalam grup pengujian. Ini menjalankan kelompok satu per satu. Alur kerja pengujian dalam satu grup berjalan pada saat yang sama (secara paralel). Image Builder menjalankan hingga lima alur kerja pengujian secara bersamaan; jika grup memiliki lebih dari lima, Pembuat Gambar memulai alur kerja pengujian berikutnya saat masing-masing selesai. Alur kerja pengujian yang bukan bagian dari grup berjalan sendiri.

Bagaimana Anda mendefinisikan grup pengujian tergantung pada apakah Anda menggunakan konsol atau API. AWS CLI Pilih tab yang cocok dengan metode yang Anda gunakan.

Konsol Manajemen AWS

Saat Anda membuat atau mengedit pipeline di konsol, Anda menentukan alur kerja pengujian Anda di bagian Alur kerja uji proses pembuatan gambar. Untuk menjalankan pengujian, pilih opsi untuk memilih alur kerja pengujian. Untuk membuat gambar tanpa pengujian, pilih opsi untuk melewati alur kerja pengujian.

Konsol mengatur alur kerja pengujian ke dalam kelompok pengujian. Pipeline baru dimulai dengan satu kelompok uji. Untuk membangun konfigurasi pengujian Anda, lakukan hal berikut:

  • Tambahkan alur kerja pengujian ke grup — Tambahkan alur kerja pengujian ke grup dan pilih alur kerja dari alur kerja Anda sendiri (Dim iliki oleh saya) atau alur kerja yang AWS dikelola (Dikel ola oleh Amazon). Jika alur kerja mendefinisikan parameter, konsol menunjukkannya sehingga Anda dapat memasukkan nilai. Sebuah grup dapat menampung hingga lima alur kerja pengujian, yang berjalan pada saat yang sama.

  • Tambahkan grup pengujian — Tambahkan grup pengujian lain untuk menjalankan serangkaian pengujian yang berbeda. Anda dapat menambahkan hingga sepuluh kelompok tes. Untuk mengganti nama grup, pilih Edit nama. Nama grup dapat memiliki hingga 128 karakter, dan dapat mencakup huruf, angka, tanda hubung (-), dan garis bawah (). _

Image Builder menjalankan grup pengujian satu per satu, dalam urutan yang muncul di wizard. Alur kerja pengujian dalam grup berjalan pada saat yang sama. Grup dapat berisi hingga lima alur kerja pengujian. Untuk menjalankan pengujian Anda satu per satu, letakkan setiap alur kerja pengujian dalam grupnya sendiri.

catatan

Anda dapat menambahkan atau menghapus alur kerja pengujian dan grup, tetapi Anda tidak dapat menyusunnya ulang. Rencanakan urutan grup pengujian Anda sebelum Anda membuatnya.

AWS CLI

Saat Anda menggunakan AWS CLI API Pembuat Gambar, Anda tidak menentukan grup pengujian secara langsung. Sebagai gantinya, Anda menetapkan parallelGroup atribut pada setiap alur kerja pengujian dalam workflows daftar. Alur kerja uji yang memiliki parallelGroup nilai yang sama membentuk satu grup dan berjalan pada waktu yang sama. Alur kerja pengujian yang tidak memiliki parallelGroup nilai berjalan sendiri. Jika Anda tidak menetapkan parallelGroup nilai pada alur kerja pengujian mana pun, Image Builder menjalankannya satu per satu.

API AWS CLI dan tidak membatasi jumlah alur kerja pengujian dalam grup. Satu-satunya batasan adalah jumlah total alur kerja, yang tidak boleh melebihi sepuluh (termasuk alur kerja build dan distribusi Anda). Konsol membatasi grup hingga lima alur kerja pengujian.

Image Builder selalu menjalankan alur kerja build terlebih dahulu, lalu uji alur kerja, lalu alur kerja distribusi. Urutan ini berlaku terlepas dari bagaimana Anda mencantumkannya.

Dalam tahap pengujian, Image Builder memesan alur kerja pengujian Anda sebagai berikut:

  • Ini mengurutkan grup berdasarkan posisi di mana setiap grup pertama kali muncul dalam workflows daftar Anda. Itu tidak mengurutkan mereka berdasarkan nil parallelGroup ainya.

  • Ini menjaga setiap alur kerja yang tidak memiliki grup di posisi tercantum.

  • Ini menjalankan alur kerja dalam grup bersama-sama, pada posisi di mana grup itu pertama kali muncul.

Contoh

Misalkan Anda mencantumkan lima alur kerja pengujian dalam urutan ini, dan menetapkan parallelGroup nilai pada beberapa di antaranya:

  • Uji alur kerja A — tidak ada grup

  • Uji alur kerja B —parallelGroup: tests-1

  • Uji alur kerja C — tidak ada grup

  • Uji alur kerja D —parallelGroup: tests-1

  • Uji alur kerja E —parallelGroup: tests-2

Image Builder menjalankannya dalam urutan sebagai berikut:

  1. Uji alur kerja A, dengan sendirinya.

  2. Uji alur kerja B dan uji alur kerja D, pada saat yang sama. Mereka berbagi tests-1 grup, yang pertama kali muncul di alur kerja uji B.

  3. Uji alur kerja C, dengan sendirinya.

  4. Uji alur kerja E, dengan sendirinya, dalam tests-2 grup.

Alur kerja pengujian D berjalan bersama dengan alur kerja pengujian B karena mereka berbagi grup, meskipun Anda mencantumkan alur kerja pengujian C di antara mereka. Grup bernama tests-1 berjalan sebelumnya tests-2 karena tests-1 muncul pertama dalam daftar — urutan grup mengikuti urutan dalam daftar, bukan nil parallelGroup ainya.

Skenario 1: Jalankan satu alur kerja pengujian pada satu waktu

Untuk menjalankan semua alur kerja pengujian Anda satu per satu, konfigurasikan grup pengujian terpisah untuk setiap alur kerja pengujian, hingga batas gabungan sepuluh alur kerja total (yang mencakup alur kerja build dan distribusi Anda). Image Builder menjalankan grup pengujian satu per satu. Ini adalah salah satu cara untuk memastikan bahwa alur kerja pengujian Anda berjalan satu per satu dalam urutan tertentu.

Skenario 2: Jalankan beberapa alur kerja pengujian secara bersamaan

Jika urutannya tidak masalah, dan Anda ingin menjalankan sebanyak mungkin alur kerja pengujian secara bersamaan, Anda dapat mengonfigurasi satu grup pengujian dan memasukkan jumlah maksimum alur kerja pengujian di dalamnya. Image Builder memulai hingga lima alur kerja pengujian secara bersamaan, dan memulai alur kerja pengujian tambahan saat yang lain selesai. Jika tujuan Anda adalah menjalankan alur kerja pengujian secepat mungkin, ini adalah salah satu cara untuk melakukannya.

Skenario 3: Campur dan cocokkan

Jika Anda memiliki skenario campuran, dengan beberapa alur kerja pengujian yang dapat berjalan pada saat yang sama dan beberapa yang harus dijalankan satu per satu, Anda dapat mengonfigurasi grup pengujian untuk mencapai tujuan ini. Satu-satunya batasan cara Anda mengonfigurasi grup pengujian adalah jumlah maksimum alur kerja pengujian yang dapat dijalankan untuk pipeline Anda

Mengatur parameter alur kerja di pipeline Image Builder dari konsol

Parameter alur kerja berfungsi dengan cara yang sama untuk alur kerja build, test, dan distribusi. Saat Anda membuat atau memperbarui pipeline, Anda memilih alur kerja build, test, dan distribusi yang ingin Anda sertakan. Jika Anda menentukan parameter dalam dokumen alur kerja untuk alur kerja yang Anda pilih, Image Builder menampilkannya di panel Parameter. Panel disembunyikan untuk alur kerja yang tidak memiliki parameter yang ditentukan.

Setiap parameter menampilkan atribut berikut yang ditentukan dokumen alur kerja Anda:

  • Nama (tidak dapat diedit) — Nama parameter.

  • Jenis (tidak dapat diedit) — Tipe data untuk nilai parameter.

  • Nilai — Nilai untuk parameter. Anda dapat mengedit nilai parameter untuk mengaturnya untuk pipeline Anda.

Tentukan peran layanan IAM yang digunakan Image Builder untuk menjalankan tindakan alur kerja

Saat Anda melampirkan alur kerja gambar kustom ke pipeline Anda, atau saat Anda menetapkan konfigurasi logging, Anda juga harus menentukan peran eksekusi. Ini adalah peran IAM yang diasumsikan Image Builder untuk menjalankan tindakan alur kerja Anda. Peran harus mempercayai prinsip layanan Pembuat Gambar. Untuk izin yang diperlukan, lihat informasi akses layanan alur kerja berikut.

Untuk menjalankan alur kerja gambar, Pembuat Gambar memerlukan izin untuk melakukan tindakan alur kerja. Anda memberikan izin ini dengan peran eksekusi yang diasumsikan Image Builder atas nama Anda. Anda menetapkan peran eksekusi sebagai berikut.

penting

Kami menyarankan agar Anda tidak meneruskan peran AWSServiceRoleForImageBuilder terkait layanan sebagai peran eksekusi Anda. Sebagai gantinya, buat peran IAM khusus dan lampirkan kebijakan terkel EC2ImageBuilderExecutionPolicy AWS ola. Kebijakan ini memberikan izin yang sama dengan yang diperlukan Pembuat Gambar untuk memang Layanan AWS gil atas nama Anda. Menggunakan peran khusus memberi Anda kontrol penuh atas izin yang digunakan Pembuat Gambar. Ini juga menjaga kebijakan kontrol layanan (SCP) dan kebijakan kontrol sumber daya (RCP) tetap berlaku untuk operasi yang dilakukan Pembuat Gambar atas nama Anda.

  • Konsol — Dalam panduan pipeline Langkah 3 Tentukan proses pembuatan gambar, pilih peran kustom Anda dari daftar peran IAM di panel akses Layanan.

  • Image Builder API — Dalam permintaan CreateImage tindakan, tentukan peran kustom Anda sebagai nilai executionRole parameter.

Untuk membuat peran eksekusi khusus, lihat Membuat peran untuk mendelegasikan izin ke AWS layanan di Panduan AWS Identity and Access Management Pengguna.

Mengaitkan alur kerja dengan pipeline

Untuk mengaitkan alur kerja image build, test, dan distribusi kustom dengan pipeline Anda, pilih tab yang cocok dengan metode yang ingin Anda gunakan.

Konsol Manajemen AWS

Saat Anda membuat atau memperbarui pipeline di dalam Konsol Manajemen AWS, wizard Create image pipeline menyertakan langkah Alur Kerja tempat Anda memilih alur kerja yang dijalankan pipeline Anda. Untuk mengaitkan alur kerja gambar kustom, lakukan hal berikut pada langkah itu:

  1. Untuk Alur kerja Build, pilih alur kerja build yang Anda inginkan untuk dijalankan pipeline Anda.

  2. Untuk Alur kerja Uji, tambahkan satu atau lebih alur kerja pengujian dan atur ke dalam grup pengujian untuk mengontrol urutan jalannya. Untuk informasi selengkapnya, lihat Tentukan grup pengujian untuk alur kerja pengujian.

  3. Untuk Alur kerja Distribusi, pilih alur kerja distribusi jika Anda ingin mengganti konfigurasi distribusi terlampir atau mendapatkan lebih banyak visibilitas ke dalam proses distribusi. Ini opsional.

  4. Untuk Per an eksekusi, pilih peran IAM yang diasumsikan Image Builder untuk menjalankan tindakan alur kerja Anda. Peran eksekusi diperlukan saat Anda mengaitkan alur kerja gambar kustom. Untuk informasi selengkapnya, lihat Tentukan peran layanan IAM yang digunakan Image Builder untuk menjalankan tindakan alur kerja.

  5. Jika alur kerja yang Anda pilih mendefinisikan parameter, tetapkan nilainya di panel Parameter. Untuk informasi selengkapnya, lihat Mengatur parameter alur kerja di pipeline Image Builder dari konsol.

Untuk panduan langkah demi langkah dari wizard Create image pipeline lengkap, lihatBuat dan perbarui pipeline gambar AMI.

AWS CLI

Untuk mengaitkan alur kerja gambar kustom saat Anda membuat pipeline, gunakan create-image-pipeline perintah. Tentukan peran eksekusi Anda dengan --execution-role parameter, dan daftarkan alur kerja build, pengujian, dan distribusi Anda dengan --workflows parameter tersebut. Contoh berikut membuat pipeline dengan satu alur kerja build, satu alur kerja pengujian, dan satu alur kerja distribusi.

aws imagebuilder create-image-pipeline \ --name example-pipeline \ --image-recipe-arn arn:aws:imagebuilder:us-west-2:111122223333:image-recipe/example/1.0.0 \ --infrastructure-configuration-arn arn:aws:imagebuilder:us-west-2:111122223333:infrastructure-configuration/example \ --execution-role arn:aws:iam::111122223333:role/ImageBuilderWorkflowExecutionRole \ --workflows '[ {"workflowArn":"arn:aws:imagebuilder:us-west-2:111122223333:workflow/build/example-build/1.0.0"}, {"workflowArn":"arn:aws:imagebuilder:us-west-2:111122223333:workflow/test/example-test/1.0.0","parallelGroup":"group-1","onFailure":"CONTINUE"}, {"workflowArn":"arn:aws:imagebuilder:us-west-2:111122223333:workflow/distribution/example-distribute/1.0.0"} ]'