Deploy Nodejs ke Awanio

Sebelum melakukan deployment aplikasi Nodejs, ada beberapa hal yang harus anda siapkan, yaitu:

  • Akun Awanio
  • ssh public key yang sudah didaftarkan di halaman dahsboard Awanio
  • git url endpoint yang akan digunakan untuk push code. Formatnya adalah git@awan.io:TEAM/APP_NAME.git
  • file awan.yml yang diletakan pada top folder aplikasi

Setelah semua ini terpenuhi, berikutnya anda bisa memulai pembuatan aplikasi berdasarkan dari starter-kit yang bisa di-clone dari https://github.com/awanio/nodejs-starter-kit

Yang perlu diperhatikan adalah, Awan menggunakan Yarn sebagai package manager. Untuk itu pastikan aplikasi anda juga menggunakan Yarn sebagai package manager. Lebih jauh tentang Yarn bisa dilihat di sini https://yarnpkg.com

Selama proses instalasi package, yang membuat sebuah file yang bernama yarn.lock. File ini berguna sebagai tracking package apa saya yang sudah diinstall. Untuk itu pastikan file ini ter-commit setiap kali melakukan deployment ke Awanio.

Kemudian, Awanio menggunakan Node versi 8 sebagai runtume untuk menjalankan apikasi. Untuk itu silahkan sesuakan dengan aplikasi yang akan anda buat.

awan.yml

version: '1.0'
web:
  type: nodejs
  version: 8
  run: node index.js

Buat sebuah file index.js yang berisi:

const express = require('express')
const app = express()

app.get('/', function (req, res) {
  res.send('Hello World!')
})

app.listen(process.env.PORT || 3000, function () {
  console.log('Example app listening on port 3000!')
})

Aplikasi anda juga membutuhkan sebuah file package.json. Berikut contoh isinya:

{
  "name": "awan-node",
  "version": "1.0.0",
  "description": "simple awan node web app",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "node",
    "js"
  ],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.16.1"
  }
}

Jalankan perintah berikut untuk install package yang dibutuhkan:

yarn install

Setelah proses selesai, jalankan aplikasi di local. Untuk itu jalankan perintah:

node index.js

Silahkan cek aplikasi di browser dengan alamat: http://localhost:3000

Setelah aplikasi siap, tambahkan git remote Awanio ke dalam project:

git remote add awan git@awan.io:TEAM/APP_NAME.git

Untuk selanjutnya silahkan commit dan push ke git server ke Awanio

git push awan master

Setelah deployment selesai silahkan cek aplikasi anda pada https://app-name.diawan.id