Semua artikel

Deploy Aplikasi Node.js dalam 5 Menit

Panduan langkah demi langkah untuk deploy aplikasi Express.js ke getlaunch.dev.


Persiapan

Sebelum mulai, pastikan kamu sudah memiliki:

  • Akun GitHub
  • Akun getlaunch.dev (daftar gratis via GitHub OAuth)
  • Aplikasi Node.js dengan package.json

Langkah 1: Siapkan Aplikasi

Buat aplikasi Express.js sederhana. Pastikan aplikasi kamu membaca port dari environment variable:

const express = require("express");
const app = express();

const PORT = 3000;

app.get("/", (req, res) => {
  res.json({ message: "Hello dari getlaunch.dev!" });
});

app.get("/health", (req, res) => {
  res.status(200).json({ status: "ok" });
});

app.listen(PORT, () => {
  console.log(`Server berjalan di port ${PORT}`);
});

Penting: Pastikan port yang digunakan di code sama dengan port yang kamu isi saat membuat project di getlaunch.dev. Platform membutuhkan informasi port ini untuk mengarahkan traffic ke aplikasi kamu.

Langkah 2: Buat Dockerfile

Buat Dockerfile di project kamu (path bisa diatur saat membuat project di getlaunch.dev):

FROM node:18-alpine

WORKDIR /app

COPY package*.json ./
RUN npm ci --only=production

COPY . .

EXPOSE 3000

CMD ["node", "index.js"]

Tips: Gunakan node:18-alpine untuk image yang lebih kecil dan build yang lebih cepat.

Langkah 3: Push ke GitHub

Pastikan code sudah di-push ke repository GitHub:

git add .
git commit -m "siap deploy"
git push origin main

Langkah 4: Buat Project di getlaunch.dev

  1. Login ke getlaunch.dev dan buka Dashboard
  2. Klik New Project
  3. Pilih mode Deploy from Repository
  4. Pilih repository GitHub kamu
  5. Isi konfigurasi:
    • Project Name: my-nodejs-app
    • Branch: main
    • Port: 3000
  6. Klik Create Project

Langkah 5: Deploy!

Setelah project dibuat, klik tombol Deploy. getlaunch.dev akan:

  1. Clone repository dari GitHub
  2. Build Docker image menggunakan Dockerfile
  3. Deploy container ke infrastructure
  4. Memberikan URL publik untuk aplikasi kamu

Proses ini biasanya selesai dalam 1-2 menit.


Auto-Deploy

Aktifkan Auto-Deploy di pengaturan project agar setiap push ke branch main otomatis men-trigger deployment baru. Tidak perlu login ke dashboard setiap kali ada perubahan.

Tips Optimasi

Gunakan .dockerignore

Buat file .dockerignore untuk mengecualikan file yang tidak perlu:

node_modules
npm-debug.log
.git
.env
README.md

Health Check Endpoint

Selalu sediakan endpoint /health atau /healthz agar platform bisa memantau kesehatan aplikasi:

app.get("/health", (req, res) => {
  res.status(200).json({ status: "ok" });
});

Environment Variables

Gunakan environment variables untuk konfigurasi sensitif seperti API key dan database URL. Jangan pernah hardcode credentials di source code.


Selanjutnya