Akademi Manajemen Informatika

Halo… selamat datang di Sandi Dharma Blog. Pada kesempatan ini kita akan belajar bagaimana Langkah mendeploy aplikasi Node.js kita di Heroku.

Bagi yang belum Mengerti, heroku itu adalah salah satu Platform as a Service (PaaS) yang menyediakan layanan Demi membangun, menjalankan, dan mengoperasikan aplikasi kita secara keseluruhan di cloud platform.

Persiapan

Sebelumnya kita persiapkan terlebih dahulu aplikasi yang Ingin kita deploy. Tetap ingat tutorial sebelumnya tentang Menjalankan Aplikasi Node.js di Docker? Kali ini kita akan kembali menggunakan hasil project dari tutorial tersebut Demi kita coba deploy di Heroku. Oleh karena itu, mari kita clone terlebih dahulu projectnya:

# Apabila menggunakan http
git clone https://github.com/ruangdeveloper/nodejs-docker.git

# Apabila menggunakan ssh
git clone [email protected]:ruangdeveloper/nodejs-docker.git

Setelah cloning selesai, buka root folder project kemudian tambahkan kode berikut ini pada file package.json:

"engines": {
    "node": "16.x"
},

Kode tersebut memberitahu Heroku bahwa kita akan menggunakan Node.js versi 16.x.

Berikutnya tambahkan start script:

"scripts": {
    "start": "node ./src/app.js"
},

Start script digunakan agar Heroku Mengerti bagaimana Langkah menjalankan aplikasi kita.

Sekarang file package.json kita akan menjadi seperti ini:

{
  "name": "book-api",
  "version": "1.0.0",
  "description": "Node.js Book REST API with Express, Sequelize, and MySQL",
  "main": "./src/app.js",
  "scripts": {
    "start": "node ./src/app.js"
  },
  "engines": {
    "node": "16.x"
  },
  "keywords": ["Node.js", "Express", "Sequelize", "MySQL", "REST", "API"],
  "author": "www.sandidharma.ac.id",
  "license": "ISC",
  "dependencies": {
    "express": "^4.18.1",
    "mysql2": "^2.3.3",
    "sequelize": "^6.21.3"
  }
}

Setelah Sekalian perubahan disimpan, kita Dapat commit dan push ke repositori di github. Aplikasi kita harus berada di github karena kita akan mendeploy aplikasinya menggunakan github.

READ  Metode Deploy Aplikasi Laravel Di Heroku

Membikin Project Aplikasi di Heroku

Sekarang saya anggap Engkau sudah mendaftar dan Mempunyai akun di Heroku ya. Kita Enggak akan bahas Langkah registrasinya di sini. Kalo Engkau belum Mempunyai akun, Engkau Dapat langsung daftar saja di Website Heroku dan ikuti langkah yang diberikan hingga selesai.

Setelah Mempunyai akun dan login ke dasboard Heroku, buatlah satu buah applikasi baru dengan nama bebas sesuai yang Engkau inginkan (dan tersedia).

Membuat Aplikasi

Membikin dan Mengkonfigurasi Database Demi Aplikasi

Kalau Engkau Tetap ingat, aplikasi kita sebelumnya memerlukan database MySQL Demi menyimpan data Kitab. Di Heroku, kita Dapat menambahkan database Demi aplikasi kita menggunakan add-on. Heroku menyediakan berbagai jenis add-on yang Dapat kita tambahkan sesuai keperluan aplikasi kita.

Demi menambahkan add-on, pergi ke bagian resource, kemudian pada kolom pencarian add-on carilah ClearDB MySQL.

Cari ClearDB MySQL

Klik add-on ClearDB yang muncul setelah itu maka akan muncul pop-up seperti berikut ini.

Tambahkan ClearDB MySQL

Pada bagian plan name pilihlah Ignite – Free karena ini adalah plan yang gratis (kecuali Engkau mau bayar, silahkan pilih yang lain).

