Heroku adalah sebuah cloud platform atau tempat penyimpanan yang menjalakan bahasa pemrograman tertentu. Sebelum mengenal lebih jauh mengenai Apa Itu Heroku dan Cara Deploy Proyek Pertama di Heroku sebaiknya kita juga perlu tahu apa itu Cloud Computing.
Cloud Computing adalah sebuah model untuk kenyamanan, akses jaringan on-demand untuk menyatukan pengaturan konfigurasi dari sumber daya komputasi seperti, jaringan, server, media penyimpanan, aplikasi, dan layanan yang dapat dengan cepat ditetapkan dan dirilis dengan usaha manajemen yang minimal atau interaksi dengan penyedia layanannya secara langsung.
Adapun Cloud Platform lain yakni Google Cloud Platform tetapi kali ini kita akan membahas dari Heroku saja. Heroku ini sudah support bahasa pemrograman seperti Node.js, Ruby, Java, PHP, Phyton, Go, dan lain-lain.
Sebenarnya cara menggunakan Heroku hampir sama dengan hosting atau CPanel, yang membedakannya hanyalah cara deploynya saja. Untuk membuat proyek pertama di hosting lain harus melakukan upload file pada file managernya, tetapi berbeda dengan Heroku yang dimana hanya tinggal men-deploy saja menggunakan git.
Baca Juga : Aplikasi Berbasis Website Rental Sepeda Dengan PHP MySQL dan Javascript jSON jQuery AJaX
Jika kita lihat dari pengertian Cloud Platform diatas bahwa cloud computing ini merupakan salah satu contoh dari komputer modern dimana jika kita melihat ke bagian user, cloud computing ini menyediakan storage dimana user dapat melakukan akses dimana dan kapan saja. Tidak hanya menyediakan storage, cloud computing juga berfungsi dalam hal deployment pada sebuah aplikasi misalkan saya mempunyai sebuah aplikasi website dimana aplikasinya akan di deploy ke dalam sebuah server cloud computing.
Apa Itu Heroku dan Cara Deploy Proyek Pertama di Heroku
Heroku juga termasuk ke dalam kriteria jenis Platform As A Service atau yang disingkat menjadi PaaS, yang dimana fungsi PaaS ini ialah user yang ingin melakukan penyebaran atau deploy aplikasi proyeknya ke heroku cukup dengan melakukan konfigurasi pada aplikasi proyek yang ingin Kamu deploy tentunya dan juga sudah terdapat platform untuk memungkinkan pengguna menjalankan, mengembangkan, dan bahkan mengelola aplikasi tanpa kompleksitas membangun serta memelihara infrastruktur data yang sudah terkait ke dalam pengembangan dan peluncuran aplikasi proyek, selain dari Apa Itu Heroku dan Cara Deploy Proyek Pertama di Heroku ada juga manfaatnya loh, berikut adalah manfaat dari Heroku.
Manfaat Heroku
Manfaat Heroku adalah dengan layanannya yang menjalankan script aplikasi secara langsung tanpa ada setting-setting ulang, adapun manfaat lain dari heroku, yakni:
- Gratis. Nah ini dia banyak yang dicari orang, yaitu gratis.
- Heroku dapat dijadinkan sebagai server testing sebelum mendeploy ke server utama.
- Dapat dijadikan solusi untuk demo aplikasi.
- Prosesnya mudah
- Terdapat SSH ke Virtual Server sehingga dapat dirombak atau di otak-atik sesuai dengan kebutuhan.
- Dapat dilakukan hanya dengan lewat terminal atapun CMD.
Itulah sedikit penjelasan mengenai Pengenalan dari Heroku. Selanjutnya kita akan membahas mengenai Cara Deploy Proyek Pertama di Heroku. Sebelum melakukan deploying, tentunya aplikasi pendukung harus sudah terinstall dan harus sudah ada dan siap untuk di deploy.
Pastikan telah menginstall Aplikasi git, kenapa git? karena aplikasi kita dapat terhubung melalui git. Bagi yang belum menginstall git silahkan kunjungi website resmi git atau bisa klik disini.
Cara Deploy Proyek Pertama di Heroku
Pastikan Kamu sudah memiliki akun di Heroku, jika belum bisa langsung kunjungi website resminya atau Daftar Heroku.
Jika sudah punya akun Heroku, silahkan langsung login setelah login berhasil maka akan langsung redirect ke halaman Dashboard Apps Heroku.
Kemudian Klik New di pojok kanan atas di bawah photo profile dan pilih Create New App dan langsung di arahkan ke halaman selanjutnya.
Pada App Name silahkan isikan sesuai keinginan Kamu ingat nama aplikasi harus available. Untuk Region biarkan saja di United States dan klik Create App.
Aplikasi bernama keyzex-tutorial berhasil dibuat. Pada tahap ini kamu dapat melakukan deploying method menggunakan Heroku Git, Github, ataupun Container Registry. Untuk tutorial ini saya akan menggunakan Heroku Git, maka dari itu jika kamu belum punya Heroku Git dapat mendownloadnya langsung di website resminya, Download dan Install Heroku Git.
Jika berhasil di download silahkan langsung install hingga proses installasi selesai.
Karena saya menggunakan Windows jadi tutorial ini akan dibuat menggunakan CMD dan Git Bash, silahkan buka CMD dan Git Bash Kalian.
Pada CMD lakukan login terlebih dahulu ke Heroku, caranya adalah dengan menggunakan perintah Heroku Login.
C:\User\Keyze>heroku login
Enter your Heroku Credentials:
Email : erbees.50000@gmail.com
Password (typing will be hidden):
Logged in as erbees.50000@gmail.com
Jangan di exit CMDnya, kemudian buka Git Bashnya kita akan membuat repository pada Heroku.
Langkah pertama yang harus dilakukan ialah masuk dulu ke folder aplikasi proyek kalian. Sebagai contoh saya disini disimpan di D:/Raha/KeyzeX maka masuk ke folder tersebut dengan menggunakan perintah cd, perlu diingat bahwa ini bersifat Case Sensitive jadi besar kecilnya font sangat berpengaruh ya.
Keyze@Keyze MINGW64 ~ (master)
$ cd D:/Raha/KeyzeX
Jika sudah berhasil lakukan perintah git init, karena disini saya menggunakan bahasa pemrograman php jadi tanpa npm. Kemudian ketikan heroku git:remote -a keyzex-tutorial untuk meremote git.
Keyze@Keyze MINGW64 ~ /d/Raha/KeyzeX
$ git init
Initialized empty Git repository in D:/Raha/KeyzeX/.git/
AZZAHRA@AZZAHRA-006 MINGW64 /d/Raha/KeyzeX (master)
$ heroku git:remote -a keyzex-tutorial
set git remote heroku to https://git.heroku.com/keyzex-tutorial.git
Untuk membuat repository udah selesai nih, yuk langsung kita deploy saja aplikasinya!
Langsung gunakan command git add .
AZZAHRA@AZZAHRA-006 MINGW64 /d/Raha/KeyzeX (master)
$ git add .
Kemudian gunakan perintah commit untuk merekam perubahan yang terjadi.
AZZAHRA@AZZAHRA-006 MINGW64 /d/Raha/KeyzeX (master)
$ git commit -am "KeyzeX Tutorial #1"
[master (root-commit) 2fcbe70] KeyzeX Tutorial #1
1 file changed, 71 insertions(+)
create mode 100644 index.php
Berhasil! Langsung hajar saja langsung push dengan menggunakan perintah git push heroku master!
AZZAHRA@AZZAHRA-006 MINGW64 /d/Raha/KeyzeX (master)
$ git push heroku master
Counting objects: 3, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 953 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> PHP app detected
remote:
remote: ! WARNING: No 'composer.json' found!
remote: !
remote: ! Your project only contains an 'index.php', no 'composer.json'.
remote: !
remote: ! Using 'index.php' to declare app type as PHP is deprecated and
remote: ! may lead to unexpected behavior.
remote: !
remote: ! Please consider updating your codebase to utilize Composer and
remote: ! modern dependency management in order to benefit from the latest
remote: ! PHP runtimes and improved application performance, as well as
remote: ! control over the PHP versions and extensions available.
remote: !
remote: ! For an introduction to dependency management with Composer and
remote: ! how to get the most out of PHP on Heroku, refer to the docs at
remote: ! https://getcomposer.org/doc/00-intro.md and
remote: ! https://devcenter.heroku.com/articles/getting-started-with-php
remote:
remote: -----> Bootstrapping...
remote: -----> Installing platform packages...
remote: NOTICE: No runtime required in composer.lock; using PHP ^5.5.17
remote: - nginx (1.8.1)
remote: - php (5.6.37)
remote: - apache (2.4.34)
remote: -----> Installing dependencies...
remote: Composer version 1.7.2 2018-08-16 16:57:12
remote: -----> Preparing runtime environment...
remote: NOTICE: No Procfile, using 'web: heroku-php-apache2'.
remote: -----> Checking for additional extensions to install...
remote: -----> Discovering process types
remote: Procfile declares types -> web
remote:
remote: -----> Compressing...
remote: Done: 13.8M
remote: -----> Launching...
remote: Released v3
remote: https://keyzex-tutorial.herokuapp.com/ deployed to Heroku
remote:
remote: Verifying deploy... done.
To https://git.heroku.com/keyzex-tutorial.git
* [new branch] master -> master
Tara! Deploying aplikasi pertama di Heroku berhasil.
Tes Aplikasimu di Browser
Atau Kamu juga dapat membuka proyekmu dengan menggunakan perintah heroku open pada command dan secara otomatis aplikasi akan terbuka pada browser.
Baca Juga : Algoritma dan Pemrograman Itu Apa? Yuk Kenal Lebih Lanjut!
Logout heroku Kamu dengan menggunakan command heroku logout pada CMD.
C:\User\Keyze>heroku logout
Logging out... done
Cara Memperbaiki Git User.Name dan Git User.Email
git config --global user.email "you@example.com" dan git config --global user.name "Your Name".
*** Please tell me who you are.
Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: empty ident name (for <(null)>) not allowed
Lakukan Command dibawah ini untuk memperbaiki error diatas.
AZZAHRA@AZZAHRA-006 MINGW64 /d/Raha/KeyzeX (master)
$ git config --global user.email "emailkamu"
AZZAHRA@AZZAHRA-006 MINGW64 /d/Raha/KeyzeX (master)
$ git config --global user.name "namakamu"
PENUTUP
Heroku mendukung berbagai banyak macam platform dan pengolahan database sesuai dengan aplikasi kita. Rasanya tidak salah jika kita menjadikan Heroku sebagai salah satu environment kita dalam mengerjakan proyek.
Terima kasih telah membaca artikel Apa Itu Heroku dan Cara Deploy Proyek Pertama di Heroku ini hingga selesai. Silahkan gunakan kolom komentar jika ada hal-hal yang membuat agan bingung seputar artikel ini.