Buat bundel sumber aplikasi Elastic Beanstalk - AWS Elastic Beanstalk

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

Buat bundel sumber aplikasi Elastic Beanstalk

Topik ini menjelaskan cara mengunggah file sumber aplikasi Anda ke Elastic Beanstalk dalam bundel sumber. Ini menjelaskan persyaratan bundel sumber, struktur, dan pendekatan untuk membuatnya.

Saat Anda menggunakan AWS Elastic Beanstalk konsol untuk menyebarkan aplikasi baru atau versi aplikasi, Anda harus mengunggah file untuk aplikasi dalam bundel sumber. Sumber paket Anda harus memenuhi persyaratan berikut:

  • Terdiri dari satu file ZIP atau file WAR (Anda dapat menyertakan beberapa file WAR dalam file ZIP Anda)

  • Tidak melebihi 500 MB

  • Tidak termasuk folder induk atau direktori tingkat atas (subdirektori baik-baik saja)

Jika Anda ingin menyebarkan aplikasi pekerja yang memproses tugas-tugas latar belakang periodik, paket sumber aplikasi Anda juga harus menyertakan file cron.yaml. Untuk informasi selengkapnya, lihat Tugas periodik.

Jika Anda menerapkan aplikasi Anda dengan Elastic Beanstalk Command Line Interface (EB CLI), Toolkit for Eclipse, AWS atau Toolkit for Visual Studio AWS , file ZIP atau WAR akan secara otomatis terstruktur dengan benar. Untuk informasi selengkapnya, lihat Menggunakan antarmuka baris perintah Elastic Beanstalk (EB CLI), Menyebarkan aplikasi Java dengan Elastic Beanstalk, dan The AWS Toolkit for Visual Studio.

Membuat sebuah paket sumber dari baris perintah

Buat sebuah paket sumber menggunakan perintah zip. Untuk menyertakan file dan folder tersembunyi, gunakan pola seperti berikut ini.

~/myapp$ zip ../myapp.zip -r * .[^.]* adding: app.js (deflated 63%) adding: index.js (deflated 44%) adding: manual.js (deflated 64%) adding: package.json (deflated 40%) adding: restify.js (deflated 85%) adding: .ebextensions/ (stored 0%) adding: .ebextensions/xray.config (stored 0%)

Hal ini memastikan bahwa file konfigurasi Elastic Beanstalk dan file dan folder lain yang dimulai dengan sebuah titik (.) disertakan dalam arsip.

Untuk aplikasi web Tomcat, gunakan jar untuk membuat arsip web.

~/myapp$ jar -cvf myapp.war .

Perintah di atas termasuk file tersembunyi yang dapat meningkatkan ukuran paket sumber Anda yang tidak perlu. Untuk pengaturan lebih lanjut, gunakan pola file yang lebih rinci, atau membuat paket sumber Anda dengan Git.

Membuat paket sumber dengan Git

Jika Anda menggunakan Git untuk mengelola kode sumber aplikasi Anda, gunakan perintah git archive untuk membuat paket sumber Anda.

$ git archive -v -o myapp.zip --format=zip HEAD

git archive hanya menyertakan file yang disimpan dalam git, dan tidak termasuk berkas yang diabaikan dan berkas git. Ini membantu menjaga paket sumber Anda sekecil mungkin. Untuk informasi lebih lanjut, buka situs web halaman manual git-archive.

zip file di Mac OS X Finder atau Windows explorer

Saat Anda membuat file ZIP di Mac OS X Finder atau Windows Explorer, pastikan Anda zip file dan subfolder itu sendiri, bukan hanya zip folder induk.

catatan

Antarmuka pengguna grafis (GUI) pada Mac OS X dan sistem operasi berbasis Linux tidak menampilkan file dan folder dengan nama yang dimulai dengan sebuah titik (.). Gunakan baris perintah bukan GUI untuk mengkompres aplikasi Anda jika file ZIP harus menyertakan file dalam folder tersembunyi, seperti .ebextensions. Untuk prosedur baris perintah untuk membuat file ZIP pada Mac OS X atau sistem operasi berbasis Linux, lihat Membuat sebuah paket sumber dari baris perintah.

