

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

# Mengedit spesifikasi build
<a name="edit-build-settings"></a>

Anda dapat menyesuaikan setelan build aplikasi dengan mengedit spesifikasi build (buildspec) di konsol Amplify. Setelan build diterapkan ke semua cabang di aplikasi Anda, kecuali untuk cabang yang memiliki `amplify.yml` file yang disimpan di repositori Git.

**Untuk mengedit setelan build di konsol Amplify**

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

1. Pilih aplikasi yang ingin Anda edit setelan build.

1. Di panel navigasi, pilih **Hosting**, lalu pilih **Build settings**.

1. Pada halaman **Pengaturan build**, di bagian **Spesifikasi pembuatan aplikasi**, pilih **Edit**.

1. Di jendela **Edit build spec**, masukkan pembaruan Anda.

1. Pilih **Simpan**.

Anda dapat menggunakan contoh yang dijelaskan dalam topik berikut untuk memperbarui setelan build untuk skenario tertentu.

**Topics**
+ [Menyetel setelan build khusus cabang dengan scripting](#branch-specific-build-settings)
+ [Mengatur perintah untuk menavigasi ke subfolder](#navigating-to-a-subfolder)
+ [Menerapkan backend dengan ujung depan untuk aplikasi Gen 1](#frontend-with-backend)
+ [Menyiapkan folder output](#setting-the-output-folder)
+ [Menginstal paket sebagai bagian dari build](#installing-packages-as-part-of-your-build)
+ [Menggunakan registri npm privat](#using-a-private-npm-registry)
+ [Menginstal paket OS](#installing-os-packages)
+ [Menyetel penyimpanan nilai kunci untuk setiap build](#key-value-storage-for-every-build)
+ [Melewatkan build untuk komit](#skip-build-for-a-commit)
+ [Mematikan build otomatis pada setiap komit](#disable-automatic-builds)
+ [Mengonfigurasi pembuatan dan penerapan frontend berbasis diff](#enable-diff-deploy)
+ [Mengonfigurasi build backend berbasis diff untuk aplikasi Gen 1](#enable-diff-backend)

## Menyetel setelan build khusus cabang dengan scripting
<a name="branch-specific-build-settings"></a>

Anda dapat menggunakan penulisan bash shell untuk menentukan pengaturan build khusus cabang. Misalnya, skrip berikut menggunakan variabel lingkungan sistem *\$1 AWS\$1BRANCH* untuk menjalankan satu set perintah jika nama cabang *utama* dan serangkaian perintah yang berbeda jika nama cabang adalah *dev*.

```
frontend:
  phases:
    build:
      commands:
        - if [ "${AWS_BRANCH}" = "main" ]; then echo "main branch"; fi
        - if [ "${AWS_BRANCH}" = "dev" ]; then echo "dev branch"; fi
```

## Mengatur perintah untuk menavigasi ke subfolder
<a name="navigating-to-a-subfolder"></a>

Untuk monorepos, pengguna ingin dapat `cd` masuk ke folder untuk menjalankan build. Setelah Anda menjalankan `cd` perintah, itu berlaku untuk semua tahapan build Anda sehingga Anda tidak perlu mengulangi perintah dalam fase terpisah.

```
version: 1
env:
  variables:
    key: value
frontend:
  phases:
    preBuild:
      commands:
        - cd react-app
        - npm ci
    build:
      commands:
        - npm run build
```

## Menerapkan backend dengan ujung depan untuk aplikasi Gen 1
<a name="frontend-with-backend"></a>

**catatan**  
Bagian ini hanya berlaku untuk aplikasi Amplify Gen 1. Backend Gen 1 dibuat menggunakan Amplify Studio dan antarmuka baris perintah Amplify (CLI).

`amplifyPush`Perintah adalah skrip pembantu yang membantu Anda dengan penerapan backend. Pengaturan build berikut secara otomatis menentukan lingkungan backend yang tepat untuk di-deploy di cabang saat ini.

```
version: 1
env:
  variables:
    key: value
backend:
  phases:
    build:
      commands:
        - amplifyPush --simple
```

## Menyiapkan folder output
<a name="setting-the-output-folder"></a>

Pengaturan build berikut mengatur direktori output ke folder publik.

```
frontend:
  phases:
    commands:
      build:
        - yarn run build
  artifacts:
    baseDirectory: public
```

## Menginstal paket sebagai bagian dari build
<a name="installing-packages-as-part-of-your-build"></a>

Anda dapat menggunakan `yarn` perintah `npm` or untuk menginstal paket selama pembuatan.

```
frontend:
  phases:
    build:
      commands:
        - npm install -g <package>
        - <package> deploy
        - yarn run build
  artifacts:
    baseDirectory: public
```

## Menggunakan registri npm privat
<a name="using-a-private-npm-registry"></a>

Anda dapat menambahkan referensi ke registri privat di pengaturan build Anda atau menambahkannya sebagai variabel lingkungan.

```
build:
  phases:
    preBuild:
      commands:
        - npm config set <key> <value>
        - npm config set registry https://registry.npmjs.org
        - npm config set always-auth true
        - npm config set email hello@amplifyapp.com
        - yarn install
```

## Menginstal paket OS
<a name="installing-os-packages"></a>

 AL2023 Gambar Amplify menjalankan kode Anda dengan nama pengguna yang tidak memiliki hak istimewa. `amplify` Amplify memberikan hak istimewa kepada pengguna ini untuk menjalankan perintah OS menggunakan perintah Linux. `sudo` Jika Anda ingin menginstal paket OS untuk dependensi yang hilang, Anda dapat menggunakan perintah seperti `yum` dan `rpm` dengan. `sudo`

Contoh bagian build berikut menunjukkan sintaks untuk menginstal paket OS menggunakan perintah. `sudo`

```
build:
  phases:
    preBuild:
      commands:
        - sudo yum install -y <package>
```

## Menyetel penyimpanan nilai kunci untuk setiap build
<a name="key-value-storage-for-every-build"></a>

`envCache` menyediakan penyimpanan kunci-nilai pada waktu build. Nilai-nilai yang disimpan di `envCache` hanya dapat diubah selama build dan dapat digunakan kembali pada build berikutnya. Dengan `envCache`, informasi dapat disimpan di lingkungan yang di-deploy dan tersedia untuk kontainer build di build yang berturutan. Tidak seperti nilai yang disimpan di `envCache`, perubahan pada variabel lingkungan selama build tidak muncul pada build selanjutnya.

Contoh penggunaan:

```
envCache --set <key> <value>
envCache --get <key>
```

## Melewatkan build untuk komit
<a name="skip-build-for-a-commit"></a>

Untuk melompati build otomatis pada penerapan tertentu, sertakan teks **[skip-cd]** di akhir pesan penerapan.

## Mematikan build otomatis pada setiap komit
<a name="disable-automatic-builds"></a>

Anda dapat mengonfigurasi Amplify untuk mematikan build otomatis pada setiap komit kode. Untuk mengatur, pilih **Pengaturan aplikasi, Pengaturan** **cabang**, lalu cari bagian **Cabang** yang mencantumkan cabang yang terhubung. Pilih cabang, lalu pilih **Tindakan**, **Nonaktifkan pembuatan otomatis**. Komit baru ke cabang itu tidak akan lagi memulai build baru.

## Mengonfigurasi pembuatan dan penerapan frontend berbasis diff
<a name="enable-diff-deploy"></a>

Anda dapat mengonfigurasi Amplify untuk menggunakan build frontend berbasis diff. Jika diaktifkan, pada awal setiap build Amplify mencoba menjalankan diff di folder Anda`appRoot`, atau `/src/` folder secara default. Jika tidak menemukan perbedaan apa pun, Amplify akan melompati langkah build, tes (jika dikonfigurasi), dan deploy frontend, serta tidak memperbarui aplikasi yang di-hosting.

**Untuk mengonfigurasi build dan deploy frontend berbasis diff**

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

1. Pilih aplikasi tempat konfigurasi build dan deploy frontend berbasis diff dilakukan.

1. Di panel navigasi, pilih **Hosting**, **variabel Lingkungan**.

1. Di bagian **Variabel lingkungan**, pilih **Kelola variabel**.

1. Langkah untuk mengonfigurasi variabel lingkungan bervariasi, bergantung pada apakah Anda mengaktifkan atau menonaktifkan build dan deploy frontend berbasis diff.
   + Untuk mengaktifkan build dan deploy frontend berbasis diff

     1. Di bagian **Kelola variabel**, bagian **Variabel**, masukkan `AMPLIFY_DIFF_DEPLOY`.

     1. Untuk **Nilai**, masukkan `true`.
   + Untuk menonaktifkan build dan deploy frontend berbasis diff

     1. Lakukan salah satu dari berikut ini:
       + Di bagian **Kelola variabel**, cari `AMPLIFY_DIFF_DEPLOY`. Untuk **Nilai**, masukkan `false`.
       + Hapus variabel lingkungan `AMPLIFY_DIFF_DEPLOY`.

1. Pilih **Simpan**.

Anda juga dapat mengatur variabel lingkungan `AMPLIFY_DIFF_DEPLOY_ROOT` agar menimpa path default dengan path yang berkaitan dengan root repo Anda, seperti `dist`.

## Mengonfigurasi build backend berbasis diff untuk aplikasi Gen 1
<a name="enable-diff-backend"></a>

**catatan**  
Bagian ini hanya berlaku untuk aplikasi Amplify Gen 1. Backend Gen 1 dibuat menggunakan Amplify Studio dan antarmuka baris perintah Amplify (CLI).

Anda dapat mengonfigurasi Amplify Hosting untuk menggunakan build backend berbasis diff menggunakan variabel lingkungan. `AMPLIFY_DIFF_BACKEND` Saat Anda mengaktifkan build backend berbasis diff, pada awal setiap build Amplify mencoba menjalankan diff pada folder di repositori Anda. `amplify` Jika tidak menemukan perbedaan apa pun, Amplify akan melompati langkah build backend, dan tidak memperbarui sumber daya backend Anda. Jika proyek Anda tidak memiliki folder `amplify` di repositori, Amplify akan mengabaikan nilai variabel lingkungan `AMPLIFY_DIFF_BACKEND`.

Jika saat ini Anda memiliki perintah khusus yang ditentukan dalam pengaturan build fase backend Anda, build backend bersyarat tidak akan berfungsi. Jika Anda ingin perintah kustom tersebut berjalan, Anda harus memindahkannya ke fase frontend setelan build di `amplify.yml` file aplikasi Anda.

**Untuk mengonfigurasi build backend berbasis diff**

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

1. Pilih aplikasi tempat konfigurasi build backend berbasis diff dilakukan.

1. Di panel navigasi, pilih **Hosting**, **variabel Lingkungan**.

1. Di bagian **Variabel lingkungan**, pilih **Kelola variabel**.

1. Langkah untuk mengonfigurasi variabel lingkungan bervariasi, bergantung pada apakah Anda mengaktifkan atau menonaktifkan build backend berbasis diff.
   + Untuk mengaktifkan build backend berbasis diff

     1. Di bagian **Kelola variabel**, bagian **Variabel**, masukkan `AMPLIFY_DIFF_BACKEND`.

     1. Untuk **Nilai**, masukkan `true`.
   + Untuk menonaktifkan build backend berbasis diff

     1. Lakukan salah satu dari berikut ini:
       + Di bagian **Kelola variabel**, cari `AMPLIFY_DIFF_BACKEND`. Untuk **Nilai**, masukkan `false`.
       + Hapus variabel lingkungan `AMPLIFY_DIFF_BACKEND`.

1. Pilih **Simpan**.