

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

# Referensi file definisi gambar
<a name="file-reference"></a>

Bagian ini hanya referensi. Untuk informasi tentang membuat pipeline dengan sumber atau tindakan penerapan untuk kontainer, lihat[Buat pipeline, tahapan, dan tindakan](pipelines-create.md).

AWS CodePipeline pekerja pekerjaan untuk tindakan penampung, seperti tindakan sumber Amazon ECR atau tindakan penerapan Amazon ECS, menggunakan file definisi untuk memetakan URI gambar dan nama kontainer ke definisi tugas. Setiap file definisi adalah file berformat JSON yang digunakan oleh penyedia tindakan sebagai berikut:
+ Penerapan standar Amazon ECS memerlukan `imagedefinitions.json` file sebagai masukan untuk tindakan penerapan. Untuk tutorial yang menggunakan tindakan penerapan standar Amazon ECS CodePipeline, lihat. [Tutorial: Penerapan Standar Amazon ECS dengan CodePipeline](ecs-cd-pipeline.md) Untuk contoh tutorial lain yang menggunakan tindakan penerapan standar Amazon ECS CodePipeline bersama dengan ECRBuild AndPublish tindakan, lihat. [Tutorial: Buat dan dorong gambar Docker ke Amazon ECR dengan CodePipeline (tipe V2)](tutorials-ecr-build-publish.md)
+  blue/green Penerapan Amazon ECS memerlukan `imageDetail.json` file sebagai masukan untuk tindakan penerapan. Untuk tutorial dengan contoh blue/green penerapan, lihat[Tutorial: Membuat pipeline dengan sumber dan ECS-to-CodeDeploy penerapan Amazon ECR](tutorials-ecs-ecr-codedeploy.md).
  + Tindakan sumber Amazon ECR menghasilkan `imageDetail.json` file yang disediakan sebagai output dari tindakan sumber.

