Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat pipeline gambar kontainer dari AWS CLI
Untuk membuat pipeline gambar dari AWS CLI, jalankan create-image-pipeline perintah dengan opsi konfigurasi yang berlaku untuk pipeline Anda. Anda memiliki opsi untuk membuat file JSON yang berisi semua konfigurasi pipeline Anda, atau untuk menentukan konfigurasi saat runtime. Bagian ini menggunakan metode file konfigurasi JSON untuk menyederhanakan perintah.
Seberapa sering pipeline Anda membuat gambar baru untuk memasukkan pembaruan yang tertunda dari image dasar dan komponen tergantung pada schedule yang telah Anda konfigurasikan. A schedule memiliki atribut berikut:
-
scheduleExpression— Menetapkan jadwal kapan pipeline Anda berjalan untuk mengevaluasipipelineExecutionStartConditiondan menentukan apakah harus memulai pembangunan. Jadwal dikonfigurasi dengan ekspresi cron. Untuk informasi selengkapnya tentang cara memformat ekspresi cron di Pembuat Gambar, lihatGunakan ekspresi cron di Image Builder. -
pipelineExecutionStartCondition— Menentukan apakah pipeline Anda harus memulai pembangunan. Nilai yang valid meliputi:-
EXPRESSION_MATCH_ONLY— pipeline Anda akan membuat gambar baru setiap kali ekspresi cron cocok dengan waktu saat ini. -
EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE— pipeline Anda membuat gambar baru hanya ketika ekspresi jadwal cocok dan ada pembaruan yang tertunda untuk gambar dasar atau komponen Anda. Jika tidak ada pembaruan yang tertunda, build dilewati. Untuk membangun segera tanpa menunggu pembaruan, jalankan pipeline secara manual.
-
Ketika Anda menjalankan create-image-pipeline perintah di AWS CLI, banyak sumber daya konfigurasi bersifat opsional. Namun, beberapa sumber daya memiliki persyaratan kondisional, tergantung pada jenis gambar apa yang dibuat pipa. Sumber daya berikut diperlukan untuk pipeline gambar kontainer:
-
Resep kontainer ARN
-
Konfigurasi infrastruktur ARN
Jika Anda tidak menyertakan sumber daya konfigurasi distribusi saat menjalankan create-image-pipeline perintah, gambar keluaran disimpan dalam repositori ECR yang Anda tentukan sebagai repositori target dalam resep kontainer Anda di Wilayah tempat Anda menjalankan perintah. Jika Anda menyertakan sumber daya konfigurasi distribusi untuk pipeline Anda, repositori target yang telah Anda tentukan untuk Wilayah pertama dalam distribusi akan digunakan.
-
Buat file JSON input CLI
Gunakan alat pengeditan file favorit Anda untuk membuat file JSON dengan kunci berikut, ditambah nilai yang valid untuk lingkungan Anda. Contoh ini menggunakan file bernama
create-image-pipeline.json:{ "name": "MyWindows2019Pipeline", "description": "Builds Windows 2019 Images", "enhancedImageMetadataEnabled": true, "containerRecipeArn": "arn:aws:imagebuilder:us-west-2:123456789012:container-recipe/my-example-recipe/2020.12.03", "infrastructureConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:infrastructure-configuration/my-example-infrastructure-configuration", "distributionConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:distribution-configuration/my-example-distribution-configuration", "imageTestsConfiguration": { "imageTestsEnabled": true, "timeoutMinutes": 60 }, "schedule": { "scheduleExpression": "cron(0 0 * * SUN *)", "pipelineExecutionStartCondition": "EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE" }, "status": "ENABLED" }catatan
-
Anda harus menyertakan notasi
file://pada awal jalur file JSON. -
Jalur untuk file JSON harus mengikuti konvensi yang sesuai untuk sistem operasi dasar tempat Anda menjalankan perintah. Misalnya, Windows menggunakan garis miring terbalik (\) untuk merujuk ke jalur direktori, sementara Linux dan macOS menggunakan garis miring maju (/).
-
-
Jalankan perintah berikut, menggunakan file yang Anda buat sebagai input.
aws imagebuilder create-image-pipeline --cli-input-json file://create-image-pipeline.json
Contoh: Buat pipeline kontainer dengan pemindaian gambar dan alur kerja khusus
Contoh ini mengonfigurasi pipeline kontainer yang memeriksa setiap hari Senin pukul 10:00 UTC dan berjalan hanya ketika pembaruan ketergantungan tersedia. File konfigurasi menggunakan sumber daya yang ada untuk resep kontainer dan infrastruktur. Ini memungkinkan pemindaian kerentanan dengan Amazon Inspector dan integrasi ECR. Konfigurasi juga menentukan al ur kerja kustom dengan peran eksekusi. Grup paralel menjalankan tes keamanan dan fungsional pada saat yang bersamaan. Log pipa dikirim ke grup CloudWatch log kustom.
-
Buat file konfigurasi
Buat file JSON bernama
create-container-pipeline-with-workflows.json. File ini mendefinisikan konfigurasi pipeline kontainer dengan pemindaian gambar diaktifkan dan alur kerja pengujian khusus. Ganti nilai placeholder dengan ARN sumber daya Anda sendiri.{ "name": "MyContainerPipelineWithScanning", "description": "Container pipeline with vulnerability scanning and custom workflows", "containerRecipeArn": "arn:aws:imagebuilder:us-east-1:123456789012:container-recipe/my-container-recipe/1.0.0", "infrastructureConfigurationArn": "arn:aws:imagebuilder:us-east-1:123456789012:infrastructure-configuration/my-infra-config", "distributionConfigurationArn": "arn:aws:imagebuilder:us-east-1:123456789012:distribution-configuration/my-dist-config", "imageScanningConfiguration": { "imageScanningEnabled": true, "ecrConfiguration": { "repositoryName": "my-scanning-repo", "containerTags": ["scan-latest"] } }, "workflows": [ { "workflowArn": "arn:aws:imagebuilder:us-east-1:123456789012:workflow/build/my-build-workflow/1.0.0" }, { "workflowArn": "arn:aws:imagebuilder:us-east-1:123456789012:workflow/test/my-security-scan/1.0.0", "onFailure": "ABORT", "parallelGroup": "security" }, { "workflowArn": "arn:aws:imagebuilder:us-east-1:123456789012:workflow/test/my-compliance-check/1.0.0", "onFailure": "ABORT", "parallelGroup": "security" }, { "workflowArn": "arn:aws:imagebuilder:us-east-1:123456789012:workflow/test/my-functional-test/1.0.0", "onFailure": "CONTINUE", "parallelGroup": "functional" }, { "workflowArn": "arn:aws:imagebuilder:us-east-1:123456789012:workflow/test/my-performance-test/1.0.0", "onFailure": "CONTINUE", "parallelGroup": "functional" } ], "executionRole": "arn:aws:iam::123456789012:role/ImageBuilderExecutionRole", "loggingConfiguration": { "imageLogGroupName": "/aws/imagebuilder/my-container-pipeline-image-logs", "pipelineLogGroupName": "/aws/imagebuilder/my-container-pipeline-execution-logs" }, "imageTestsConfiguration": { "imageTestsEnabled": true, "timeoutMinutes": 120 }, "schedule": { "scheduleExpression": "cron(0 10 ? * MON *)", "pipelineExecutionStartCondition": "EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE" }, "status": "ENABLED" }catatan
-
Anda harus menyertakan notasi
file://pada awal jalur file JSON. -
Jalur untuk file JSON harus mengikuti konvensi yang sesuai untuk sistem operasi dasar tempat Anda menjalankan perintah. Misalnya, Windows menggunakan garis miring terbalik (\) untuk merujuk ke jalur direktori, sementara Linux dan macOS menggunakan garis miring maju (/).
-
-
Jalankan perintah
aws imagebuilder create-image-pipeline --cli-input-json file://create-container-pipeline-with-workflows.json