Menentukan gambar lingkungan runtime - Amazon CodeCatalyst

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

Menentukan gambar lingkungan runtime

Gambar lingkungan runtime adalah wadah Docker di mana CodeCatalyst menjalankan tindakan alur kerja. Container Docker berjalan di atas platform komputasi yang Anda pilih, dan menyertakan sistem operasi dan alat tambahan yang mungkin diperlukan oleh tindakan alur kerja, seperti Node.js AWS CLI, dan .tar.

Secara default, tindakan alur kerja akan berjalan pada salah satu gambar aktif yang disediakan dan dikelola oleh CodeCatalyst. Hanya tindakan build dan test yang mendukung gambar kustom. Untuk informasi selengkapnya, lihat Menetapkan image Docker lingkungan runtime kustom ke suatu tindakan.

Gambar aktif

Gambar aktif adalah gambar lingkungan runtime yang didukung penuh oleh CodeCatalyst dan menyertakan perkakas yang sudah diinstal sebelumnya. Saat ini ada dua set gambar aktif: satu dirilis pada Maret 2024, dan satu lagi dirilis pada November 2022.

Apakah suatu tindakan menggunakan gambar Maret 2024 atau November 2022 tergantung pada tindakannya:

Maret 2024 foto

Gambar Maret 2024 adalah gambar terbaru yang disediakan oleh CodeCatalyst. Ada satu gambar Maret 2024 per kombinasi jenis/armada komputasi.

Tabel berikut menunjukkan alat yang diinstal pada setiap gambar Maret 2024.

Alat gambar Maret 2024
Alat CodeCatalyst Amazon EC2 untuk Linux x86_64 - CodeCatalystLinux_x86_64:2024_03 CodeCatalyst Lambda untuk Linux x86_64 - CodeCatalystLinuxLambda_x86_64:2024_03 CodeCatalyst Amazon EC2 untuk Linux Arm64 - CodeCatalystLinux_Arm64:2024_03 CodeCatalyst Lambda untuk Linux Arm64 - CodeCatalystLinuxLambda_Arm64:2024_03
AWS CLI 2.15.17 2.15.17 2.15.17 2.15.17
AWS Kopilot CLI 1.32.1 1.32.1 1.32.1 1.32.1
Docker 24.0.9 N/A 24.0.9 N/A
Docker Compose 2.23.3 N/A 2.23.3 N/A
Git 2.43.0 2.43.0 2.43.0 2.43.0
Go 1.21.5 1.21.5 1.21.5 1.21.5
Gradle 8.5 8.5 8.5 8.5
Java Corretto17 Corretto17 Corretto17 Corretto17
Maven 3.9.6 3.9.6 3.9.6 3.9.6
Node.js 18.19.0 18.19.0 18.19.0 18.19.0
npm 10.2.3 10.2.3 10.2.3 10.2.3
Python 3.9.18 3.9.18 3.9.18 3.9.18
Python3 3.11.6 3.11.6 3.11.6 3.11.6
pip 22.3.1 22.3.1 22.3.1 22.3.1
.NET 8.0.100 8.0.100 8.0.100 8.0.100

Gambar November 2022

Ada satu gambar November 2022 per kombinasi jenis/armada komputasi. Ada juga image Windows November 2022 yang tersedia dengan tindakan build jika Anda telah mengonfigurasi armada yang disediakan.

Tabel berikut menunjukkan alat yang diinstal pada setiap gambar November 2022.

Alat gambar November 2022
Alat CodeCatalyst Amazon EC2 untuk Linux x86_64 - CodeCatalystLinux_x86_64:2022_11 CodeCatalyst Lambda untuk Linux x86_64 - CodeCatalystLinuxLambda_x86_64:2022_11 CodeCatalyst Amazon EC2 untuk Linux Arm64 - CodeCatalystLinux_Arm64:2022_11 CodeCatalyst Lambda untuk Linux Arm64 - CodeCatalystLinuxLambda_Arm64:2022_11 CodeCatalyst Amazon EC2 untuk Windows x86_64 - CodeCatalystWindows_x86_64:2022_11
AWS CLI 2.15.17 2.15.17 2.15.17 2.15.17 2.13.19
AWS Kopilot CLI 0.6.0 0.6.0 N/A N/A 1.30.1
Docker 23.01 N/A 23.0.1 N/A N/A
Docker Compose 2.16.0 N/A 2.16.0 N/A N/A
Git 2.40.0 2.40.0 2.39.2 2.39.2 2.42.0
Go 1.20.2 1.20.2 1.20.1 1.20.1 1.19
Gradle 8.0.2 8.0.2 8.0.1 8.0.1 8.3
Java Corretto17 Corretto17 Corretto17 Corretto17 Corretto17
Maven 3.9.4 3.9.4 3.9.0 3.9.0 3.9.4
Node.js 16.20.2 16.20.2 16.19.1 16.14.2 16.20.0
npm 8.19.4 8.19.4 8.19.3 8.5.0 8.19.4
Python 3.9.15 2.7.18 3.11.2 2.7.18 3.9.13
Python3 N/A 3.9.15 N/A 3.11.2 N/A
pip 22.2.2 22.2.2 23.0.1 23.0.1 22.0.4
.NET 6.0.407 6.0.407 6.0.406 6.0.406 6.0.414