**Topics**
+ [file imagedefinitions.json untuk tindakan penerapan standar Amazon ECS](#pipelines-create-image-definitions)
+ [File ImageDetail.json untuk tindakan penerapan Amazon ECS blue/green](#file-reference-ecs-bluegreen)

## file imagedefinitions.json untuk tindakan penerapan standar Amazon ECS
<a name="pipelines-create-image-definitions"></a>

Dokumen definisi gambar adalah file JSON yang menjelaskan nama wadah Amazon ECS Anda serta gambar dan tag. Jika Anda menerapkan aplikasi berbasis kontainer, Anda harus membuat file definisi gambar untuk menyediakan wadah Amazon ECS dan identifikasi gambar kepada pekerja CodePipeline pekerjaan untuk diambil dari repositori gambar, seperti Amazon ECR.

**catatan**  
Nama file default untuk file tersebut adalah`imagedefinitions.json`. Jika Anda memilih untuk menggunakan nama file yang berbeda, Anda harus menyediakannya saat membuat tahap penyebaran pipeline.

Buat `imagedefinitions.json` file dengan pertimbangan berikut:
+ File harus menggunakan pengkodean UTF-8.
+ Batas ukuran file maksimum untuk file definisi gambar adalah 100 KB.
+ Anda harus membuat file sebagai sumber atau membangun artefak sehingga merupakan artefak input untuk tindakan penerapan. Dengan kata lain, pastikan file tersebut diunggah ke lokasi sumber Anda, seperti CodeCommit repositori Anda, atau dihasilkan sebagai artefak keluaran bawaan.

`imagedefinitions.json`File ini menyediakan nama kontainer dan URI gambar. Itu harus dibangun dengan set pasangan kunci-nilai berikut.


| Key | Nilai | 
| --- | --- | 
| name | container\$1name | 
| imageUri | imageUri | 

**catatan**  
Bidang nama digunakan untuk nama gambar kontainer, yang berarti nama untuk gambar Docker.

Berikut adalah struktur JSON, di mana nama kontainer adalah`sample-app`, URI gambar`ecs-repo`, dan tag adalah`latest`:

```
[
  {
    "name": "sample-app",
    "imageUri": "11111EXAMPLE.dkr.ecr.us-west-2.amazonaws.com/ecs-repo:latest"
  }
]
```

Anda juga dapat membuat file untuk mencantumkan beberapa pasangan gambar kontainer. 

Struktur JSON:

```
[
  {
    "name": "simple-app",
    "imageUri": "httpd:2.4"
  },
  {
    "name": "simple-app-1",
    "imageUri": "mysql"
  },
  {
    "name": "simple-app-2",
    "imageUri": "java1.8"
  }
]
```

Sebelum membuat pipeline, gunakan langkah-langkah berikut untuk menyiapkan `imagedefinitions.json` file.

1. Sebagai bagian dari perencanaan penerapan aplikasi berbasis container untuk pipeline Anda, rencanakan tahap sumber dan tahap pembuatan, jika berlaku.

1. Pilih salah satu cara berikut:

   1.  Jika pipeline Anda dibuat sehingga melewati tahap pembuatan, Anda harus membuat file JSON secara manual dan mengunggahnya ke repositori sumber Anda sehingga tindakan sumber dapat menyediakan artefak. Buat file menggunakan editor teks, dan beri nama file atau gunakan nama `imagedefinitions.json` file default. Dorong file definisi gambar ke repositori sumber Anda.
**catatan**  
Jika repositori sumber Anda adalah bucket Amazon S3, ingatlah untuk zip file JSON.

   1. Jika pipeline Anda memiliki tahap build, tambahkan perintah ke file spesifikasi build yang menampilkan file definisi gambar di repositori sumber selama fase build. Contoh berikut menggunakan **printf** perintah untuk membuat `imagedefinitions.json` file. Buat daftar perintah ini di `post_build` bagian `buildspec.yml` file:

      ```
      printf '[{"name":"container_name","imageUri":"image_URI"}]' >
      imagedefinitions.json
      ```

      Anda harus menyertakan file definisi gambar sebagai artefak keluaran dalam `buildspec.yml` file.

1. Saat Anda membuat pipeline di konsol, pada halaman **Deploy** wizard **Create Pipeline**, di **Image Filename**, masukkan nama file definisi gambar.

Untuk step-by-step tutorial membuat pipeline yang menggunakan Amazon ECS sebagai penyedia penyebaran, lihat [Tutorial: Penerapan Berkelanjutan](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-cd-pipeline.html) dengan. CodePipeline

## File ImageDetail.json untuk tindakan penerapan Amazon ECS blue/green
<a name="file-reference-ecs-bluegreen"></a>

`imageDetail.json`Dokumen adalah file JSON yang menjelaskan URI gambar Amazon ECS Anda. Jika Anda menerapkan aplikasi berbasis kontainer untuk blue/green penerapan, Anda harus membuat `imageDetail.json` file untuk menyediakan Amazon ECS dan CodeDeploy job worker dengan identifikasi gambar untuk diambil dari repositori gambar, seperti Amazon ECR.

**catatan**  
Nama file harus`imageDetail.json`.

Untuk deskripsi tindakan dan parameternya, lihat[Amazon Elastic Container Service dan CodeDeploy referensi aksi penerapan biru-hijau](action-reference-ECSbluegreen.md).

Anda harus membuat `imageDetail.json` file sebagai sumber atau membangun artefak sehingga merupakan artefak input untuk tindakan penerapan. Anda dapat menggunakan salah satu metode ini untuk menyediakan `imageDetail.json` file dalam pipeline: 
+ Sertakan `imageDetail.json` file di lokasi sumber Anda sehingga disediakan dalam pipeline sebagai masukan ke tindakan blue/green penerapan Amazon ECS Anda.
**catatan**  
Jika repositori sumber Anda adalah bucket Amazon S3, ingatlah untuk zip file JSON.
+ Tindakan sumber Amazon ECR secara otomatis menghasilkan `imageDetail.json` file sebagai artefak masukan untuk tindakan selanjutnya.
**catatan**  
Karena tindakan sumber Amazon ECR membuat file ini, saluran pipa dengan tindakan sumber Amazon ECR tidak perlu menyediakan file secara manual. `imageDetail.json`   
Untuk tutorial tentang membuat pipeline yang menyertakan tahap sumber Amazon ECR, lihat[Tutorial: Membuat pipeline dengan sumber dan ECS-to-CodeDeploy penerapan Amazon ECR](tutorials-ecs-ecr-codedeploy.md).

![\[Diagram yang menunjukkan file ImageDetail.json yang terdapat dalam ember artefak\]](http://docs.aws.amazon.com/id_id/codepipeline/latest/userguide/images/imageDetail_file_diagram.png)


`imageDetail.json`File ini menyediakan URI gambar. Itu harus dibangun dengan pasangan kunci-nilai berikut.


| Key | Nilai | 
| --- | --- | 
| ImageURI | image\$1URI | 

------
#### [ imageDetail.json ]

Berikut adalah struktur JSON, di mana URI gambar adalah`ACCOUNTID.dkr.ecr.us-west-2.amazonaws.com/dk-image-repo@sha256:example3`:

```
{
"ImageURI": "ACCOUNTID.dkr.ecr.us-west-2.amazonaws.com/dk-image-repo@sha256:example3"
}
```

------
#### [ imageDetail.json (generated by ECR) ]

`imageDetail.json`File dihasilkan secara otomatis oleh tindakan sumber Amazon ECR setiap kali perubahan didorong ke repositori gambar. Tindakan sumber Amazon ECR yang `imageDetail.json` dihasilkan disediakan sebagai artefak keluaran dari aksi sumber ke tindakan berikutnya dalam pipeline.

Berikut adalah struktur JSON, di mana nama repositori adalah`dk-image-repo`, URI gambar`ecs-repo`, dan tag gambar adalah: `latest`

```
{
    "ImageSizeInBytes": "44728918",
    "ImageDigest": "sha256:EXAMPLE11223344556677889900bfea42ea2d3b8a1ee8329ba7e68694950afd3",
    "Version": "1.0",
    "ImagePushedAt": "Mon Jan 21 20:04:00 UTC 2019",
    "RegistryId": "EXAMPLE12233",
    "RepositoryName": "dk-image-repo",
    "ImageURI": "ACCOUNTID.dkr.ecr.us-west-2.amazonaws.com/dk-image-repo@sha256:example3",
    "ImageTags": [
        "latest"
    ]
}
```

`imageDetail.json`File memetakan URI gambar dan nama kontainer ke definisi tugas Amazon ECS sebagai berikut:
+ `ImageSizeInBytes`: Ukuran, dalam byte, dari gambar di repositori.
+ `ImageDigest`: `sha256` Intisari manifes gambar.
+ `Version`: Versi gambar.
+ `ImagePushedAt`: Tanggal dan waktu ketika gambar terbaru didorong ke repositori.
+ `RegistryId`: ID AWS akun yang terkait dengan registri yang berisi repositori.
+ `RepositoryName`: Nama repositori Amazon ECR tempat gambar didorong.
+ `ImageURI`: URI untuk gambar.
+ `ImageTags`: Tag yang digunakan untuk gambar.

------

Sebelum membuat pipeline, gunakan langkah-langkah berikut untuk menyiapkan `imageDetail.json` file.

1. Sebagai bagian dari perencanaan blue/green penerapan aplikasi berbasis container untuk pipeline Anda, rencanakan tahap sumber dan tahap pembuatan, jika berlaku.

1. Pilih salah satu cara berikut:

   1.  Jika pipeline Anda telah melewati tahap pembuatan, Anda harus membuat file JSON secara manual dan mengunggahnya ke repositori sumber Anda, seperti CodeCommit, sehingga tindakan sumber dapat menyediakan artefak. Buat file menggunakan editor teks, dan beri nama file atau gunakan nama `imageDetail.json` file default. Dorong `imageDetail.json` file ke repositori sumber Anda.

   1. Jika pipeline Anda memiliki tahap build, lakukan hal berikut:

      1. Tambahkan perintah ke file spesifikasi build Anda yang menampilkan file definisi gambar di repositori sumber Anda selama fase build. Contoh berikut menggunakan **printf** perintah untuk membuat `imageDetail.json` file. Buat daftar perintah ini di `post_build` bagian file buildspec.yl:

         ```
         printf '{"ImageURI":"image_URI"}' > imageDetail.json
         ```

         Anda harus menyertakan `imageDetail.json` file sebagai artefak keluaran dalam `buildspec.yml` file.

      1. Tambahkan `imageDetail.json` sebagai file artefak dalam `buildspec.yml` file.

         ```
         artifacts:
           files:
             - imageDetail.json
         ```