Study
Play Framework

Konfigurasi Environment & Deployment (application.conf, sbt dist)

Penjelasan

Konfigurasi aplikasi Play disimpan di `conf/application.conf` memakai format HOCON, mencakup pengaturan database, secret key, dan setting custom aplikasi. Untuk kebutuhan berbeda per environment (development, staging, production), pola umum adalah menaruh nilai default di `application.conf` lalu mengganti sebagian lewat environment variable atau file config tambahan yang di-include, atau lewat flag `-Dconfig.file=` saat menjalankan aplikasi. Untuk deployment, `sbt dist` mem-package seluruh aplikasi (kode terkompilasi, semua dependency jar, script start) menjadi satu file zip yang bisa dijalankan mandiri di server tanpa perlu sbt terinstal — cukup JVM. Setelah diekstrak, aplikasi dijalankan lewat script `bin/nama-aplikasi` yang otomatis di-generate, dengan opsi seperti `-Dhttp.port` untuk menentukan port dan `-Dconfig.file` untuk menunjuk config production.

Contoh Konsep

# conf/application.conf
play.http.secret.key = "${?APPLICATION_SECRET}"

db.default.url = "jdbc:mysql://localhost/tokodb"
db.default.url = ${?DATABASE_URL}

# Build & jalankan untuk production:
# sbt dist
# unzip target/universal/toko-online-1.0.zip
# ./toko-online-1.0/bin/toko-online -Dhttp.port=9000 -Dconfig.file=conf/production.conf

Praktikum

Tuliskan cuplikan application.conf yang membaca URL database dan secret key dari environment variable DATABASE_URL dan APP_SECRET, dengan nilai default untuk development.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Jangan pernah commit application.conf production yang berisi secret key atau kredensial database asli ke version control — pakai environment variable atau file config terpisah yang di-gitignore.