Bagaimana jika gambar aktif tidak menyertakan alat yang saya butuhkan?

Jika tidak ada gambar aktif yang disediakan oleh CodeCatalyst menyertakan alat yang Anda butuhkan, Anda memiliki beberapa opsi:

  • Anda dapat memberikan image Docker lingkungan runtime kustom yang menyertakan alat yang diperlukan. Untuk informasi selengkapnya, lihat Menetapkan image Docker lingkungan runtime kustom ke suatu tindakan.

    catatan

    Jika Anda ingin memberikan image Docker lingkungan runtime kustom, pastikan gambar kustom Anda telah menginstal Git di dalamnya.

  • Anda dapat meminta build atau test action alur kerja Anda menginstal alat yang Anda butuhkan.

    Misalnya, Anda dapat menyertakan petunjuk berikut di Steps bagian YAML kode tindakan build atau test:

    Configuration: Steps: - Run: ./setup-script

    Bagian setup-script instruksi kemudian akan menjalankan skrip berikut untuk menginstal manajer paket Node (npm):

    #!/usr/bin/env bash echo "Setting up environment" touch ~/.bashrc curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash source ~/.bashrc nvm install v16.1.0 source ~/.bashrc

    Untuk informasi selengkapnya tentang tindakan buildYAML, lihatMembangun dan menguji tindakan YAML.

Menetapkan image Docker lingkungan runtime kustom ke suatu tindakan

Jika Anda tidak ingin menggunakan gambar Aktif yang disediakan oleh CodeCatalyst, Anda dapat memberikan image Docker lingkungan runtime kustom. Jika Anda ingin memberikan gambar kustom, pastikan Git sudah terpasang di dalamnya. Gambar dapat berada di Docker Hub, Amazon Elastic Container Registry, atau repositori publik apa pun.

Untuk mempelajari cara membuat image Docker kustom, lihat Containerize aplikasi dalam dokumentasi Docker.

Gunakan petunjuk berikut untuk menetapkan image Docker lingkungan runtime kustom Anda ke tindakan. Setelah menentukan gambar, CodeCatalyst terapkan ke platform komputasi Anda saat tindakan dimulai.

catatan

Tindakan berikut tidak mendukung lingkungan runtime kustom Gambar Docker: Deploy AWS CloudFormation stack, Deploy to ECS, dan GitHub Actions. Lingkungan runtime kustom Gambar Docker juga tidak mendukung jenis komputasi Lambda.

