Quick Start

Sebelum melakukan deployment ke Awanio, ada beberapa hal yang perlu anda siapkan. Pertama anda harus memiliki account pada layanan Awanio. Pada akun anda, setidaknya harus memiliki sebuah team. Setiap aplikasi akan melekat ke sebuah team.

SSH Client

Awanio menggunakan ssh sebagai sarana untuk melakukan deploymet. Anda harus memiliki ssh client di local komputer yang digunakan. Anda juga harus menyiapkan ssh public key yang akan digunakan pada saat melakukan proses otentikasi. Untuk melihat isi file ssh public key, umumnya berada di lokasi /home/myname/.ssh/id_rsa.pub. Jika sebelumnya belum ada, anda bisa membaca lebih jauh cara membuat ssh public key pada halaman berikut https://docs.gitlab.com/ce/ssh/README.html. Jika menggunakan sistem operasi Windows, anda bisa menggunakan PuttyGen.

Artikel di atas juga menjelaskan cara penggunaannya. Isi file id_rsa.pub harus diinput ke Awanio sebagai bukti credential yang bisa anda lakukan di halaman dashboard.

Isi file id_rsa.pub harus diinput ke Awanio sebagai bukti credential yang bisa anda lakukan di halaman dashboard. Klik menu Accounts > Add SSH Key

Git

Git diperlukan untuk mekanisme mendistribukan local code ke server Awanio. Pada saat membuat projek di Awanio, anda akan mendapatkan sebuah url git yang berformat git@awan.io:TEAM_NAME/APP_NAME.git

awan.yml

Semua project yang akan di-deploy ke Awanio, setidaknya membutuhkan file awan.yml yang diletakan di folder utama aplikasi.

Contoh isi file awan.yml adalah:

version: '1.0'
web:
  type: java
  version: 8
  run: java -jar target/NAMA-FILE-JAR-HASIL-BUILD.jar

Ini adalah contoh file awan.yml untuk aplikasi berbasis Java. Yang harus diperhatikan dari file awan.yml adalah bagian run. Ini menunjukan lokasi file jar hasil build dari proses sebelumnya. File jar ini harus dipastikan ikut ke-commit dan di-push ke git repository yang digunakan.

Untuk aplikasi berbasis PHP, isi file awan.yml adalah seperti berikut:

version: '1.0'
web:
  type: php
  version: 7.0
  doc_root: ./public

Berikut contoh file awan.yml untuk aplikasi dengan runtime python:

version: '1.0'
web:
  type: python
  version: 3
  run: gunicorn -b :$PORT --workers=2 my_web:app

Starter kit untuk aplikasi berbasis python bisa di-clone di repository ini https://github.com/Awanio/python-starter-kit

Setup Environment Variable

Untuk setup environment variable bisa dialkukan dengan dua cara. Cara pertama dilakukan via dashbaord. Dan cara kedua adalah via cli. Untuk setup environment variable via cli gunakan perintah berikut ini:

# set envar
ssh git@awan.io envar app-uuid add val1=foo
# list enver
ssh git@awan.io envar app-uuid ls
# remove envar
ssh git@awan.io envar app-uuid rm val1,val2,val3

Mengakses Addons

Umumnya setiap apps memiliki satu atau lebih resource pendukung. Contoh yang paling umum adalah database. Resource-resource pendukung ini disebut addons. Untuk mengakses addon dari aplikasi, anda bisa memanfaatkan informasi yang ada di environment variables. Sebagai contoh, environment variable untuk addon MySQL adalah:

MYSQL_DATABASE=database_name
MYSQL_USER=user_access
MYSQL_PASSWORD=db_password
MYSQL_HOST=db_host
MYSQL_PORT=3306

Adakalanya kita ingin mengakses secara local. Untuk ini, kita bisa menggunakan ssh tunneling dengan cara:

ssh tunnel@awan.io -p 2222 -NL :3307:ADDON_HOST:3306

Anda harus mendaftarkan ssh public key yang ada di local ke Awanio Ini digunakan untuk melakukan pengecekan credential.