Memodifikasi definisi ECS tugas Amazon - Amazon CodeCatalyst

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

Memodifikasi definisi ECS tugas Amazon

Bagian ini menjelaskan cara memperbarui image bidang dalam file definisi tugas Amazon Elastic Container Service (AmazonECS) menggunakan CodeCatalyst alur kerja. Untuk mencapai ini, Anda harus menambahkan tindakan definisi ECS tugas Render Amazon ke alur kerja Anda. Tindakan ini memperbarui bidang gambar dalam file definisi tugas dengan nama gambar Docker yang disediakan oleh alur kerja Anda saat runtime.

catatan

Anda juga dapat menggunakan tindakan ini untuk memperbarui environment bidang definisi tugas dengan variabel lingkungan.

Kapan menggunakan tindakan ini

Gunakan ini jika Anda memiliki alur kerja yang membangun dan menandai image Docker dengan konten dinamis, seperti ID komit atau stempel waktu.

Jangan gunakan tindakan ini jika file definisi tugas Anda berisi nilai gambar yang selalu tetap sama. Dalam hal ini, Anda dapat memasukkan nama gambar Anda secara manual ke dalam file definisi tugas.

Bagaimana tindakan 'Render definisi ECS tugas Amazon' bekerja

Anda harus menggunakan tindakan definisi ECS tugas Render Amazon dengan tindakan build dan Deploy ke Amazon ECS di alur kerja Anda. Bersama-sama, tindakan ini bekerja sebagai berikut:

  1. Tindakan build membangun image Docker Anda dan menandainya dengan nama, ID komit, stempel waktu, atau konten dinamis lainnya. Misalnya, tindakan build Anda mungkin terlihat seperti ini:

    MyECSWorkflow Actions: BuildAction: Identifier: aws/build@v1 ... Configuration: Steps: # Build, tag, and push the Docker image... - Run: docker build -t MyDockerImage:${WorkflowSource.CommitId} . ...

    Dalam kode sebelumnya, docker build -t arahan menunjukkan untuk membangun image Docker dan menandainya dengan ID komit saat runtime tindakan. Nama gambar yang dihasilkan mungkin terlihat seperti ini:

    MyDockerImage:a37bd7e

  2. Tindakan definisi ECS tugas Render Amazon menambahkan nama gambar yang dihasilkan secara dinamisMyDockerImage:a37bd7e, ke file definisi tugas Anda, seperti ini:

    { "executionRoleArn": "arn:aws:iam::account_ID:role/codecatalyst-ecs-task-execution-role", "containerDefinitions": [ { "name": "codecatalyst-ecs-container", "image": MyDockerImage:a37bd7e, "essential": true, ... "portMappings": [ { "hostPort": 80, "protocol": "tcp", "containerPort": 80 } ] } ], ... }

    Secara opsional, Anda juga dapat meminta tindakan definisi ECS tugas Render Amazon menambahkan variabel lingkungan ke definisi tugas, seperti ini:

    { "executionRoleArn": "arn:aws:iam::account_ID:role/codecatalyst-ecs-task-execution-role", "containerDefinitions": [ { "name": "codecatalyst-ecs-container", "image": MyDockerImage:a37bd7e, ... "environment": [ { name": "ECS_LOGLEVEL", value": "info" } ] } ], ... }

    Untuk informasi selengkapnya tentang variabel lingkungan, lihat Menentukan variabel lingkungan di Panduan Pengembang Layanan Amazon Elastic Container.

  3. ECSTindakan Deploy to Amazon mendaftarkan file definisi tugas yang diperbarui dengan Amazon. ECS Mendaftarkan file definisi tugas yang diperbarui menyebarkan gambar baru, MyDockerImage:a37bd7e ke AmazonECS.

Gambar runtime yang digunakan oleh tindakan 'Render Amazon ECS task definition'

Tindakan definisi ECS tugas Render Amazon berjalan pada gambar November 2022. Untuk informasi selengkapnya, lihat Gambar aktif.