Referensi file konfigurasi App Runner - AWS App Runner

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

Referensi file konfigurasi App Runner

catatan

File konfigurasi hanya berlaku untuk layanan yang didasarkan pada kode sumber. Anda tidak dapat menggunakan file konfigurasi dengan layanan berbasis gambar.

Topik ini adalah panduan referensi komprehensif untuk sintaks dan semantik file konfigurasi. AWS App Runner Untuk ikhtisar file konfigurasi App Runner, lihatMenyetel opsi layanan App Runner menggunakan file konfigurasi.

File konfigurasi App Runner adalah file YAMM. Beri namaapprunner.yaml, dan letakkan di direktori sumber repositori aplikasi Anda.

Ikhtisar struktur

File konfigurasi App Runner adalah file YAMM. Beri namaapprunner.yaml, dan letakkan di direktori sumber repositori aplikasi Anda.

File konfigurasi App Runner berisi bagian-bagian utama ini:

  • Bagian atas - Berisi tombol tingkat atas

  • Bagian Build - Mengonfigurasi tahap build

  • Jalankan bagian - Mengonfigurasi tahap runtime

Bagian atas

Kunci di bagian atas file memberikan informasi umum tentang file dan runtime layanan Anda. Kunci berikut tersedia:

  • versionDiperlukan. Versi file konfigurasi App Runner. Idealnya, gunakan versi terbaru.

    Sintaksis

    version: version
    contoh
    version: 1.0
  • runtimeDiperlukan. Nama runtime yang digunakan aplikasi Anda. Untuk mempelajari tentang runtime yang tersedia untuk berbagai platform pemrograman yang ditawarkan App Runner, lihat. Layanan App Runner berdasarkan kode sumber

    catatan

    Konvensi penamaan runtime terkelola adalah. <language-name><major-version>

    Sintaksis

    runtime: runtime-name
    contoh
    runtime: python3

Membangun bagian

Bagian build mengonfigurasi tahap pembuatan penerapan layanan App Runner. Anda dapat menentukan perintah build dan variabel lingkungan. Perintah build diperlukan.

Bagian dimulai dengan build: kunci, dan memiliki subkunci berikut:

  • commandsDiperlukan. Menentukan perintah yang dijalankan App Runner selama berbagai fase build. Termasuk subkunci berikut:

    • pre-buildOpsional. Perintah yang dijalankan App Runner sebelum build. Misalnya, instal npm dependensi atau pustaka uji.

    • buildDiperlukan. Perintah yang dijalankan App Runner untuk membangun aplikasi Anda. Misalnya, gunakanpipenv.

    • post-buildOpsional. Perintah yang dijalankan App Runner setelah build. Misalnya, gunakan Maven untuk mengemas artefak build ke dalam file JAR atau WAR, atau jalankan pengujian.

    Sintaksis

    build: commands: pre-build: - command - build: - command - post-build: - command -
    contoh
    build: commands: pre-build: - yum install openssl build: - pip install -r requirements.txt post-build: - python manage.py test
  • envOpsional. Menentukan variabel lingkungan kustom untuk tahap build. Didefinisikan sebagai pemetaan skalar nama-nilai. Anda dapat merujuk ke variabel-variabel ini berdasarkan nama dalam perintah build Anda.

    catatan

    Ada dua env entri berbeda di dua lokasi berbeda dalam file konfigurasi ini. Satu set ada di bagian Build dan yang lainnya di bagian Run.

    • envSet di bagian Build dapat direferensikan oleh pre-run perintah pre-buildbuild,post-build,, dan selama proses build.

      Penting - Perhatikan bahwa pre-run perintah terletak di bagian Jalankan file ini, meskipun mereka hanya dapat mengakses variabel lingkungan yang didefinisikan di bagian Build.

    • envSet di bagian Run dapat direferensikan oleh run perintah di lingkungan runtime.

    Sintaksis

    build: env: - name: name1 value: value1 - name: name2 value: value2 -
    contoh
    build: env: - name: DJANGO_SETTINGS_MODULE value: "django_apprunner.settings" - name: MY_VAR_EXAMPLE value: "example"

Jalankan bagian

Bagian run mengonfigurasi tahap proses container dari penerapan aplikasi App Runner. Anda dapat menentukan versi runtime, perintah pra-jalankan (hanya format yang direvisi), perintah mulai, port jaringan, dan variabel lingkungan.

