

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
<a name="applications-sourcebundle"></a>

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](using-features-managing-env-tiers.md#worker-periodictasks).

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 [Menyiapkan antarmuka baris perintah EB (EB CLI) untuk mengelola Elastic Beanstalk](eb-cli3.md), [Menyebarkan aplikasi Java dengan Elastic Beanstalk](create_deploy_Java.md), dan [The AWS Toolkit for Visual Studio](dotnet-toolkit.md).

**Topics**
+ [Membuat sebuah paket sumber dari baris perintah](#using-features.deployment.source.commandline)
+ [Membuat paket sumber dengan Git](#using-features.deployment.source.git)
+ [zip file di Mac OS X Finder atau Windows explorer](#using-features.deployment.source.gui)
+ [Membuat bundel sumber untuk aplikasi NET](#using-features.deployment.source.dotnet)
+ [Menguji bundel sumber Anda](#using-features.deployment.source.test)

## Membuat sebuah paket sumber dari baris perintah
<a name="using-features.deployment.source.commandline"></a>

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](ebextensions.md) 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](#using-features.deployment.source.git).

## Membuat paket sumber dengan Git
<a name="using-features.deployment.source.git"></a>

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](http://git-scm.com/docs/git-archive).

## zip file di Mac OS X Finder atau Windows explorer
<a name="using-features.deployment.source.gui"></a>

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](#using-features.deployment.source.commandline).

**Example**  
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
<a name="using-features.deployment.source.dotnet"></a>

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 [Menerapkan aplikasi Elastic Beanstalk di.NET menggunakan alat penyebaran AWS](deploy_NET_standalone_tool.md).

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](http://msdn.microsoft.com/en-us/library/dd465323.aspx).
**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](http://www.iis.net/learn/publish/using-web-deploy/packaging-and-restoring-a-web-site).
**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
<a name="using-features.deployment.source.test"></a>

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.