

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.

# Tutorial: Unggah artefak ke Amazon S3
<a name="build-deploy"></a>

[Dalam tutorial ini, Anda mempelajari cara mengunggah artefak ke bucket Amazon S3 menggunakan alur kerja CodeCatalyst [Amazon](workflows-concepts.md#workflows-concepts-workflows) yang menyertakan beberapa tindakan build.](workflows-concepts.md#workflows-concepts-actions) Tindakan ini berjalan secara seri saat alur kerja dimulai. Tindakan build pertama menghasilkan dua file, `Hello.txt` dan`Goodbye.txt`, dan menggabungkannya menjadi artefak build. Tindakan build kedua mengunggah artefak ke Amazon S3. Anda akan mengonfigurasi alur kerja untuk dijalankan setiap kali Anda mendorong komit ke repositori sumber Anda.

**Topics**
+ [Prasyarat](#build-deploy-tut-prereqs)
+ [Langkah 1: Buat AWS peran](#build-deploy-tut-role)
+ [Langkah 2: Buat ember Amazon S3](#build-deploy-tut-artifact)
+ [Langkah 3: Buat repositori sumber](#deploy-tut-lambda-cfn-source)
+ [Langkah 4: Buat alur kerja](#build-deploy-tut-workflow.title)
+ [Langkah 5: Verifikasi hasilnya](#build-deploy.s3.verify)
+ [Bersihkan](#deploy-tut-lambda-cfn-clean-up)

## Prasyarat
<a name="build-deploy-tut-prereqs"></a>

Sebelum memulai, Anda perlu melakukan hal berikut:
+ Anda membutuhkan CodeCatalyst **ruang** dengan AWS akun yang terhubung. Untuk informasi selengkapnya, lihat [Membuat ruang](spaces-create.md).
+ Di ruang Anda, Anda memerlukan proyek kosong yang disebut:

  ```
  codecatalyst-artifact-project
  ```

  Gunakan opsi **Mulai dari awal** untuk membuat proyek ini.

  Untuk informasi selengkapnya, lihat [Membuat proyek kosong di Amazon CodeCatalyst](projects-create.md#projects-create-empty).
+ Dalam proyek Anda, Anda memerlukan CodeCatalyst **lingkungan** yang disebut:

  ```
  codecatalyst-artifact-environment
  ```

  Konfigurasikan lingkungan ini sebagai berikut:
  + Pilih jenis apa saja, seperti **Pengembangan**.
  + Hubungkan AWS akun Anda ke sana.
  + Untuk peran **IAM Default, pilih peran** apa pun. Anda akan menentukan peran yang berbeda nanti.

  Untuk informasi selengkapnya, lihat [Menyebarkan ke dalam Akun AWS dan VPCs](deploy-environments.md).

## Langkah 1: Buat AWS peran
<a name="build-deploy-tut-role"></a>

Pada langkah ini, Anda membuat peran AWS IAM yang nantinya akan Anda tetapkan ke tindakan build dalam alur kerja Anda. Peran ini memberikan izin tindakan CodeCatalyst build untuk mengakses AWS akun Anda dan menulis ke Amazon S3 tempat artefak Anda akan disimpan. Peran tersebut disebut **peran Build**.

**catatan**  
Jika Anda sudah memiliki peran build yang Anda buat untuk tutorial lain, Anda dapat menggunakannya untuk tutorial ini juga. Pastikan itu memiliki izin dan kebijakan kepercayaan yang ditunjukkan dalam prosedur berikut.

Untuk informasi selengkapnya tentang peran IAM, lihat [peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) di *AWS AWS Identity and Access Management Panduan Pengguna*.

**Untuk membuat peran build**

1. Buat kebijakan untuk peran tersebut, sebagai berikut:

   1. Masuk ke AWS.

   1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

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

   1. Pilih **Buat kebijakan**.

   1. Pilih tab **JSON**.

   1. Hapus kode yang ada.

   1. Tempel kode berikut:

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "VisualEditor0",
                  "Effect": "Allow",
                  "Action": [
                      "s3:PutObject",
                      "s3:ListBucket"
                  ],
                  "Resource": "*"
              }
          ]
      }
      ```

------
**catatan**  
Pertama kali peran digunakan untuk menjalankan tindakan alur kerja, gunakan wildcard dalam pernyataan kebijakan sumber daya dan kemudian cakup kebijakan dengan nama sumber daya setelah tersedia.  

      ```
      "Resource": "*"
      ```

   1. Pilih **Berikutnya: Tanda**.

   1. Pilih **Berikutnya: Tinjau**.

   1. Dalam **Nama**, masukkan:

      ```
      codecatalyst-s3-build-policy
      ```

   1. Pilih **Buat kebijakan**.

      Anda sekarang telah membuat kebijakan izin.

1. Buat peran build, sebagai berikut:

   1. Di panel navigasi, pilih **Peran**, lalu pilih **Buat peran**.

   1. Pilih **Kebijakan kepercayaan khusus**.

   1. Hapus kebijakan kepercayaan kustom yang ada.

   1. Tambahkan kebijakan kepercayaan khusus berikut:

   1. Pilih **Berikutnya**.

   1. Di **Kebijakan izin**, cari `codecatalyst-s3-build-policy` dan pilih kotak centang.

   1. Pilih **Berikutnya**.

   1. Untuk **nama Peran**, masukkan:

      ```
      codecatalyst-s3-build-role
      ```

   1. Untuk **deskripsi Peran**, masukkan:

      ```
      CodeCatalyst build role
      ```

   1. Pilih **Buat peran**.

   Anda sekarang telah membuat peran build dengan kebijakan kepercayaan dan kebijakan izin.

## Langkah 2: Buat ember Amazon S3
<a name="build-deploy-tut-artifact"></a>

Pada langkah ini, Anda membuat ember Amazon S3 tempat `Goodbye.txt` artefak `Hello.txt` dan artefak akan diunggah.

**Untuk membuat bucket Amazon S3**

1. Buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Di panel utama, pilih **Buat ember**.

1. Untuk **nama Bucket**, masukkan:

   ```
   codecatalyst-artifact-bucket
   ```

1. Untuk **Wilayah AWS **, pilih Wilayah. Tutorial ini mengasumsikan Anda memilih **US West (Oregon) us-west-2**. Untuk informasi tentang Wilayah yang didukung oleh Amazon S3, lihat [titik akhir dan kuota Amazon Simple Storage Service](https://docs.aws.amazon.com/general/latest/gr/s3.html) di. *Referensi Umum AWS*

1. Di bagian bawah halaman, pilih **Buat ember**.

1. Salin nama bucket yang baru saja Anda buat, misalnya:

   ```
   codecatalyst-artifact-bucket
   ```

Anda sekarang telah membuat ember yang disebut **codecatalyst-artifact-bucket** di Wilayah AS Barat (Oregon) us-west-2.

## Langkah 3: Buat repositori sumber
<a name="deploy-tut-lambda-cfn-source"></a>

Pada langkah ini, Anda membuat repositori sumber di. CodeCatalyst Repositori ini digunakan untuk menyimpan file definisi alur kerja tutorial. 

Untuk informasi lebih lanjut tentang repositori sumber, lihat. [Membuat repositori sumber](source-repositories-create.md)

**Untuk membuat repositori sumber**

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

1. Arahkan ke proyek Anda,`codecatalyst-artifact-project`.

1. Di panel navigasi, pilih **Kode**, lalu pilih **Repositori sumber**. 

1. Pilih **Tambahkan repositori**, lalu pilih **Buat** repositori.

1. Dalam **nama Repositori, masukkan:**

   ```
   codecatalyst-artifact-source-repository
   ```

1. Pilih **Buat**.

Anda sekarang telah membuat repositori yang disebut. `codecatalyst-artifact-source-repository`

## Langkah 4: Buat alur kerja
<a name="build-deploy-tut-workflow.title"></a>

Pada langkah ini, Anda membuat alur kerja yang terdiri dari blok bangunan berikut yang berjalan secara berurutan:
+ Pemicu - Pemicu ini memulai alur kerja yang dijalankan secara otomatis saat Anda mendorong perubahan ke repositori sumber Anda. Untuk informasi lebih lanjut tentang pemicu, lihat[Memulai alur kerja berjalan secara otomatis menggunakan pemicu](workflows-add-trigger.md).
+ Tindakan build yang disebut `GenerateFiles` — Pada pemicu, `GenerateFiles` aksi membuat dua file, `Hello.txt` dan`Goodbye.txt`, dan mengemasnya ke dalam artefak keluaran yang disebut`codecatalystArtifact`.
+ Tindakan build lain yang disebut `Upload` — Setelah menyelesaikan `GenerateFiles` tindakan, `Upload` tindakan menjalankan AWS CLI perintah `aws s3 sync` untuk mengunggah file di `codecatalystArtifact` dan di repositori sumber Anda ke bucket Amazon S3 Anda. Ini sudah AWS CLI diinstal sebelumnya dan dikonfigurasi sebelumnya pada platform CodeCatalyst komputasi, jadi Anda tidak perlu menginstal atau mengkonfigurasinya.

  Untuk informasi selengkapnya tentang perangkat lunak pra-paket pada platform CodeCatalyst komputasi, lihat. [Menentukan gambar lingkungan runtime](build-images.md) Untuk informasi selengkapnya tentang `aws s3 sync` perintah, lihat [sinkronisasi](https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html) di *Referensi AWS CLI Perintah*. AWS CLI

Untuk informasi selengkapnya tentang tindakan build, lihat[Membangun dengan alur kerja](build-workflow-actions.md).

**Untuk membuat alur kerja**

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

1. Pilih **Buat alur kerja**.

1. Hapus kode sampel YAMAL.

1. Tambahkan kode YAML berikut:
**catatan**  
Dalam kode YAMAL berikut, Anda dapat menghilangkan `Connections:` bagian jika Anda mau. Jika Anda menghilangkan bagian ini, Anda harus memastikan bahwa peran yang ditentukan dalam bidang **peran IAM default** di lingkungan Anda mencakup izin dan kebijakan kepercayaan yang dijelaskan di dalamnya. [Langkah 1: Buat AWS peran](#build-deploy-tut-role) Untuk informasi selengkapnya tentang menyiapkan lingkungan dengan peran IAM default, lihat[Pembuatan lingkungan](deploy-environments-creating-environment.md).

   ```
   Name: codecatalyst-artifact-workflow
   SchemaVersion: 1.0
   
   Triggers:
     - Type: Push
       Branches:
         - main   
   Actions:
     GenerateFiles:
       Identifier: aws/build@v1
       Configuration: 
         Steps:
           # Create the output files.
           - Run: echo "Hello, World!" > "Hello.txt"
           - Run: echo "Goodbye!" > "Goodbye.txt"
       Outputs:
         Artifacts:
           - Name: codecatalystArtifact
             Files:
               - "**/*"
     Upload:
       Identifier: aws/build@v1
       DependsOn: 
         - GenerateFiles
       Environment:
         Name: codecatalyst-artifact-environment
         Connections:
           - Name: codecatalyst-account-connection
             Role: codecatalyst-s3-build-role
       Inputs:
         Artifacts:
           - codecatalystArtifact
       Configuration: 
         Steps:
           # Upload the output artifact to the S3 bucket.
           - Run: aws s3 sync . s3://codecatalyst-artifact-bucket
   ```

   Pada kode di atas, ganti:
   + *codecatalyst-artifact-environment*dengan nama lingkungan yang Anda buat[Prasyarat](#build-deploy-tut-prereqs).
   + *codecatalyst-account-connection*dengan nama koneksi akun yang Anda buat[Prasyarat](#build-deploy-tut-prereqs).
   + *codecatalyst-s3-build-role*dengan nama peran build yang Anda buat[Langkah 1: Buat AWS peran](#build-deploy-tut-role).
   + *codecatalyst-artifact-bucket*dengan nama Amazon S3 yang Anda buat. [Langkah 2: Buat ember Amazon S3](#build-deploy-tut-artifact)

   Untuk informasi tentang properti dalam file ini, lihat[Membangun dan menguji tindakan YAMB](build-action-ref.md).

1. (Opsional) Pilih **Validasi** untuk memastikan kode YAMG valid sebelum melakukan.

1. Pilih **Terapkan**.

1. Pada kotak dialog **Commit workflow**, masukkan yang berikut ini:

   1. Untuk **nama file Workflow**, biarkan default,`codecatalyst-artifact-workflow`.

   1. Untuk **pesan Commit**, masukkan:

      ```
      add initial workflow file
      ```

   1. Untuk **Repositori, pilih**. **codecatalyst-artifact-source-repository**

   1. Untuk **nama Branch**, pilih **main**.

   1. Pilih **Terapkan**.

   Anda sekarang telah membuat alur kerja. Jalankan alur kerja dimulai secara otomatis karena pemicu yang ditentukan di bagian atas alur kerja. Khususnya, ketika Anda melakukan (dan mendorong) `codecatalyst-artifact-workflow.yaml` file ke repositori sumber Anda, pemicu memulai alur kerja dijalankan.

**Untuk melihat alur kerja yang sedang berjalan**

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

1. Pilih alur kerja yang baru saja Anda buat:`codecatalyst-artifact-workflow`.

1. Pilih **GenerateFiles**untuk melihat progres tindakan build pertama.

1. Pilih **Unggah** untuk melihat progres tindakan build kedua.

1. Setelah tindakan **Upload** selesai, lakukan hal berikut:
   + Jika alur kerja berjalan berhasil, pergi ke prosedur berikutnya.
   + Jika alur kerja gagal, pilih **Log** untuk memecahkan masalah.

## Langkah 5: Verifikasi hasilnya
<a name="build-deploy.s3.verify"></a>

Setelah alur kerja berjalan, buka layanan Amazon S3 dan lihat di *codecatalyst-artifact-bucket* bucket Anda. Sekarang harus menyertakan file dan folder berikut:

```
.
|— .aws/
|— .git/
|Goodbye.txt
|Hello.txt
|REAME.md
```

`Hello.txt`File `Goodbye.txt` dan diunggah karena mereka adalah bagian dari `codecatalystArtifact` artefak. `README.md`File`.aws/`,`.git/`, dan diunggah karena berada di repositori sumber Anda.

## Bersihkan
<a name="deploy-tut-lambda-cfn-clean-up"></a>

Bersihkan CodeCatalyst dan AWS untuk menghindari biaya untuk layanan ini.

**Untuk membersihkan CodeCatalyst**

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

1. Hapus repositori `codecatalyst-artifact-source-repository` sumber.

1. Hapus `codecatalyst-artifact-workflow` alur kerja.

**Untuk membersihkan AWS**

1. Bersihkan di Amazon S3, sebagai berikut:

   1. Buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

   1. Hapus file di `codecatalyst-artifact-bucket` ember.

   1. Hapus `codecatalyst-artifact-bucket` ember.

1. Bersihkan di IAM, sebagai berikut:

   1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

   1. Hapus`codecatalyst-s3-build-policy`.

   1. Hapus`codecatalyst-s3-build-role`.