

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.

# Mengonfigurasi devfile untuk Lingkungan Dev
<a name="devenvironment-devfile"></a>

*Devfile* adalah standar terbuka yang membantu Anda menyesuaikan Lingkungan Pengembang pengembangan di seluruh tim Anda. Devfile adalah file YAMAL yang mengkodifikasi alat pengembangan yang Anda butuhkan. Dengan mengonfigurasi devfile, Anda dapat menentukan terlebih dahulu alat proyek dan pustaka aplikasi yang Anda butuhkan dan Amazon CodeCatalyst menginstalnya ke Lingkungan Dev untuk Anda. Devfile khusus untuk repositori tempat pembuatannya, dan Anda dapat membuat devfile terpisah untuk setiap repositori. Lingkungan Dev Anda mendukung perintah dan peristiwa, dan menyediakan image devfile universal default.

Jika Anda membuat proyek menggunakan cetak biru kosong, Anda dapat membuat devfile secara manual. Jika Anda membuat proyek menggunakan cetak biru yang berbeda, CodeCatalyst buat devfile secara otomatis. `/projects`Direktori Dev Environment menyimpan file yang ditarik dari repositori sumber dan devfile. `/home`Direktori, yang kosong saat Anda pertama kali membuat Dev Environment, menyimpan file yang Anda buat saat menggunakan Dev Environment Anda. Segala sesuatu di `/projects` dan `/home` direktori Lingkungan Dev disimpan terus-menerus.

**catatan**  
`/home`Folder hanya berubah jika Anda mengubah nama devfile atau nama komponen devfile. Jika Anda mengubah nama komponen devfile atau devfile, isi direktori diganti dan data `/home` `/home` direktori Anda sebelumnya tidak dapat dipulihkan.

