

Amazon CodeCatalyst tidak lagi terbuka untuk pelanggan baru. Pelanggan yang sudah ada dapat terus menggunakan layanan ini seperti biasa. Lihat informasi yang lebih lengkap di [Cara bermigrasi dari CodeCatalyst](migration.md).

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

# Menentukan gambar lingkungan runtime
<a name="build-images"></a>

*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](#build-curated-images) 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](#build-images-specify).

**Topics**
+ [Gambar aktif](#build-curated-images)
+ [Bagaimana jika gambar aktif tidak menyertakan alat yang saya butuhkan?](#build-images-more-tools)
+ [Menetapkan image Docker lingkungan runtime kustom ke suatu tindakan](#build-images-specify)
+ [Contoh](#workflows-working-custom-image-ex)

## Gambar aktif
<a name="build-curated-images"></a>

*Gambar aktif adalah gambar* lingkungan runtime yang sepenuhnya didukung 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:
+ [Membuat dan menguji tindakan yang ditambahkan ke alur kerja pada atau setelah 26 Maret 2024 akan menyertakan `Container` bagian dalam definisi YAML mereka yang secara eksplisit menentukan gambar Maret 2024.](#build.default-image) Anda dapat menghapus `Container` bagian tersebut secara opsional untuk kembali ke gambar [November 2022](#build.previous-image).
+ Tindakan pembuatan dan uji yang ditambahkan ke alur kerja sebelum 26 Maret 2024 *tidak* akan menyertakan `Container` bagian dalam definisi YAMLnya, dan akibatnya akan menggunakan gambar [November](#build.previous-image) 2022. Anda dapat menyimpan gambar November 2022, atau Anda dapat meningkatkannya. Untuk memutakhirkan gambar, buka tindakan di editor visual, pilih tab **Konfigurasi**, lalu pilih gambar Maret 2024 dari daftar drop-down gambar **docker lingkungan Runtime**. Pilihan ini akan menambahkan `Container` bagian ke definisi YAMAL tindakan yang diisi dengan gambar Maret 2024 yang sesuai.
+ Semua tindakan lainnya akan menggunakan gambar [November 2022 atau gambar](#build.previous-image) [Maret 2024](#build.default-image). Untuk informasi selengkapnya, lihat dokumentasi tindakan. 

**Topics**
+ [Maret 2024 foto](#build.default-image)
+ [Gambar November 2022](#build.previous-image)

### Maret 2024 foto
<a name="build.default-image"></a>

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

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


**Alat gambar Maret 2024**  

| Alat | CodeCatalyst Amazon EC2 untuk Linux x86\$164 - `CodeCatalystLinux_x86_64:2024_03` | CodeCatalyst Lambda untuk Linux x86\$164 - `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 Copilot 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
<a name="build.previous-image"></a>

Ada satu gambar November 2022 per type/fleet kombinasi komputasi. Ada juga image Windows November 2022 yang tersedia dengan tindakan build jika Anda telah mengonfigurasi armada [yang disediakan](workflows-working-compute.md#compute.fleets).

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


**Alat gambar November 2022**  

| Alat | CodeCatalyst Amazon EC2 untuk Linux x86\$164 - `CodeCatalystLinux_x86_64:2022_11` | CodeCatalyst Lambda untuk Linux x86\$164 - `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\$164 - `CodeCatalystWindows_x86_64:2022_11` | 
| --- | --- | --- | --- | --- | --- | 
| AWS CLI | 2.15.17 | 2.15.17 | 2.15.17 | 2.15.17 | 2.13.19 | 
| AWS Copilot 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?
<a name="build-images-more-tools"></a>

Jika tidak ada [gambar aktif](#build-curated-images) 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](#build-images-specify).
**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 kode YAMP build atau test action:

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

  *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 aksi build YAMAL, lihat[Membangun dan menguji tindakan YAMB](build-action-ref.md).

## Menetapkan image Docker lingkungan runtime kustom ke suatu tindakan
<a name="build-images-specify"></a>

Jika Anda tidak ingin menggunakan [gambar Aktif yang disediakan oleh CodeCatalyst, Anda dapat memberikan image](#build-curated-images) 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](https://docs.docker.com/get-started/02_our_app/) 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 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/](https://codecatalyst.aws/).

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

1. 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.

1. Pilih **Edit**.

1. Pilih **Visual**.

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

1. Pilih tab **Konfigurasi**.

1. Di dekat bagian bawah, isi bidang berikut.

   **Lingkungan runtime Gambar Docker - opsional**

   Tentukan registri tempat gambar Anda disimpan. Nilai yang valid meliputi:
   + `CODECATALYST`(Editor YAMAL)

     Gambar disimpan dalam CodeCatalyst registri.
   + **Docker Hub** (editor visual) atau `DockerHub` (editor YAMAL)

     Gambar disimpan dalam registri gambar Docker Hub.
   + **Registri lain** (editor visual) atau `Other` (editor YAMAL)

     Gambar disimpan dalam registri gambar khusus. Registri apa pun yang tersedia untuk umum dapat digunakan.
   + **Amazon Elastic Container Registry** (editor visual) atau `ECR` (editor YAMAL)

     Gambar disimpan dalam repositori gambar Amazon Elastic Container Registry. Untuk menggunakan gambar di repositori Amazon ECR, tindakan ini memerlukan akses ke Amazon ECR. Untuk mengaktifkan akses ini, Anda harus membuat [peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) yang mencakup izin berikut dan kebijakan kepercayaan khusus. (Anda dapat mengubah peran yang ada untuk menyertakan izin dan kebijakan, jika Anda mau.)

     Peran IAM harus menyertakan izin berikut dalam kebijakan perannya:
     + `ecr:BatchCheckLayerAvailability`
     + `ecr:BatchGetImage`
     + `ecr:GetAuthorizationToken`
     + `ecr:GetDownloadUrlForLayer`

     Peran IAM harus menyertakan kebijakan kepercayaan khusus berikut:

     Untuk informasi selengkapnya tentang membuat peran IAM, lihat [Membuat peran menggunakan kebijakan kepercayaan khusus (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) di *Panduan Pengguna IAM*.

     Setelah Anda membuat peran, Anda harus menetapkannya ke tindakan melalui lingkungan. Untuk informasi selengkapnya, lihat [Mengaitkan lingkungan dengan tindakan](deploy-environments-add-app-to-environment.md).

   **URL gambar ECR****, gambar **Docker Hub atau URL Gambar****

   Tentukan satu dari yang berikut ini:
   + Jika Anda menggunakan `CODECATALYST` registri, atur gambar ke salah satu [gambar aktif](#build-curated-images) 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 registri Amazon ECR, atur gambar ke URI registri Amazon ECR.

     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.

1. (Opsional) Pilih **Validasi** untuk memvalidasi kode YAMAL alur kerja sebelum melakukan.

1. Pilih **Komit**, masukkan pesan komit, dan pilih **Komit** lagi.

------
#### [ YAML ]

**Untuk menetapkan image Docker lingkungan runtime kustom menggunakan editor YAMAL**

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

1. 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.

1. Pilih **Edit**.

1. Pilih **YAMAL.**

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

1. Dalam tindakan, tambahkan `Container` bagian dan yang mendasari `Registry` dan `Image` properti. Untuk informasi selengkapnya, lihat deskripsi`Container`, `Registry` dan `Image` properti di [Tindakan](workflow-reference.md#actions-reference) untuk tindakan Anda.

1. (Opsional) Pilih **Validasi** untuk memvalidasi kode YAMAL alur kerja sebelum melakukan.

1. Pilih **Komit**, masukkan pesan komit, dan pilih **Komit** lagi.

------

## Contoh
<a name="workflows-working-custom-image-ex"></a>

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

**Topics**
+ [Contoh: Menggunakan image Docker lingkungan runtime kustom untuk menambahkan dukungan untuk Node.js 18 dengan Amazon ECR](#workflows-working-custom-image-ex-ecr-node18)
+ [Contoh: Menggunakan image Docker lingkungan runtime kustom untuk menambahkan dukungan untuk Node.js 18 dengan Docker Hub](#workflows-working-custom-image-ex-docker-node18)

### Contoh: Menggunakan image Docker lingkungan runtime kustom untuk menambahkan dukungan untuk Node.js 18 dengan Amazon ECR
<a name="workflows-working-custom-image-ex-ecr-node18"></a>

Contoh berikut menunjukkan cara menggunakan image Docker lingkungan runtime kustom untuk menambahkan dukungan untuk Node.js 18 dengan [Amazon](https://gallery.ecr.aws/amazonlinux/amazonlinux) 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
<a name="workflows-working-custom-image-ex-docker-node18"></a>

Contoh berikut menunjukkan cara menggunakan image Docker lingkungan runtime kustom untuk menambahkan dukungan untuk Node.js 18 dengan [Docker](https://hub.docker.com/_/node) Hub.

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