

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

# Buildfile dan Procfile
Buildfile dan Procfile

Beberapa platform memungkinkan Anda untuk menyesuaikan bagaimana Anda membangun atau mempersiapkan aplikasi Anda, dan untuk menentukan proses yang menjalankan aplikasi Anda. Setiap topik platform individu secara khusus menyebutkan *Buildfile and/or *Procfile** jika platform mendukungnya. Cari platform spesifik Anda di bawah [Platform Elastic Beanstalk](concepts-all-platforms.md).

Untuk semua platform pendukung, sintaks dan semantik identik, dan seperti yang dijelaskan pada halaman ini. Topik platform individu menyebutkan penggunaan spesifik file-file ini untuk membangun dan menjalankan aplikasi dalam bahasa masing-masing.

## Buildfile


Untuk menentukan perintah kustom build dan konfigurasi untuk aplikasi Anda, menempatkan file yang bernama `Buildfile` di direktori root dari sumber aplikasi Anda. Nama file peka huruf besar/kecil. Gunakan sintaks berikut untuk `Buildfile` Anda.

```
<process_name>: <command>
```

Perintah di `Buildfile` Anda harus sesuai dengan ekspresi reguler berikut: `^[A-Za-z0-9_-]+:\s*[^\s].*$`

Elastic Beanstalk tidak memantau aplikasi yang dijalankan dengan `Buildfile`. Gunakan `Buildfile` untuk perintah yang berjalan dalam waktu singkat dan berakhir setelah menyelesaikan tugas mereka. Untuk proses aplikasi yang berjalan lama yang seharusnya tidak keluar, gunakan [Procfile](#platforms-linux-extend.proc).

Semua jalur di `Buildfile` adalah relatif terhadap akar dari paket sumber. Dalam contoh berikut `Buildfile`, `build.sh` adalah script shell yang terletak di akar paket sumber.

**Example Buildfile**  

```
make: ./build.sh
```

Jika Anda ingin memberikan langkah-langkah pembuatan kustom, kami sarankan Anda menggunakan hook platform `predeploy` untuk apa pun kecuali perintah yang paling sederhana, bukan `Buildfile`. Hook platform memungkinkan skrip yang lebih kaya dan penanganan kesalahan yang lebih baik. Hook platform dijelaskan di bagian selanjutnya.

## Procfile


Untuk menentukan perintah kustom untuk memulai dan menjalankan aplikasi Anda, menempatkan file yang bernama `Procfile` di direktori root dari sumber aplikasi Anda. Nama file peka huruf besar/kecil. Gunakan sintaks berikut untuk `Procfile` Anda. Anda dapat menentukan satu atau lebih perintah.

```
<process_name1>: <command1>
<process_name2>: <command2>
...
```

Setiap baris di `Procfile` harus sesuai dengan ekspresi reguler berikut: `^[A-Za-z0-9_-]+:\s*[^\s].*$`

Menggunakan `Procfile` untuk proses aplikasi yang berjalan lama yang seharusnya tidak keluar. Elastic Beanstalk mengharapkan proses berjalan dari `Procfile` untuk berjalan terus menerus. Elastic Beanstalk memonitor proses ini dan memulai ulang setiap proses yang berakhir. Untuk proses berjalan pendek, gunakan [Buildfile](#platforms-linux-extend.build).

Semua jalur di `Procfile` adalah relatif terhadap akar dari paket sumber. Contoh berikut `Procfile` mendefinisikan tiga proses. Yang pertama, disebut `web` dalam contoh, adalah *aplikasi web utama*.

**Example Procfile**  

```
web: bin/myserver
cache: bin/mycache
foo: bin/fooapp
```

Elastic Beanstalk mengonfigurasi server proksi untuk meneruskan permintaan ke aplikasi web utama Anda pada port 5000, dan Anda dapat mengonfigurasi nomor port ini. Sebuah penggunaan umum untuk `Procfile` adalah untuk lulus nomor port ini untuk aplikasi Anda sebagai argumen perintah. Untuk detail tentang konfigurasi proxy, lihat[Konfigurasi proksi terbalik](platforms-linux-extend.proxy.md).

Elastic Beanstalk menangkap output standar dan kesalahan aliran dari proses `Procfile` dalam berkas log. Elastic Beanstalk menamakan berkas log setelah proses dan menyimpannya di `/var/log`. Misalnya, proses `web` dalam contoh sebelumnya menghasilkan log bernama `web-1.log` dan `web-1.error.log` untuk `stdout` dan `stderr`, masing-masing.