

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

# Tutorial: Buat pipeline yang di-deploy ke Service Catalog
<a name="tutorials-S3-servicecatalog"></a>

Service Catalog memungkinkan Anda untuk membuat dan menyediakan produk berdasarkan AWS CloudFormation template. 

**penting**  
Sebagai bagian dari pembuatan pipa, ember artefak S3 yang disediakan oleh pelanggan akan digunakan CodePipeline untuk artefak. (Ini berbeda dari bucket yang digunakan untuk aksi sumber S3.) Jika bucket artefak S3 berada di akun yang berbeda dari akun untuk pipeline Anda, pastikan bucket artefak S3 dimiliki oleh Akun AWS yang aman dan dapat diandalkan.

Tutorial ini menunjukkan cara membuat dan mengonfigurasi pipeline untuk menyebarkan template produk Anda ke Service Catalog dan memberikan perubahan yang telah Anda buat di repositori sumber Anda (sudah dibuat di GitHub, CodeCommit, atau Amazon S3).

**catatan**  
Jika Amazon S3 adalah penyedia sumber untuk pipeline Anda, Anda harus mengunggah ke bucket semua file sumber yang dikemas sebagai satu file.zip. Jika tidak, tindakan sumber gagal.

Pertama, Anda membuat produk di Service Catalog, dan kemudian Anda membuat pipeline AWS CodePipeline. Tutorial ini menyediakan dua opsi untuk mengatur konfigurasi penyebaran:
+ Buat produk di Service Catalog dan unggah file template ke repositori sumber Anda. Menyediakan versi produk dan konfigurasi penerapan di CodePipeline konsol (tanpa file konfigurasi terpisah). Lihat [Opsi 1: Terapkan ke Service Catalog tanpa file konfigurasi](#tutorials-S3-servicecatalog-ex1-configure).
**catatan**  
File template dapat dibuat dalam format YAMAL atau JSON.
+ Buat produk di Service Catalog dan unggah file template ke repositori sumber Anda. Menyediakan versi produk dan konfigurasi penyebaran dalam file konfigurasi terpisah. Lihat [Opsi 2: Terapkan ke Service Catalog menggunakan file konfigurasi](#tutorials-S3-servicecatalog-ex2-configure).

## Opsi 1: Terapkan ke Service Catalog tanpa file konfigurasi
<a name="tutorials-S3-servicecatalog-ex1-configure"></a>

Dalam contoh ini, Anda mengunggah file AWS CloudFormation template sampel untuk bucket S3, lalu membuat produk Anda di Service Catalog. Selanjutnya, Anda membuat pipeline dan menentukan konfigurasi penerapan di CodePipeline konsol.

### Langkah 1: Unggah file templat sampel ke repositori sumber
<a name="tutorials-S3-servicecatalog-configure"></a>

1. Buka editor teks. Buat template sampel dengan menempelkan berikut ini ke dalam file. Simpan file sebagai `S3_template.json`.

   ```
   {
     "AWSTemplateFormatVersion": "2010-09-09",
     "Description": "CloudFormation Sample Template S3_Bucket: Sample template showing how to create a privately accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the resources used if you create a stack from this template.",
     "Resources": {
       "S3Bucket": {
         "Type": "AWS::S3::Bucket",
         "Properties": {}
       }
     },
     "Outputs": {
       "BucketName": {
         "Value": {
           "Ref": "S3Bucket"
         },
         "Description": "Name of Amazon S3 bucket to hold website content"
       }
     }
   }
   ```

   Template ini memungkinkan AWS CloudFormation untuk membuat bucket S3 yang dapat digunakan oleh Service Catalog.

1. Unggah `S3_template.json` file ke AWS CodeCommit repositori Anda.

### Langkah 2: Buat produk di Service Catalog
<a name="tutorials-S3-servicecatalog-product"></a>

1. Sebagai administrator TI, masuk ke konsol Service Catalog, buka halaman **Produk**, lalu pilih **Unggah produk baru**.

1. Pada halaman **Unggah produk baru**, lengkapi yang berikut ini:

   1. Di **Nama Produk**, masukkan nama yang ingin Anda gunakan untuk produk baru Anda.

   1. Dalam **Deskripsi**, masukkan deskripsi katalog produk. Deskripsi ini ditampilkan dalam daftar produk untuk membantu pengguna dalam memilih produk yang benar. 

   1. Di **Disediakan oleh**, masukkan nama departemen atau administrator TI Anda.

   1. Pilih **Berikutnya**.

1. (Opsional) Di **Masukkan detail dukungan**, masukkan informasi kontak untuk dukungan produk, dan pilih **Berikutnya**.

1. Dalam **detail Versi**, lengkapi yang berikut ini:

   1. Pilih **Mengunggah file template**. Jelajahi `S3_template.json` file Anda dan unggah.

   1. Dalam **judul Versi**, masukkan nama versi produk (misalnya,**devops S3 v2**).

   1. Dalam **Deskripsi**, masukkan detail yang membedakan versi ini dari versi lain.

   1. Pilih **Berikutnya**.

1. Pada halaman **Tinjauan**, verifikasi bahwa informasinya benar, lalu pilih **Buat**. 

1. Pada halaman **Produk**, di browser, salin URL produk baru Anda. Ini berisi ID produk. Salin dan simpan ID produk ini. Anda menggunakannya saat Anda membuat pipeline di CodePipeline.

   Berikut adalah URL untuk produk yang diberi nama`my-product`. Untuk mengekstrak ID produk, salin nilai antara tanda sama dengan (`=`) dan ampersand (). `&` Dalam contoh ini, ID produk adalah`prod-example123456`.

   ```
   https://<region-URL>/servicecatalog/home?region=<region>#/admin-products?productCreated=prod-example123456&createdProductTitle=my-product
   ```
**catatan**  
Salin URL untuk produk Anda sebelum Anda menjauh dari halaman. Setelah Anda menavigasi jauh dari halaman ini, Anda harus menggunakan CLI untuk mendapatkan ID produk Anda.

   Setelah beberapa detik, produk Anda muncul di halaman **Produk**. Anda mungkin perlu menyegarkan browser Anda untuk melihat produk dalam daftar.

### Langkah 3: Buat pipeline Anda
<a name="tutorials-S3-servicecatalog-pipeline"></a>

1. Untuk memberi nama pipeline Anda dan memilih parameter untuk pipeline Anda, lakukan hal berikut:

   1. Masuk ke Konsol Manajemen AWS dan buka CodePipeline konsol di [https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/).

   1. Pada halaman **Selamat Datang**, halaman **Memulai**, atau halaman **Pipelines**, pilih **Buat pipeline**.

   1. Pada **Langkah 1: Pilih halaman opsi pembuatan**, di bawah **Opsi pembuatan**, pilih opsi **Build custom pipeline**. Pilih **Berikutnya**.

   1. Pada **Langkah 2: Pilih pengaturan pipeline**, dalam **nama Pipeline**, masukkan nama untuk pipeline Anda.

   1. CodePipeline menyediakan pipa tipe V1 dan V2, yang berbeda dalam karakteristik dan harga. Jenis V2 adalah satu-satunya jenis yang dapat Anda pilih di konsol. Untuk informasi selengkapnya, lihat [jenis pipa](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-types-planning.html?icmpid=docs_acp_help_panel). Untuk informasi tentang harga CodePipeline, lihat [Harga](https://aws.amazon.com/codepipeline/pricing/).

   1. Dalam **peran Layanan**, pilih **Peran layanan baru** CodePipeline untuk memungkinkan membuat peran layanan di IAM.

   1. **Biarkan pengaturan di bawah **Pengaturan lanjutan** pada defaultnya, lalu pilih Berikutnya.**

1. Untuk menambahkan tahap sumber pada **Langkah 3: Tambahkan halaman tahap sumber**, lakukan hal berikut:

   1. Di **penyedia Sumber**, pilih **AWS CodeCommit**.

   1. Dalam nama **Repositori dan nama** **Cabang**, masukkan repositori dan cabang yang ingin Anda gunakan untuk tindakan sumber Anda.

   1. Pilih **Berikutnya**.

1. Pada **Langkah 4: Tambahkan tahap build**, pilih **Lewati tahap build**, lalu terima pesan peringatan dengan memilih **Lewati** lagi.

1. Pada **Langkah 5: Tambahkan tahap pengujian**, pilih **Lewati tahap pengujian**, lalu terima pesan peringatan dengan memilih **Lewati** lagi. 

   Pilih **Berikutnya**.

1. Pada **Langkah 6: Tambahkan tahap penerapan**, selesaikan yang berikut ini:

   1. Di **Penyedia Deploy**, pilih **AWS Service Catalog**.

   1. Untuk konfigurasi deployment, pilih **Enter deployment** configuration.

   1. Di **Product ID**, tempel ID produk yang Anda salin dari konsol Service Catalog.

   1. Di **jalur file Template**, masukkan jalur relatif tempat file template disimpan.

   1. Di **Jenis produk**, pilih **CloudFormation template**.

   1. Dalam **nama versi Produk**, masukkan nama versi produk yang Anda tentukan di Service Catalog. Jika Anda ingin perubahan template disebarkan ke versi produk baru, masukkan nama versi produk yang belum digunakan untuk versi produk sebelumnya dalam produk yang sama.

   1. Untuk **artefak Input**, pilih artefak input sumber.

   1. Pilih **Berikutnya**.

1. Pada **Langkah 7: Tinjau**, tinjau pengaturan pipeline Anda, lalu pilih **Buat**.

1. Setelah pipeline Anda berhasil berjalan, pada tahap penerapan, pilih **Detail**. Ini membuka produk Anda di Service Catalog.  
![\[\]](http://docs.aws.amazon.com/id_id/codepipeline/latest/userguide/images/deploy-servicecatalog-pipeline.png)

1. Di bawah informasi produk Anda, pilih nama versi Anda untuk membuka templat produk. Lihat penerapan template.

### Langkah 4: Dorong perubahan dan verifikasi produk Anda di Service Catalog
<a name="tutorials-S3-servicecatalog-change"></a>

1. Lihat pipeline Anda di CodePipeline konsol, dan pada tahap sumber Anda, pilih **Detail**. AWS CodeCommit Repositori sumber Anda terbuka di konsol. Pilih **Edit**, dan buat perubahan pada file (misalnya, ke deskripsi). 

   ```
   "Description": "Name of Amazon S3 bucket to hold and version website content"
   ```

1. Berkomitmen dan dorong perubahan Anda. Pipeline Anda dimulai setelah Anda mendorong perubahan. Saat proses pipeline selesai, pada tahap deployment, pilih **Detail** untuk membuka produk Anda di Service Catalog.

1. Di bawah informasi produk Anda, pilih nama versi baru untuk membuka template produk. Lihat perubahan template yang diterapkan.

## Opsi 2: Terapkan ke Service Catalog menggunakan file konfigurasi
<a name="tutorials-S3-servicecatalog-ex2-configure"></a>

Dalam contoh ini, Anda mengunggah file AWS CloudFormation template sampel untuk bucket S3, lalu membuat produk Anda di Service Catalog. Anda juga mengunggah file konfigurasi terpisah yang menentukan konfigurasi penerapan Anda. Selanjutnya, Anda membuat pipeline dan menentukan lokasi file konfigurasi Anda.

### Langkah 1: Unggah file templat sampel ke repositori sumber
<a name="tutorials-S3-servicecatalog-upload2"></a>

1. Buka editor teks. Buat template sampel dengan menempelkan berikut ini ke dalam file. Simpan file sebagai `S3_template.json`.

   ```
   {
     "AWSTemplateFormatVersion": "2010-09-09",
     "Description": "CloudFormation Sample Template S3_Bucket: Sample template showing how to create a privately accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the resources used if you create a stack from this template.",
     "Resources": {
       "S3Bucket": {
         "Type": "AWS::S3::Bucket",
         "Properties": {}
       }
     },
     "Outputs": {
       "BucketName": {
         "Value": {
           "Ref": "S3Bucket"
         },
         "Description": "Name of Amazon S3 bucket to hold website content"
       }
     }
   }
   ```

   Template ini memungkinkan AWS CloudFormation untuk membuat bucket S3 yang dapat digunakan oleh Service Catalog.

1. Unggah `S3_template.json` file ke AWS CodeCommit repositori Anda.

### Langkah 2: Buat file konfigurasi penyebaran produk Anda
<a name="tutorials-S3-servicecatalog-configure2"></a>

1. Buka editor teks. Buat file konfigurasi untuk produk Anda. File konfigurasi digunakan untuk menentukan parameter/preferensi penyebaran Service Catalog Anda. Anda menggunakan file ini saat membuat pipeline.

   Sampel ini menyediakan “devops S3 v2" dan a `ProductVersionName` of. `ProductVersionDescription` `MyProductVersionDescription` Jika Anda ingin perubahan template disebarkan ke versi produk baru, cukup masukkan nama versi produk yang belum digunakan untuk versi produk sebelumnya dalam produk yang sama.

    Simpan file sebagai `sample_config.json`.

   ```
   {
       "SchemaVersion": "1.0",
       "ProductVersionName": "devops S3 v2",
       "ProductVersionDescription": "MyProductVersionDescription",
       "ProductType": "CLOUD_FORMATION_TEMPLATE",
       "Properties": {
           "TemplateFilePath": "/S3_template.json"
       }
   }
   ```

   File ini membuat informasi versi produk untuk Anda setiap kali pipeline Anda berjalan.

1. Unggah `sample_config.json` file ke AWS CodeCommit repositori Anda. Pastikan Anda mengunggah file ini ke repositori sumber Anda.

### Langkah 3: Buat produk di Service Catalog
<a name="tutorials-S3-servicecatalog-product2"></a>

1. Sebagai administrator TI, masuk ke konsol Service Catalog, buka halaman **Produk**, lalu pilih **Unggah produk baru**.

1. Pada halaman **Unggah produk baru**, lengkapi yang berikut ini:

   1. Di **Nama Produk**, masukkan nama yang ingin Anda gunakan untuk produk baru Anda.

   1. Dalam **Deskripsi**, masukkan deskripsi katalog produk. Deskripsi ini muncul di daftar produk untuk membantu pengguna memilih produk yang benar. 

   1. Di **Disediakan oleh**, masukkan nama departemen atau administrator TI Anda.

   1. Pilih **Berikutnya**.

1. (Opsional) Di **Masukkan detail dukungan**, masukkan informasi kontak dukungan produk, lalu pilih **Berikutnya**.

1. Dalam **detail Versi**, lengkapi yang berikut ini:

   1. Pilih **Mengunggah file template**. Jelajahi `S3_template.json` file Anda dan unggah.

   1. Dalam **judul Versi**, masukkan nama versi produk (misalnya, “devops S3 v2").

   1. Dalam **Deskripsi**, masukkan detail yang membedakan versi ini dari versi lain.

   1. Pilih **Berikutnya**.

1. Pada halaman **Tinjauan**, verifikasi bahwa informasi sudah benar, lalu pilih **Konfirmasi dan unggah**. 

1. Pada halaman **Produk**, di browser, salin URL produk baru Anda. Ini berisi ID produk. Salin dan simpan ID produk ini. Anda gunakan saat membuat pipeline di CodePipeline.

   Berikut adalah URL untuk produk yang diberi nama`my-product`. Untuk mengekstrak ID produk, salin nilai antara tanda sama dengan (`=`) dan ampersand (). `&` Dalam contoh ini, ID produk adalah`prod-example123456`. 

   ```
   https://<region-URL>/servicecatalog/home?region=<region>#/admin-products?productCreated=prod-example123456&createdProductTitle=my-product
   ```
**catatan**  
Salin URL untuk produk Anda sebelum Anda menjauh dari halaman. Setelah Anda menavigasi jauh dari halaman ini, Anda harus menggunakan CLI untuk mendapatkan ID produk Anda.

   Setelah beberapa detik, produk Anda muncul di halaman **Produk**. Anda mungkin perlu menyegarkan browser Anda untuk melihat produk dalam daftar.

### Langkah 4: Buat pipeline Anda
<a name="tutorials-S3-servicecatalog-pipeline2"></a>

1. Untuk memberi nama pipeline Anda dan memilih parameter untuk pipeline Anda, lakukan hal berikut:

   1. Masuk ke Konsol Manajemen AWS dan buka CodePipeline konsol di [https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/).

   1. Pilih **Memulai**. Pilih **Buat pipeline**, lalu masukkan nama untuk pipeline Anda.

   1. Dalam **peran Layanan**, pilih **Peran layanan baru** CodePipeline untuk memungkinkan membuat peran layanan di IAM.

   1. **Biarkan pengaturan di bawah **Pengaturan lanjutan** pada defaultnya, lalu pilih Berikutnya.**

1. Untuk menambahkan tahap sumber, lakukan hal berikut:

   1. Di **penyedia Sumber**, pilih **AWS CodeCommit**.

   1. Dalam nama **Repositori dan nama** **Cabang**, masukkan repositori dan cabang yang ingin Anda gunakan untuk tindakan sumber Anda.

   1. Pilih **Berikutnya**.

1. Di **Add build stage**, pilih **Lewati tahap build**, lalu terima pesan peringatan dengan memilih **Lewati** lagi.

1. Di **tahap Add deploy**, selesaikan yang berikut ini:

   1. Di **Penyedia Deploy**, pilih **AWS Service Catalog**.

   1. Pilih **Gunakan file konfigurasi**.

   1. Di **Product ID**, tempel ID produk yang Anda salin dari konsol Service Catalog.

   1. Di **jalur file Konfigurasi**, masukkan jalur file dari file konfigurasi di repositori Anda.

   1. Pilih **Berikutnya**.

1. Di **Tinjau**, tinjau setelan pipeline Anda, lalu pilih **Buat**.

1. Setelah pipeline berhasil berjalan, pada tahap penerapan, pilih **Detail** untuk membuka produk di Service Catalog.  
![\[\]](http://docs.aws.amazon.com/id_id/codepipeline/latest/userguide/images/deploy-servicecatalog-pipeline.png)

1. Di bawah informasi produk Anda, pilih nama versi Anda untuk membuka templat produk. Lihat penerapan template.

### Langkah 5: Dorong perubahan dan verifikasi produk Anda di Service Catalog
<a name="tutorials-S3-servicecatalog-change2"></a>

1. Lihat pipeline Anda di CodePipeline konsol, dan pada tahap sumber, pilih **Detail**. AWS CodeCommit Repositori sumber Anda terbuka di konsol. Pilih **Edit**, lalu buat perubahan pada file (misalnya, ke deskripsi).

   ```
   "Description": "Name of Amazon S3 bucket to hold and version website content"
   ```

1. Berkomitmen dan dorong perubahan Anda. Pipeline Anda dimulai setelah Anda mendorong perubahan. Saat proses pipeline selesai, pada tahap deployment, pilih **Detail** untuk membuka produk Anda di Service Catalog.

1. Di bawah informasi produk Anda, pilih nama versi baru untuk membuka template produk. Lihat perubahan template yang diterapkan.