Tentang codelab ini
1. Sebelum memulai
Aplikasi App Engine mudah dibuat, mudah dikelola, dan mudah diskalakan karena traffic Anda dan kebutuhan penyimpanan data berubah. Dengan App Engine, tidak ada server yang harus dikelola. Anda cukup mengupload aplikasi dan aplikasi siap digunakan.
Aplikasi App Engine melakukan penskalaan otomatis berdasarkan traffic masuk. Load balancing, microservice, otorisasi, database SQL dan NoSQL, caching memori, pemisahan traffic, logging, penelusuran, pembuatan versi, peluncuran dan rollback, serta pemindaian keamanan, semuanya didukung secara native dan sangat mudah disesuaikan.
Lingkungan standar App Engine dan lingkungan fleksibel App Engine mendukung sejumlah bahasa pemrograman, termasuk Java, Python, PHP, NodeJS, dan Go. Kedua lingkungan ini memberikan fleksibilitas maksimum kepada developer terkait perilaku aplikasi mereka. Setiap lingkungan memiliki keunggulan tertentu. Untuk mengetahui informasi selengkapnya, lihat Memilih lingkungan App Engine.
Anda akan belajar men-deploy aplikasi Spring Boot ke lingkungan standar App Engine. Lingkungan standar memperkecil skala ke nol instance saat tidak ada yang menggunakannya dan otomatis meningkatkan skalanya.
Prasyarat
- Pemahaman tentang bahasa dan alat pemrograman Java
- Pengetahuan tentang editor teks Linux standar, seperti Vim, Emacs, dan nano
Yang akan Anda lakukan
- Cara membuat aplikasi Java Spring Boot di App Engine
Yang Anda butuhkan
- Project Google Cloud
- Browser, seperti Google Chrome
2. Penyiapan dan persyaratan
Penyiapan lingkungan mandiri
- Login ke Cloud Console dan buat project baru atau gunakan kembali project yang sudah ada. (Jika belum memiliki akun Gmail atau G Suite, Anda harus membuatnya.)
Ingat project ID, nama unik di semua project Google Cloud (maaf, nama di atas telah digunakan dan tidak akan berfungsi untuk Anda!) Project ID tersebut selanjutnya akan dirujuk di codelab ini sebagai PROJECT_ID
.
- Selanjutnya, Anda harus mengaktifkan penagihan di Cloud Console untuk menggunakan resource Google Cloud.
Menjalankan melalui codelab ini tidak akan menghabiskan biaya lebih dari beberapa dolar, tetapi bisa lebih jika Anda memutuskan untuk menggunakan lebih banyak resource atau jika Anda membiarkannya tetap berjalan.
Pengguna baru Google Cloud memenuhi syarat untuk mendapatkan uji coba gratis senilai$300.
Cloud Shell
Anda akan menggunakan Cloud Shell, lingkungan command line yang berjalan di Google Cloud.
Aktifkan Cloud Shell
- Dari Cloud Console, klik Aktifkan Cloud Shell
.
Jika belum pernah memulai Cloud Shell, Anda akan melihat layar perantara (di paruh bawah) yang menjelaskan apa itu Cloud Shell. Jika demikian, klik Lanjutkan (dan Anda tidak akan pernah melihatnya lagi). Berikut tampilan layar sekali-tampil tersebut:
Perlu waktu beberapa saat untuk penyediaan dan terhubung ke Cloud Shell.
Mesin virtual ini berisi semua alat pengembangan yang Anda perlukan. Layanan ini menawarkan direktori beranda tetap sebesar 5 GB dan beroperasi di Google Cloud, sehingga sangat meningkatkan performa dan autentikasi jaringan. Sebagian besar pekerjaan Anda dalam codelab ini dapat dilakukan hanya dengan browser atau Chromebook.
Setelah terhubung ke Cloud Shell, Anda akan melihat bahwa Anda sudah diautentikasi dan project sudah ditetapkan ke project ID Anda.
- Jalankan perintah berikut di Cloud Shell untuk mengonfirmasi bahwa Anda telah diautentikasi:
gcloud auth list
Output perintah
Credentialed Accounts ACTIVE ACCOUNT * <my_account>@<my_domain.com> To set the active account, run: $ gcloud config set account `ACCOUNT`
gcloud config list project
Output perintah
[core] project = <PROJECT_ID>
Jika tidak, Anda dapat menyetelnya dengan perintah ini:
gcloud config set project <PROJECT_ID>
Output perintah
Updated property [core/project].
3. Membuat aplikasi web Spring Boot yang baru
Setelah Cloud Shell diluncurkan, Anda dapat menggunakan command line untuk membuat aplikasi Spring Boot baru dengan Spring Initializr.
$ curl https://start.spring.io/starter.tgz \ -d bootVersion=2.1.8.RELEASE \ -d dependencies=web \ -d baseDir=gae-standard-example | tar -xzvf - $ cd gae-standard-example
4. Mengupdate pom.xml Maven
Ada dua cara untuk men-deploy aplikasi server Java, baik dengan menggunakan Maven App Engine Plugin maupun Gradle App Engine Plugin, atau dengan men-deploy direktori paket war
. Anda akan menggunakan Plugin App Engine Maven untuk menerapkan aplikasi.
Tambahkan Plugin Maven App Engine
Update pom.xml
untuk menyertakan plugin Google Cloud yang menyederhanakan proses deployment. Anda dapat menggunakan Vim, nano, atau Emacs untuk mengedit file tersebut.
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" ...>
...
<build>
<plugins>
...
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>2.1.0</version>
<configuration>
<version>1</version>
<projectId>GCLOUD_CONFIG</projectId>
</configuration>
</plugin>
...
</plugins>
</build>
</project>
5. Tambahkan deskripsi App Engine
- Untuk men-deploy aplikasi ke lingkungan standar App Engine, Anda harus membuat file deskripsi
src/main/appengine/app.yaml
baru.
$ mkdir -p src/main/appengine/ $ touch src/main/appengine/app.yaml
- Edit file
src/main/appengine/app.yaml
dan tambahkan konten berikut:
src/main/appengine/app.yaml
runtime: java11
instance_class: F4
6. Menambahkan pengontrol
Tambahkan pengontrol baru yang menampilkan "hello world!"
di DemoApplication.java
.
src/main/java/com/example/demo/DemoApplication.java
package com.example.demo;
...
// Add imports
import org.springframework.web.bind.annotation.*;
@SpringBootApplication
@RestController
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@GetMapping("/")
public String hello() {
return "hello world!";
}
}
7. Menjalankan aplikasi secara lokal
- Anda dapat memulai aplikasi Spring Boot dengan plugin Spring Boot:
$ ./mvnw -DskipTests spring-boot:run
- Setelah aplikasi dimulai, klik Pratinjau Web
di toolbar Cloud Shell dan pilih Pratinjau di port 8080.
Tab di browser Anda akan terbuka dan terhubung ke server yang Anda mulai.
8. Men-deploy aplikasi ke App Engine
- Pertama, lakukan inisialisasi project agar dapat menjalankan aplikasi App Engine. Selain itu, lakukan inisialisasi pada project untuk dijalankan di region tengah AS.
$ gcloud app create --region us-central You are creating an app for project [...]. WARNING: Creating an App Engine application for a project is irreversible and the region cannot be changed. More information about regions is at https://cloud.google.com/appengine/docs/locations
- Kemudian, deploy aplikasi Anda ke lingkungan standar App Engine dengan menjalankan
mvn appengine:deploy
.
$ ./mvnw -DskipTests package appengine:deploy ... first time deploy may take a couple of minutes
- Setelah aplikasi di-deploy, Anda dapat membukanya dengan membuka http://<project-id>.appspot.com di browser web atau menggunakan perintah berikut di Cloud Shell:
$ gcloud app browse ... [It may print out the URL for your app]
9. Selamat
Anda telah mempelajari cara menulis aplikasi web App Engine pertama Anda.