Deployment Aplikasi Java

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

  • Akun Awanio
  • ssh public key yang sudah didaftarkan di halaman dahsboard Awan
  • 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/java-starter-kit

Yang perlu diperhatikan adalah, Awan menggunakan Maven sebagai package manager. Untuk itu pastikan aplikasi anda juga menggunakan Maven sebagai package manager. Lebih jauh tentang Maven bisa dilihat di sini https://maven.apache.org/

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

pom.xml

Maven membutuhkan sebuah file dengan nama pom.xml. Berikut adalah contohnya:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.awan</groupId>
    <artifactId>java-starter-kit</artifactId>
    <version>0.1.0</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.7.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <properties>
        <java.version>1.8</java.version>
    </properties>


    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

Buat sebuah file controller seperti berikut:

src/main/java/hello/Application.java

Isikan file tersebut dengan sebuah class seperti contoh berikut:

package hello;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class Application {

    @RequestMapping("/")
    public String home() {
        return "Hello World";
    }

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

Testing aplikasi sederhana kita untuk jalan di local development. Untuk itu jalankan perintah berikut:

mvn package
java -jar target/java-starter-kit-0.1.0.jar --server.port=8080

Cek http://localhost:8080 untuk melihat output "Hello World"

awan.yml

Untuk bisa jalan di Awan, silahkan buat sebuah file awan.yml dimana file ini sejajar dengan file pom.xml pada folder utama. Isi file awan.yml yang diperlukan adalah:

version: '1.0'
web:
  type: java
  version: 8
  run: java -jar target/java-starter-kit-0-1.0.jar

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

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

Setelah aplikasi siap, maka silahkan commit dan push ke git server ke Awanio

git push awan master

Setelah deployment selesai silahkan cek aplikasi anda pada https://app-name.awan.io