Bagian dimulai dengan run: kunci, dan memiliki subkunci berikut:

  • runtime-versionOpsional. Menentukan versi runtime yang ingin dikunci untuk layanan App Runner.

    Secara default, hanya versi utama yang terkunci. App Runner menggunakan versi minor dan patch terbaru yang tersedia untuk runtime pada setiap penerapan atau pembaruan layanan. Jika Anda menentukan versi mayor dan minor, keduanya menjadi terkunci, dan App Runner hanya memperbarui versi tambalan. Jika Anda menentukan versi mayor, minor, dan patch, layanan Anda dikunci pada versi runtime tertentu dan App Runner tidak pernah memperbaruinya.

    Sintaksis

    run: runtime-version: major[.minor[.patch]]
    catatan

    Runtime dari beberapa platform memiliki komponen versi yang berbeda. Lihat topik platform tertentu untuk detailnya.

    contoh
    runtime: python3 run: runtime-version: 3.7
  • pre-runOpsional. Hanya penggunaan build yang direvisi. Menentukan perintah yang dijalankan App Runner setelah menyalin aplikasi Anda dari image build ke image run. Anda dapat memasukkan perintah di sini untuk memodifikasi gambar run di luar /app direktori. Misalnya, jika Anda perlu menginstal dependensi global tambahan yang berada di luar /app direktori, masukkan perintah yang diperlukan di sub-bagian ini untuk melakukannya. Untuk informasi selengkapnya tentang proses pembuatan App Runner, lihatVersi runtime terkelola dan build App Runner.

    catatan
    • Penting — Meskipun pre-run perintah tercantum di bagian Run, mereka hanya dapat mereferensikan variabel lingkungan yang ditentukan di bagian Build dari file konfigurasi ini. Mereka tidak dapat mereferensikan variabel lingkungan yang ditentukan dalam bagian Jalankan ini.

    • pre-runParameter ini hanya didukung oleh build App Runner yang direvisi. Jangan masukkan parameter ini dalam file konfigurasi jika aplikasi Anda menggunakan versi runtime yang didukung oleh build App Runner asli. Untuk informasi selengkapnya, lihat Versi runtime terkelola dan build App Runner.

    Sintaksis

    run: pre-run: - command -
  • commandDiperlukan. Perintah yang digunakan App Runner untuk menjalankan aplikasi Anda setelah menyelesaikan pembuatan aplikasi.

    Sintaksis

    run: command: command
  • networkOpsional. Menentukan port yang didengarkan aplikasi Anda. Ini termasuk yang berikut:

    • portOpsional. Jika ditentukan, ini adalah nomor port yang didengarkan aplikasi Anda. Bawaannya adalah 8080.

    • envOpsional. Jika ditentukan, App Runner meneruskan nomor port ke container dalam variabel lingkungan ini, selain (bukan sebagai ganti) meneruskan nomor port yang sama dalam variabel lingkungan default,PORT. Dengan kata lain, jika Anda menentukanenv, App Runner meneruskan nomor port dalam dua variabel lingkungan.

    Sintaksis

    run: network: port: port-number env: env-variable-name
    contoh
    run: network: port: 8000 env: MY_APP_PORT
  • envOpsional. Definisi variabel lingkungan kustom untuk tahap run. Didefinisikan sebagai pemetaan skalar nama-nilai. Anda dapat merujuk ke variabel-variabel ini dengan nama di lingkungan runtime Anda.

    catatan

    Ada dua env entri berbeda di dua lokasi berbeda dalam file konfigurasi ini. Satu set ada di bagian Build dan yang lainnya di bagian Run.

    • envSet di bagian Build dapat direferensikan oleh pre-run perintah pre-buildbuild,post-build,, dan selama proses build.

      Penting - Perhatikan bahwa pre-run perintah terletak di bagian Jalankan file ini, meskipun mereka hanya dapat mengakses variabel lingkungan yang didefinisikan di bagian Build.

    • envSet di bagian Run dapat direferensikan oleh run perintah di lingkungan runtime.

    Sintaksis

    run: env: - name: name1 value: value1 - name: name2 value: value2 secrets: - name: name1 value-from: arn:aws:secretsmanager:region:aws_account_id:secret:secret-id - name: name2 value-from: arn:aws:ssm:region:aws_account_id:parameter/parameter-name -
    contoh
    run: env: - name: MY_VAR_EXAMPLE value: "example" secrets: - name: my-secret value-from: "arn:aws:secretsmanager:us-east-1:123456789012:secret:testingstackAppRunnerConstr-kJFXde2ULKbT-S7t8xR:username::" - name: my-parameter value-from: "arn:aws:ssm:us-east-1:123456789012:parameter/parameter-name" - name: my-parameter-only-name value-from: "parameter-name"