Jika Anda membuat Lingkungan Dev dengan repositori sumber yang tidak berisi devfile di akarnya, atau jika Anda membuat Lingkungan Dev tanpa repositori sumber, devfile universal default diterapkan ke repositori sumber secara otomatis. Gambar devfile universal default yang sama digunakan untuk semua IDEs. CodeCatalyst saat ini mendukung devfile versi 2.0.0. Untuk informasi selengkapnya tentang devfile, lihat [skema Devfile -](https://devfile.io/docs/2.0.0/devfile-schema) Versi 2.0.0.

**catatan**  
Anda hanya dapat menyertakan gambar kontainer publik di devfile Anda.

Perhatikan bahwa Lingkungan Dev yang terhubung dengan VPC hanya mendukung gambar devfile berikut:
+ Citra universal
+ Gambar ECR Amazon pribadi, jika repositori berada di wilayah yang sama dengan VPC

**Topics**
+ [Mengedit devfile repositori untuk Lingkungan Dev](devenvironment-devfile-moving.md)
+ [Fitur Devfile didukung oleh CodeCatalyst](#devenvironment-devfile-support)
+ [Contoh devfile untuk Lingkungan Dev](#devenvironment-devfile-example)
+ [Memecahkan masalah devfile repositori menggunakan mode pemulihan](#devenvironment-devfile-recovery)
+ [Menentukan gambar devfile universal untuk Lingkungan Dev](devenvironment-universal-image.md)
+ [Perintah Devfile](devenvironment-devfile-commands.md)
+ [Acara Devfile](devenvironment-devfile-events.md)
+ [Komponen Devfile](devenvironment-devfile-components.md)

# Mengedit devfile repositori untuk Lingkungan Dev
<a name="devenvironment-devfile-moving"></a>

Gunakan prosedur berikut untuk mengedit devfile repositori untuk Lingkungan Dev.

## Mengedit devfile repositori untuk Lingkungan Dev di CodeCatalyst
<a name="devenvironment-devfile-procedure"></a><a name="devenvironment-devfile-steps"></a>

**Untuk mengedit devfile repositori**

1. Buka CodeCatalyst konsol di [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Arahkan ke proyek yang berisi repositori sumber yang ingin Anda edit devfile.

1. Di panel navigasi, pilih **Kode**.

1. Pilih **Source Repositories**.

1. Pilih repositori sumber yang berisi devfile yang ingin Anda edit.

1. Dari daftar file, pilih `devfile.yaml` file.

1. Pilih **Edit**.

1. Edit devfile.

1. Pilih **Komit**, atau buat permintaan tarik sehingga anggota tim dapat meninjau dan menyetujui perubahan.

**catatan**  
Jika Anda mengedit devfile Anda, Anda harus memulai ulang devfile agar perubahan diterapkan. Ini bisa dilakukan dengan berlari`/aws/mde/mde start --location devfile.yaml`. Jika ada masalah saat memulai devfile Anda, itu akan masuk ke mode pemulihan. Namun, jika Anda mengedit devfile yang terkait dengan Lingkungan Dev yang terhubung dengan VPC, Anda harus memulai ulang Lingkungan Dev agar perubahan diterapkan.

Anda dapat meninjau devfile mana yang digunakan dengan menjalankan`/aws/mde/mde status`. Bidang lokasi memiliki jalur devfile relatif terhadap `/projects` folder lingkungan.

```
{
            "status": "STABLE",
            "location": "devfile.yaml"
        }
```

Anda juga dapat memindahkan devfile default `/projects/devfile.yaml` ke repositori kode sumber Anda. Untuk memperbarui lokasi devfile, gunakan perintah berikut:`/aws/mde/mde start --location repository-name/devfile.yaml`.

## Mengedit devfile repositori untuk Lingkungan Dev dalam IDE
<a name="devenvironment-devfile-ide"></a>

Untuk mengubah konfigurasi Dev Environment, Anda harus mengedit devfile. Kami menyarankan Anda mengedit devfile dalam IDE yang didukung dan kemudian memperbarui Lingkungan Dev Anda, tetapi Anda juga dapat mengedit devfile dari root repositori sumber di. CodeCatalyst Jika Anda mengedit devfile dalam IDE yang didukung, Anda harus melakukan dan mendorong perubahan Anda ke repositori sumber atau membuat permintaan tarik sehingga anggota tim dapat meninjau dan menyetujui pengeditan devfile.
+ [Mengedit devfile repositori untuk Lingkungan Dev di AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/devenvironment-cloud9.title.html#ide-toolkits-edit-devfile-cloud9)
+ [Mengedit devfile repositori untuk Lingkungan Pengembang di VS Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/codecatalyst-devenvironment.html#codecatalyst-devenvironment-devfile)
+ [Mengedit devfile repositori untuk Lingkungan Dev di JetBrains](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/codecatalyst-overview.html#codecatalyst-overview-default)

## Fitur Devfile didukung oleh CodeCatalyst
<a name="devenvironment-devfile-support"></a>

CodeCatalyst mendukung fitur devfile berikut pada versi 2.0.0. Untuk informasi selengkapnya tentang devfile, lihat [skema Devfile -](https://devfile.io/docs/2.0.0/devfile-schema) Versi 2.0.0.


| Fitur | Tipe | 
| --- | --- | 
|  `exec`  |  Perintah  | 
|  `postStart`  |  Peristiwa  | 
|  `container`  |  Komponen  | 
|  `args`  |  Properti Komponen  | 
|  `env`  |  Properti Komponen  | 
|  `mountSources`  |  Properti Komponen  | 
|  `volumeMounts`  |  Properti Komponen  | 

## Contoh devfile untuk Lingkungan Dev
<a name="devenvironment-devfile-example"></a>

Berikut ini adalah contoh devfile sederhana.

```
schemaVersion: 2.0.0
metadata:
  name: al2
components:
  - name: test
    container:
      image: public.ecr.aws/amazonlinux/amazonlinux:2
      mountSources: true
      command: ['sleep', 'infinity']
  - name: dockerstore
commands:
  - id: setupscript
    exec:
      component: test
      commandLine: "chmod +x script.sh"
      workingDir: /projects/devfiles
  - id: executescript
    exec:
      component: test
      commandLine: "/projects/devfiles/script.sh"
  - id: yumupdate
    exec:
      component: test
      commandLine: "yum -y update --security"
events:
  postStart:
    - setupscript
    - executescript
    - yumupdate
```

Startup Devfile, perintah, dan log peristiwa ditangkap dan disimpan di`/aws/mde/logs`. Untuk men-debug perilaku devfile, mulai Lingkungan Dev Anda menggunakan devfile yang berfungsi dan akses log.

## Memecahkan masalah devfile repositori menggunakan mode pemulihan
<a name="devenvironment-devfile-recovery"></a>

Jika ada masalah saat memulai devfile Anda, itu akan masuk ke mode pemulihan sehingga Anda masih dapat terhubung ke lingkungan Anda dan memperbaiki devfile Anda. Saat dalam mode pemulihan, berjalan `/aws/mde/mde status` tidak akan berisi lokasi devfile Anda.

```
{
            "status": "STABLE"
        }
```

Anda dapat memeriksa kesalahan di log di bawah`/aws/mde/logs`, memperbaiki devfile, dan mencoba menjalankan `/aws/mde/mde start` lagi.

# Menentukan gambar devfile universal untuk Lingkungan Dev
<a name="devenvironment-universal-image"></a>

*Gambar universal* default mencakup bahasa pemrograman yang paling umum digunakan dan alat terkait yang dapat digunakan untuk IDE Anda. Jika tidak ada gambar yang ditentukan, CodeCatalyst berikan gambar ini dan berisi alat yang dikelola oleh CodeCatalyst. Untuk tetap diberitahu tentang rilis gambar baru, lihat[Berlangganan notifikasi gambar universal dengan SNS](#devenvironment-universal-notifications).

Amazon CodeCatalyst secara aktif mendukung gambar devfile berikut:


| Versi gambar | Pengidentifikasi gambar | 
| --- | --- | 
| Universal image 4.0 | public.ecr.aws/aws-mde/universal-image:4.0 | 
| Universal image 5.0 | public.ecr.aws/aws-mde/universal-image:5.0 | 

**catatan**  
Anda juga dapat menggunakan `public.ecr.aws/aws-mde/universal-image:latest` untuk mendapatkan gambar terbaru, yang saat ini`public.ecr.aws/aws-mde/universal-image:5.0`.

CodeCatalyst telah mencela gambar-gambar berikut. Anda masih dapat menggunakan gambar ini, tetapi gambar tersebut tidak akan di-cache di host build dan akan menghasilkan peningkatan waktu start-up Dev Environment.


| Versi gambar | Pengidentifikasi gambar | Tanggal pengusangan | 
| --- | --- | --- | 
| Universal image 1.0 | public.ecr.aws/aws-mde/universal-image:1.0 | Agustus 16, 2024 | 
| Universal image 2.0 | public.ecr.aws/aws-mde/universal-image:2.0 | Agustus 16, 2024 | 
| Universal image 3.0 | public.ecr.aws/aws-mde/universal-image:3.0 | Juli 30, 2025 | 

**catatan**  
Jika Anda menggunakan AWS Cloud9, pelengkapan otomatis tidak akan berfungsi untuk PHP, Ruby, dan CSS setelah memutakhirkan ke. `universal-image:3.0`

**Topics**
+ [Berlangganan notifikasi gambar universal dengan SNS](#devenvironment-universal-notifications)
+ [Versi runtime image 4.0 universal](#devenvironment-universal-runtimes-4.0)
+ [Versi runtime image 5.0 universal](#devenvironment-universal-runtimes-5.0)

## Berlangganan notifikasi gambar universal dengan SNS
<a name="devenvironment-universal-notifications"></a>

CodeCatalyst menyediakan layanan pemberitahuan gambar universal. Anda dapat menggunakannya untuk berlangganan topik Amazon Simple Notification Service (SNS) yang memberi tahu Anda saat pembaruan gambar CodeCatalyst universal telah dirilis. Untuk informasi selengkapnya tentang topik SNS, lihat [Apa itu Layanan Pemberitahuan Sederhana Amazon](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)? .

Setiap kali gambar universal baru dirilis, kami mengirimkan pemberitahuan ke pelanggan; bagian ini menjelaskan cara berlangganan pembaruan gambar CodeCatalyst universal.

**Contoh pesan**

```
{
    "Type": "Notification",
    "MessageId": "123456789",
    "TopicArn": "arn:aws:sns:us-east-1:1234657890:universal-image-updates",
    "Subject": "New Universal Image Release",
    "Message": {
        "v1": {
            "Message": "A new version of the Universal Image has been released. You are now able to launch new DevEnvironments using this image.",
            "image ": {
                "release_type": "MAJOR VERSION",
                "image_name": "universal-image",
                "image_version": "2.0",
                "image_uri": "public.ecr.aws/amazonlinux/universal-image:2.0"
            }
        }
    },
    "Timestamp": "2021-09-03T19:05:57.882Z",
    "UnsubscribeURL": "example url"
}
```

**Untuk berlangganan pembaruan gambar CodeCatalyst universal menggunakan konsol Amazon SNS**

1. [Buka konsol Amazon SNS ke Dasbor.](https://console.aws.amazon.com/sns/v2/home)

1. Di bilah navigasi, pilih Wilayah AWS.

1. Di panel navigasi, pilih **Langganan**, lalu pilih **Buat** langganan.

1. Di **Topik ARN, masukkan**. `arn:aws:sns:us-east-1:089793673375:universal-image-updates`

1. Di **Protokol**, pilih **Email**.

1. Di **Endpoint**, berikan alamat email. Alamat email ini akan digunakan untuk menerima notifikasi.

1. Pilih **Buat langganan**.

1. Anda akan menerima email konfirmasi dengan baris subjek "AWS Pemberitahuan - Konfirmasi Berlangganan”. Buka email dan pilih **Konfirmasi langganan**.

**Untuk berhenti berlangganan pembaruan gambar CodeCatalyst universal menggunakan konsol Amazon SNS**

1. [Buka konsol Amazon SNS ke Dasbor.](https://console.aws.amazon.com/sns/v2/home)

1. Di bilah navigasi, pilih Wilayah AWS.

1. Di panel navigasi, pilih **Langganan** lalu pilih langganan yang ingin Anda hentikan berlangganan.

1. Pilih **Tindakan**, lalu pilih **Hapus langganan**.

1. Pilih **Hapus**.

## Versi runtime image 4.0 universal
<a name="devenvironment-universal-runtimes-4.0"></a>

Tabel berikut mencantumkan runtime yang tersedia untuk`universal-image:4.0`.


**`universal-image:4.0`versi runtime**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codecatalyst/latest/userguide/devenvironment-universal-image.html)

## Versi runtime image 5.0 universal
<a name="devenvironment-universal-runtimes-5.0"></a>

Tabel berikut mencantumkan runtime yang tersedia untuk`universal-image:5.0`.


**`universal-image:5.0`versi runtime**  

| Nama runtime  | Versi | Versi minor mayor dan terbaru tertentu | 
| --- | --- | --- | 
| aws cli |  2,25  |  `aws-cli: 2.x`  | 
| docker compose |  2.34  |  `docker-compose: 2.x`  | 
| dotnet |  8.0  |  `dotnet: 8.x`  | 
| golang |  1.24  |  `golang: 1.x`  | 
| jawa |  corretto21  |  `java: corretto21.x`  | 
| nodejs |  22.0  |  `nodejs: 22.x`  | 
| php |  8.3.16  |  `php: 8.x`  | 
| python |  3.12  |  `python: 3.x`  | 
| ruby |  3.4.2  |  `ruby: 3.x`  | 
| terraform |  1.10.5  |  `terraform: 1.x`  | 

# Perintah Devfile
<a name="devenvironment-devfile-commands"></a>

Saat ini, CodeCatalyst hanya mendukung `exec` perintah di devfile Anda. Untuk informasi selengkapnya, lihat [Menambahkan perintah](https://devfile.io/docs/2.0.0/adding-commands) dalam dokumentasi Devfile.io.

Contoh berikut menunjukkan cara menentukan `exec` perintah di devfile Anda.

```
commands:
  - id: setupscript
    exec:
      component: test
      commandLine: "chmod +x script.sh"
      workingDir: /projects/devfiles
  - id: executescript
    exec:
      component: test
      commandLine: "./projects/devfiles/script.sh"
  - id: updateyum
    exec:
      component: test
      commandLine: "yum -y update --security"
```

Setelah Anda terhubung ke Lingkungan Dev Anda, Anda dapat menjalankan perintah yang ditentukan melalui terminal.

```
/aws/mde/mde command <command-id>
/aws/mde/mde command executescript
```

Untuk perintah yang berjalan lama, Anda dapat menggunakan bendera streaming `-s` untuk menampilkan eksekusi perintah secara real time.

```
/aws/mde/mde -s command <command-id>
```

**catatan**  
`command-id`harus huruf kecil.

## Parameter Exec didukung oleh CodeCatalyst
<a name="devenvironment-exec-support"></a>

CodeCatalyst mendukung `exec` parameter berikut pada devfile versi 2.0.0.
+ `commandLine`
+ `component`
+ `id`
+ `workingDir`

# Acara Devfile
<a name="devenvironment-devfile-events"></a>

Saat ini, CodeCatalyst hanya mendukung `postStart` acara di devfile Anda. Untuk informasi selengkapnya, lihat [postStartObject](https://devfile.io/docs/2.0.0/adding-event-bindings#post-start-object)di dokumentasi Devfile.io.

Contoh berikut menunjukkan cara menambahkan binding `postStart` event di devfile Anda.

```
commands:
  - id: executescript
    exec:
      component: test
      commandLine: "./projects/devfiles/script.sh"
  - id: updateyum
    exec:
      component: test
      commandLine: "yum -y update --security"
events:
  postStart:
    - updateyum
    - executescript
```

Setelah startup, Dev Environment Anda akan menjalankan `postStart` perintah yang ditentukan dalam urutan yang ditentukan. Jika perintah gagal, Dev Environment akan terus berjalan dan output eksekusi disimpan dalam log di bawah`/aws/mde/logs`.

# Komponen Devfile
<a name="devenvironment-devfile-components"></a>

Saat ini, CodeCatalyst hanya mendukung `container` komponen di devfile Anda. Untuk informasi selengkapnya, lihat [Menambahkan komponen](https://devfile.io/docs/2.0.0/adding-components) dalam dokumentasi Devfile.io.

Contoh berikut menunjukkan cara menambahkan perintah startup ke container Anda di devfile Anda.

```
components:
  - name: test
    container:
      image: public.ecr.aws/amazonlinux/amazonlinux:2
      command: ['sleep', 'infinity']
```

**catatan**  
Ketika kontainer memiliki perintah entri berumur pendek, Anda harus menyertakan `command: ['sleep', 'infinity']` agar kontainer tetap berjalan.

CodeCatalyst juga mendukung properti berikut dalam komponen kontainer Anda:`args`,`env`,`mountSources`, dan`volumeMounts`.