Setelah memilih plan, silahkan klik Submit Order Form. Setelah ditambahkan maka add-on ClearDB MySQL akan muncul pada daftar add-on di aplikasi Engkau.

ClearDB Telah Ditambahkan

Setelah menambahkan database, saatnya kita konfigurasi juga environment variable Demi aplikasi kita. Engkau tentu Tetap ingat kan bahwa kita menggunakan environment variable Demi koneksi database? Demi menambahkan environment variable di Heroku, Engkau Dapat pergi ke bagagian settings, Lampau klik reveal config vars.

Environment Variable

Engkau akan Menyantap satu buah environment variable bernama CLEARDB_DATABASE_URL. Itu adalah url database yang berisi informasi host, username, password, dan nama database Demi aplikasi kita. Berikut ini adalah url yang saya dapatkan.

mysql://b7bb6e08f03abf:[email protected]/heroku_5e5f415bfad2425?reconnect=true

Dari url tersebut kita dapatkan informasi database berikut:

host: us-cdbr-east-06.cleardb.net
username: b7bb6e08f03abf
password: 749ff694
database: heroku_5e5f415bfad2425

Tambahkan host, username, password, dan database sebagai environment variable di aplikasi heroku kita sehingga menjadi seperti berikut ini.

Environment Variable

Note: Jangan Guna informasi database saya ya karena database dan project saya hapus setelah selesai menulis tutorial ini, jadi Enggak akan berfungsi.

Mendeploy Aplikasi Menggunakan Metode GitHub

Setelah menyiapkan project di Heroku, dari bagian settings mari kita berpindah ke bagian deployment. Sebelumnya pastikan Engkau sudah commit dan push perubahan di lokal Engkau ke GitHub ya.

READ  Langkah Menghubungkan Domain Ke Cloudflare

Pada bagian deployment -> deployment method, pilih GitHub. Apabila pertama kali, Engkau akan diminta mengkoneksikan akun GitHub Engkau ke Heroku. Setelah GitHub terhubung, Engkau akan diminta Demi memilih repositori mana yang Ingin di deploy. Silahkan pilih akun github dan cari nama repositori Engkau, kemudian klik connect.

Deployment

Setelah klik connect, maka akan muncul tampilan berikut ini.

Deployment

Klik Enable Automatic Deploys agar heroku secara Mekanis mendeploy ulang ketika terjadi perubahan di GitHub.

Terakhir, plih branch mana yang Ingin Engkau deploy, Lampau klik Deploy Branch.

Proses deployment akan dimulai.

Deployment

Proses deployment selesai.

Deployment

Setelah deployment selsai, klik View Demi Menyantap mengakses aplikasi kita.

Berikut ini adalah aplikasi yang telah saya deploy.

Deployment

Mengakses enpoint /api/books Demi Menyantap data Kitab.

Deployment

Di situ data bukunya Tetap Nihil ya, karena memang belum ditambahkan data apapun.

READ  Metode Deploy Aplikasi Laravel Di Heroku

Berikut ini hasilnya ketika saya telah menambahkan satu data Kitab. Engkau Dapat mencoba Sekalian API endpoint yang Eksis Demi menguji apakah aplikasi dapat berfungsi dengan Berkualitas.

Deployment

Selesai…

Selamat, sekarang Engkau sudah Dapat mendeploy aplikasi Node.js di Heroku. Paket gratis yang diberikan oleh Heroku dapat Engkau manfaatkan Demi mencoba aplikasi yang sudah Engkau buat.

Mencoba mendeploy aplikasi di server internet sangat bermanfaat Demi menguji apakah aplikasi kita Betul-Betul Dapat berjalan Demi diupload ke server. Selain Heroku, Tetap tersedia beberapa layanan gratis yang Dapat di manfaatkan, silahkan eksplorasi dan bereksperiment yaa!

Tiba jumpa di postingan selanjutnya.

Source code Demi tutorial ini dapat Engkau lihat di sini.