Deploy Flask App di Heroku
Heroku ini memang masih menjadi pilihan utama buat saya kalau mau bootstrapping sebuah project, kenapa? Simpel dan efisien! Lupakan iming-iming dari penyedia cloud hosting itu karena belum apa-apa sudah terbayang bagaimana ribetnya setup nginx-lah, apache-lah, mongo-lah, redis-lah, dan keribetan-keribetan lainnya...
Btw, tulisan ini berseri ya, liat bagian paling bawah... Tema kita kali ini adalah GRATISAN.
Dan hebatnya, heroku menyediakan 5 free dyno buat dicoba, no credit card needed...
Okay, mari kita mulai, asumsinya kalian sudah punya aplikasi flask yang sudah running di localhost ya, berarti langkah selanjutnya tinggal men-deploy aplikasi tersebut ke heroku. Dan juga tentunya kalian sudah terdaftar di Heroku.
Baik, langkah pertama adalah mengunduh Heroku CLI (tutorial di luar banyak banget, tidak akan saya bahas di sini). Setelah terunduh dan terpasang dengan sempurna, langkah selanjutnya adalah melakukan login, lakukan perintah berikut:
$ heroku login --interactive
Setelah itu masukkan username (email) dan password. Selanjutnya, membuat app, bisa dengan 2 cara, melalui web dashboard heroku, atau langsung via CLI, kali ini akan saya demokan via CLI:
$ heroku create flaskhero
flaskhero di sini adalah nama app yang kita buat, bebas selama itu unik di mata Heroku.
Setelah itu, pindah ke direktori utama di mana flask app kalian berada, misal app saya berada di direktori flaskhero
$ cd flaskhero
Buat berkas (file) baru, bernama Procfile, dan isikan baris berikut:
web: gunicorn web.views:app
Nha, ini yang penting (biasanya suka bingung di sini), cara baca baris di atas adalah, saya membuat dyno dengan tipe web, menggunakan gunicorn sebagai web server (harus sudah ada dalam requirements.txt), dan aplikasi saya bernama app yang berada di path web/views.py.
Gambaran struktur direktori app sederhana yang saya buat:
├── Procfile ├── requirements.txt ├── web ├── __init__.py └── views.py
app ini sendiri saya import dari file web/init.py yang isinya adalah sebagai berikut:
# web/__init__.py from flask import Flask app = Flask(__name__) app.debug = True
Selanjutnya, tambahkan git remote, bisa manual dengan menyunting berkas .git/config, atau menggunakan cara berikut:
$ heroku git:remote -a flaskhero
Langkah terakhir adalah push dengan:
$ git push heroku master
Selanjutnya, mari kita coba buka aplikasi kita di browser, dengan mengetikkan
$ heroku open
Selamat mencoba...
Eh masih bersambung Kak... Ini dia tulisan lain yang masih terkait dengan GRATISAN:
Comments
Post a Comment