

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

# Buildfile dan Procfile
<a name="platforms-linux-extend.build-proc"></a>

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
<a name="platforms-linux-extend.build"></a>

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
<a name="platforms-linux-extend.proc"></a>

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.