Memodifikasi definisi tugas Amazon ECS - Amazon CodeCatalyst

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

Memodifikasi definisi tugas Amazon ECS

Bagian ini menjelaskan cara memperbarui image bidang dalam file definisi tugas Amazon Elastic Container Service (Amazon ECS) Elastic Container Service (Amazon ECS) menggunakan alur kerja. CodeCatalyst Untuk mencapai ini, Anda harus menambahkan tindakan definisi tugas Render Amazon ECS 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.

Cara kerja tindakan 'Render Amazon ECS task definition'

Anda harus menggunakan tindakan definisi tugas Render Amazon ECS 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 tugas Render Amazon ECS 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 tugas Render Amazon ECS 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. Tindakan Deploy to Amazon ECS mendaftarkan file definisi tugas yang diperbarui dengan Amazon ECS. Mendaftarkan file definisi tugas yang diperbarui menyebarkan gambar baru, MyDockerImage:a37bd7e ke Amazon ECS.

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

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