Mengedit spesifikasi build - AWS Amplify Hosting

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

Mengedit spesifikasi build

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

Untuk mengedit pengaturan build di konsol Amplify
  1. Masuk ke, lalu buka AWS Management Console Konsol Amplify.

  2. Pilih aplikasi yang pengaturan build akan Anda edit.

  3. Di panel navigasi, pilih Pengaturan build.

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

  5. Di jendela Edit build spec, masukkan pembaruan Anda.

  6. Pilih Simpan.

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

Mengonfigurasi pengaturan build khusus cabang dengan skrip

Anda dapat menggunakan penulisan bash shell untuk menentukan pengaturan build khusus cabang. Sebagai contoh, skrip berikut menggunakan variabel lingkungan sistem $ AWS_BRANCH untuk menjalankan serangkaian perintah jika nama cabang main dan serangkaian perintah lain jika nama cabang dev.

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

Untuk monorepo, pengguna ingin cd masuk ke dalam folder untuk menjalankan build. Setelah Anda menjalankan cd perintah, perintah akan berlaku di semua tahap build sehingga Anda tidak perlu mengulangi perintah di fase berbeda.

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

Men-deploy backend dengan front end untuk aplikasi Gen 1

catatan

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

amplifyPushPerintah adalah skrip pembantu yang membantu Anda menjalankan deployment 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

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

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

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

Menggunakan registri npm privat

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

Gambar AL2 023 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>

Menetapkan penyimpanan kunci-nilai untuk setiap build

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>

Melompati build untuk penerapan

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

Mematikan build otomatis pada setiap komit

Anda dapat mengonfigurasi Amplify untuk menonaktifkan build otomatis di setiap penerapan kode. Untuk mengatur, pilih Pengaturan aplikasi, Pengaturan cabang, kemudian temukan bagian Cabang yang mencantumkan cabang-cabang yang terhubung. Pilih cabang, lalu pilih Tindakan, Nonaktifkan build otomatis. Penerapan baru untuk cabang tersebut tidak akan lagi memulai build baru.

Mengonfigurasi build dan deploy frontend berbasis diff

Anda dapat mengonfigurasi Amplify agar menggunakan build frontend berbasis diff. Jika diaktifkan, Amplify mencoba untuk menjalankan diff di folder Anda appRoot atau /src/ folder secara default di awal setiap build. 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, lalu buka AWS Management Console Konsol Amplify.

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

  3. Di panel navigasi, pilih Hosting, variabel Lingkungan.

  4. Di bagian Variabel lingkungan, pilih Kelola variabel.

  5. 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.

      2. 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.

  6. 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

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 agar menggunakan build backend berbasis diff menggunakan variabel lingkungan. AMPLIFY_DIFF_BACKEND Saat Anda mengaktifkan build backend berbasis diff, di awal setiap build Amplify mencoba untuk menjalankan diff di folder dalam 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, lalu buka AWS Management Console Konsol Amplify.

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

  3. Di panel navigasi, pilih Hosting, variabel Lingkungan.

  4. Di bagian Variabel lingkungan, pilih Kelola variabel.

  5. 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.

      2. 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.

  6. Pilih Simpan.