Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengonfigurasi pengaturan build
Saat Anda menerapkan aplikasi dengan Amplify Hosting, aplikasi ini secara otomatis mendeteksi kerangka kerja front end dan pengaturan build terkait dengan memeriksa file package.json
di repositori Anda. Anda memiliki opsi berikut untuk menyimpan pengaturan build aplikasi:
-
Simpan pengaturan build di konsol Amplify - Konsol Amplify mendeteksi otomatis pengaturan build dan menyimpannya sehingga dapat diakses melalui konsol Amplify. Amplify menerapkan pengaturan ini ke semua cabang Anda, kecuali ada file
amplify.yml
yang disimpan di repositori Anda. -
Simpan pengaturan build di repositori Anda - Unduh file
amplify.yml
dan tambahkan ke root repositori Anda.
Anda dapat mengedit setelan build aplikasi di Amplify console dengan memilih Hosting, lalu Build settings di panel navigasi. Pengaturan build diterapkan ke semua cabang di aplikasi Anda, kecuali untuk cabang dengan file amplify.yml
yang disimpan di repositori.
catatan
Pengaturan build dapat dilihat di menu Hosting konsol Amplify hanya jika aplikasi disiapkan untuk penerapan berkelanjutan dan terhubung ke repositori git. Untuk petunjuk tentang jenis penerapan ini, lihat Memulai.
Buat perintah dan pengaturan spesifikasi
Spesifikasi build YAMAL berisi kumpulan perintah build dan setelan terkait yang Amplify gunakan untuk menjalankan build Anda. Daftar berikut menjelaskan pengaturan ini dan bagaimana mereka digunakan.
- versi
-
Nomor versi Amplify YAMAL.
- appRoot
-
Jalur dalam repositori tempat aplikasi ini berada. Diabaikan kecuali beberapa aplikasi didefinisikan.
- env
-
Tambahkan variabel lingkungan ke bagian ini. Anda juga dapat menambahkan variabel lingkungan menggunakan konsol.
- backend
-
Jalankan perintah Amplify CLI untuk menyediakan backend, memperbarui fungsi Lambda, atau skema GraphQL sebagai bagian dari penerapan berkelanjutan.
- frontend
-
Jalankan perintah build frontend.
- pengujian
-
Jalankan perintah selama fase pengujian. Pelajari cara menambahkan tes ke aplikasi.
- membangun fase
-
Frontend, backend, dan tes terdiri dari tiga fase yang mewakili perintah yang dijalankan selama setiap urutan build.
-
PreBuild - Skrip preBuild berjalan sebelum build sebenarnya dimulai, tetapi setelah Amplify menginstal dependensi.
-
build - Perintah build Anda.
-
PostBuild - Skrip pasca-build berjalan setelah build selesai dan Amplify telah menyalin semua artefak yang diperlukan ke direktori output.
-
- buildpath
-
Jalur yang digunakan untuk menjalankan build. Amplify menggunakan jalur ini untuk menemukan artefak build Anda. Jika Anda tidak menentukan jalur, Amplify menggunakan root aplikasi monorepo, misalnya.
apps/app
- artefak>direktori dasar
-
Direktori tempat artefak build Anda ada.
- artefak>file
-
Tentukan file dari artefak yang ingin Anda terapkan. Masukkan
**/*
untuk memasukkan semua file. - cache
-
Bidang cache buildspec digunakan untuk menyimpan dependensi waktu pembuatan cache seperti folder node_modules, dan secara otomatis disarankan berdasarkan manajer paket dan kerangka kerja tempat aplikasi pelanggan dibangun. Selama build pertama, setiap path di sini disimpan di cache, dan pada build berikutnya kita kembali mengisi cache dan menggunakan dependensi yang disimpan di cache, jika mungkin, untuk mempercepat waktu build.
Contoh spesifikasi build berikut menunjukkan sintaks YAMAL dasar:
version: 1 env: variables: key: value backend: phases: preBuild: commands: - *enter command* build: commands: - *enter command* postBuild: commands: - *enter command* frontend: buildpath: phases: preBuild: commands: - cd react-app - npm ci build: commands: - npm run build artifacts: files: - location - location discard-paths: yes baseDirectory: location cache: paths: - path - path test: phases: preTest: commands: - *enter command* test: commands: - *enter command* postTest: commands: - *enter command* artifacts: files: - location - location configFilePath: *location* baseDirectory: *location*
Pengaturan build khusus cabang
Anda dapat menggunakan penulisan bash shell untuk menentukan pengaturan build khusus cabang. Misalnya, skrip berikut menggunakan variabel lingkungan sistem $AWS_BRANCH untuk menjalankan satu set perintah jika nama cabang utama dan kumpulan 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
Menavigasi ke subfolder
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
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
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 pembuatan.
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 AL2023 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>
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.
Menonaktifkan build otomatis
Anda dapat mengonfigurasi Amplify untuk menonaktifkan 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.
Mengaktifkan atau menonaktifkan build dan deploy frontend berbasis diff
Anda dapat mengonfigurasi Amplify untuk menggunakan build frontend berbasis diff. Jika diaktifkan, pada awal setiap build Amplify mencoba menjalankan diff di folder AndaappRoot
, 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
-
Masuk ke AWS Management Console dan buka konsol Amplify
. -
Pilih aplikasi tempat konfigurasi build dan deploy frontend berbasis diff dilakukan.
-
Di panel navigasi, pilih Hosting, variabel Lingkungan.
-
Di bagian Variabel lingkungan, pilih Kelola variabel.
-
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
-
Di bagian Kelola variabel, bagian Variabel, masukkan
AMPLIFY_DIFF_DEPLOY
. -
Untuk Nilai, masukkan
true
.
-
-
Untuk menonaktifkan build dan deploy frontend berbasis diff
-
Lakukan salah satu dari berikut ini:
-
Di bagian Kelola variabel, cari
AMPLIFY_DIFF_DEPLOY
. Untuk Nilai, masukkanfalse
. -
Hapus variabel lingkungan
AMPLIFY_DIFF_DEPLOY
.
-
-
-
-
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
.
Mengaktifkan atau menonaktifkan 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 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
-
Masuk ke AWS Management Console dan buka konsol Amplify
. -
Pilih aplikasi tempat konfigurasi build backend berbasis diff dilakukan.
-
Di panel navigasi, pilih Hosting, variabel Lingkungan.
-
Di bagian Variabel lingkungan, pilih Kelola variabel.
-
Langkah untuk mengonfigurasi variabel lingkungan bervariasi, bergantung pada apakah Anda mengaktifkan atau menonaktifkan build backend berbasis diff.
-
Untuk mengaktifkan build backend berbasis diff
-
Di bagian Kelola variabel, bagian Variabel, masukkan
AMPLIFY_DIFF_BACKEND
. -
Untuk Nilai, masukkan
true
.
-
-
Untuk menonaktifkan build backend berbasis diff
-
Lakukan salah satu dari berikut ini:
-
Di bagian Kelola variabel, cari
AMPLIFY_DIFF_BACKEND
. Untuk Nilai, masukkanfalse
. -
Hapus variabel lingkungan
AMPLIFY_DIFF_BACKEND
.
-
-
-
-
Pilih Simpan.