contoh

Misalkan Anda memiliki folder berlabel proyek Python myapp, yang mencakup berkas dan subfolder berikut ini:

myapplication.py README.md static/ static/css static/css/styles.css static/img static/img/favicon.ico static/img/logo.png templates/ templates/base.html templates/index.html

Seperti yang tercantum dalam daftar persyaratan di atas, paket sumber Anda harus dikompresi tanpa folder induk, sehingga struktur yang dekompresi tidak memuat direktori top-level tambahan. Dalam contoh ini, tidak ada folder myapp yang harus dibuat ketika file didekompresi (atau, pada baris perintah, tidak ada segmen myapp yang harus ditambahkan ke lokasi file).

Struktur file contoh ini digunakan di seluruh topik ini untuk menggambarkan bagaimana cara zip file.

Membuat bundel sumber untuk aplikasi NET

Jika Anda menggunakan Visual Studio, Anda dapat menggunakan alat penyebaran yang disertakan dalam untuk menyebarkan aplikasi.NET Anda AWS Toolkit for Visual Studio ke Elastic Beanstalk. Untuk informasi selengkapnya, lihat Men-deploy aplikasi Elastic Beanstalk di .NET menggunakan alat deployment.

Jika Anda perlu secara manual membuat bundel sumber untuk aplikasi .NET Anda, Anda tidak dapat hanya membuat file ZIP yang berisi direktori proyek. Anda harus membuat paket deployment web untuk proyek Anda yang cocok untuk deployment ke Elastic Beanstalk. Ada beberapa metode yang dapat Anda gunakan untuk membuat paket deployment:

  • Buat paket deployment menggunakan wizard Publikasikan Web dalam Visual Studio. Untuk informasi lebih lanjut, kunjungi Cara: Membuat Paket Deployment Web dalam Visual Studio.

    penting

    Ketika membuat paket deployment web, Anda harus memulai Nama situs dengan Default Web Site.

  • Jika Anda memiliki proyek.NET, Anda dapat membuat paket penyebaran menggunakan msbuild perintah seperti yang ditunjukkan pada contoh berikut.

    penting

    Parameter DeployIisAppPath harus dimulai dengan Default Web Site.

    C:/> msbuild <web_app>.csproj /t:Package /p:DeployIisAppPath="Default Web Site"
  • Jika Anda memiliki proyek situs web, Anda dapat menggunakan alat IIS Web Deploy untuk membuat paket deployment. Untuk informasi lebih lanjut, kunjungi Pengemasan dan Pemulihan situs Web.

    penting

    Parameter apphostconfig harus dimulai dengan Default Web Site.

Jika Anda menyebarkan beberapa aplikasi atau ASP.NET Core aplikasi, tempatkan folder .ebextensions Anda di akar bundel sumber, berdampingan dengan bundel aplikasi dan bentuk file:

~/workspace/source-bundle/ |-- .ebextensions | |-- environmentvariables.config | `-- healthcheckurl.config |-- AspNetCore101HelloWorld.zip |-- AspNetCoreHelloWorld.zip |-- aws-windows-deployment-manifest.json `-- VS2015AspNetWebApiApp.zip

Menguji bundel sumber Anda

Anda mungkin ingin menguji bundel sumber Anda secara lokal sebelum Anda mengunggah ke Elastic Beanstalk. Karena Elastic Beanstalk pada dasarnya menggunakan baris perintah untuk mengekstrak file, yang terbaik untuk melakukan tes Anda dari baris perintah daripada dengan alat GUI.

Pastikan bahwa file dekompresi muncul di folder yang sama dengan arsip itu sendiri, bukan di folder tingkat atas baru atau direktori.