Visual
Untuk menetapkan lingkungan runtime kustom gambar Docker menggunakan editor visual
  1. Buka CodeCatalyst konsol di https://codecatalyst.aws/.

  2. Di panel navigasi, pilih CI/CD, lalu pilih Alur kerja.

  3. Pilih nama alur kerja Anda. Anda dapat memfilter berdasarkan repositori sumber atau nama cabang tempat alur kerja ditentukan, atau memfilter berdasarkan nama atau status alur kerja.

  4. Pilih Edit.

  5. Pilih Visual.

  6. Dalam diagram alur kerja, pilih tindakan yang akan menggunakan image Docker lingkungan runtime kustom Anda.

  7. Pilih tab Konfigurasi.

  8. Di dekat bagian bawah, isi bidang berikut.

    Lingkungan runtime Gambar Docker - opsional

    Tentukan registri tempat gambar Anda disimpan. Nilai yang valid meliputi:

    • CODECATALYST(YAMLpenyunting)

      Gambar disimpan dalam CodeCatalyst registri.

    • Docker Hub (editor visual) atau DockerHub (YAMLeditor)

      Gambar disimpan dalam registri gambar Docker Hub.

    • Registri lainnya (editor visual) atau Other (YAMLeditor)

      Gambar disimpan dalam registri gambar khusus. Registri apa pun yang tersedia untuk umum dapat digunakan.

    • Amazon Elastic Container Registry (editor visual) atau ECR (YAMLeditor)

      Gambar disimpan dalam repositori gambar Amazon Elastic Container Registry. Untuk menggunakan gambar di ECR repositori Amazon, tindakan ini memerlukan akses ke Amazon. ECR Untuk mengaktifkan akses ini, Anda harus membuat IAMperan yang mencakup izin berikut dan kebijakan kepercayaan khusus. (Anda dapat mengubah peran yang ada untuk menyertakan izin dan kebijakan, jika Anda mau.)

      IAMPeran harus menyertakan izin berikut dalam kebijakan perannya:

      • ecr:BatchCheckLayerAvailability

      • ecr:BatchGetImage

      • ecr:GetAuthorizationToken

      • ecr:GetDownloadUrlForLayer

      IAMPeran tersebut harus mencakup kebijakan kepercayaan khusus berikut:

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

      Untuk informasi selengkapnya tentang membuat IAM peran, lihat Membuat peran menggunakan kebijakan kepercayaan khusus (konsol) di Panduan IAM Pengguna.

      Setelah Anda membuat peran, Anda harus menetapkannya ke tindakan melalui lingkungan. Untuk informasi selengkapnya, lihat Mengaitkan lingkungan dengan tindakan.

    ECRgambarURL, gambar Docker Hub atau Gambar URL

    Tentukan satu dari yang berikut ini:

    • Jika Anda menggunakan CODECATALYST registri, atur gambar ke salah satu gambar aktif berikut:

      • CodeCatalystLinux_x86_64:2024_03

      • CodeCatalystLinux_x86_64:2022_11

      • CodeCatalystLinux_Arm64:2024_03

      • CodeCatalystLinux_Arm64:2022_11

      • CodeCatalystLinuxLambda_x86_64:2024_03

      • CodeCatalystLinuxLambda_x86_64:2022_11

      • CodeCatalystLinuxLambda_Arm64:2024_03

      • CodeCatalystLinuxLambda_Arm64:2022_11

      • CodeCatalystWindows_x86_64:2022_11

    • Jika Anda menggunakan registri Docker Hub, atur gambar ke nama gambar Docker Hub dan tag opsional.

      Contoh: postgres:latest

    • Jika Anda menggunakan ECR registri Amazon, atur gambar ke ECR registri AmazonURI.

      Contoh: 111122223333.dkr.ecr.us-west-2.amazonaws.com/codecatalyst-ecs-image-repo

    • Jika Anda menggunakan registri kustom, atur gambar ke nilai yang diharapkan oleh registri kustom.

  9. (Opsional) Pilih Validasi untuk memvalidasi YAML kode alur kerja sebelum melakukan.

  10. Pilih Komit, masukkan pesan komit, dan pilih Komit lagi.

YAML
Untuk menetapkan lingkungan runtime kustom gambar Docker menggunakan editor YAML
  1. Di panel navigasi, pilih CI/CD, lalu pilih Alur kerja.

  2. Pilih nama alur kerja Anda. Anda dapat memfilter berdasarkan repositori sumber atau nama cabang tempat alur kerja ditentukan, atau memfilter berdasarkan nama atau status alur kerja.

  3. Pilih Edit.

  4. Pilih YAML.

  5. Temukan tindakan yang ingin Anda tetapkan pada image Docker lingkungan runtime.

  6. Dalam tindakan, tambahkan Container bagian dan yang mendasari Registry dan Image properti. Untuk informasi selengkapnya, lihat deskripsiContainer, Registry dan Image properti di Tindakan untuk tindakan Anda.

  7. (Opsional) Pilih Validasi untuk memvalidasi YAML kode alur kerja sebelum melakukan.

  8. Pilih Komit, masukkan pesan komit, dan pilih Komit lagi.

Contoh

Contoh berikut menunjukkan cara menetapkan image Docker lingkungan runtime kustom ke tindakan dalam file definisi alur kerja.

Contoh: Menggunakan image Docker lingkungan runtime kustom untuk menambahkan dukungan untuk Node.js 18 dengan Amazon ECR

Contoh berikut menunjukkan cara menggunakan image Docker lingkungan runtime kustom untuk menambahkan dukungan untuk Node.js 18 dengan Amazon. ECR

Configuration: Container: Registry: ECR Image: public.ecr.aws/amazonlinux/amazonlinux:2023

Contoh: Menggunakan image Docker lingkungan runtime kustom untuk menambahkan dukungan untuk Node.js 18 dengan Docker Hub

Contoh berikut menunjukkan cara menggunakan image Docker lingkungan runtime kustom untuk menambahkan dukungan untuk Node.js 18 dengan Docker Hub.

Configuration: Container: Registry: DockerHub Image: node:18.18.2