1. قبل از شروع
ایجاد برنامههای App Engine آسان است، نگهداری آنها آسان است و با تغییر نیازهای ترافیک و ذخیرهسازی دادههای شما، به راحتی قابل مقیاسبندی هستند. با App Engine، هیچ سروری برای نگهداری وجود ندارد. شما به سادگی برنامه خود را آپلود می کنید و آماده کار است.
برنامه های App Engine به طور خودکار بر اساس ترافیک ورودی مقیاس می شوند. متعادلسازی بار، میکروسرویسها، مجوز، پایگاههای داده SQL و NoSQL، ذخیرهسازی حافظه، تقسیم ترافیک، گزارشگیری، جستجو، نسخهسازی، عرضهها و بازگردانیها، و اسکن امنیتی همگی به صورت بومی پشتیبانی میشوند و بسیار قابل تنظیم هستند.
محیط استاندارد App Engine و محیط انعطاف پذیر App Engine از تعداد زیادی از زبان های برنامه نویسی از جمله Java، Python، PHP، NodeJS و Go پشتیبانی می کند. این دو محیط حداکثر انعطاف پذیری را در مورد نحوه عملکرد برنامه به توسعه دهندگان می دهد. هر محیطی دارای نقاط قوت خاصی است. برای اطلاعات بیشتر، به انتخاب محیط App Engine مراجعه کنید.
شما یاد خواهید گرفت که یک برنامه Spring Boot را در محیط استاندارد App Engine اجرا کنید. محیط استاندارد در مواردی که کسی از آن استفاده نمی کند به صفر می رسد و به طور خودکار مقیاس می شود!
پیش نیازها
- آشنایی با زبان و ابزارهای برنامه نویسی جاوا
- آشنایی با ویرایشگرهای متن استاندارد لینوکس مانند Vim، Emacs و nano
کاری که خواهی کرد
- نحوه ایجاد برنامه Spring Boot Java در App Engine
آنچه شما نیاز دارید
- یک پروژه Google Cloud
- یک مرورگر، مانند گوگل کروم
2. راه اندازی و الزامات
تنظیم محیط خود به خود
- به Google Cloud Console وارد شوید و یک پروژه جدید ایجاد کنید یا از یک موجود استفاده مجدد کنید. اگر قبلاً یک حساب Gmail یا Google Workspace ندارید، باید یک حساب ایجاد کنید .
- نام پروژه نام نمایشی برای شرکت کنندگان این پروژه است. این یک رشته کاراکتری است که توسط API های Google استفاده نمی شود. همیشه می توانید آن را به روز کنید.
- شناسه پروژه در تمام پروژههای Google Cloud منحصربهفرد است و تغییرناپذیر است (پس از تنظیم نمیتوان آن را تغییر داد). Cloud Console به طور خودکار یک رشته منحصر به فرد تولید می کند. معمولاً برای شما مهم نیست که چیست. در اکثر کدها، باید شناسه پروژه خود را ارجاع دهید (معمولاً با نام
PROJECT_ID
شناخته می شود). اگر شناسه تولید شده را دوست ندارید، ممکن است یک شناسه تصادفی دیگر ایجاد کنید. از طرف دیگر، میتوانید خودتان را امتحان کنید، و ببینید آیا در دسترس است یا خیر. پس از این مرحله نمی توان آن را تغییر داد و در طول مدت پروژه باقی می ماند. - برای اطلاع شما، یک مقدار سوم وجود دارد، یک شماره پروژه ، که برخی از API ها از آن استفاده می کنند. در مورد هر سه این مقادیر در مستندات بیشتر بیاموزید.
- در مرحله بعد، برای استفاده از منابع Cloud/APIها باید صورتحساب را در کنسول Cloud فعال کنید . اجرا کردن از طریق این کد لبه هزینه زیادی نخواهد داشت. برای خاموش کردن منابع برای جلوگیری از تحمیل صورتحساب فراتر از این آموزش، میتوانید منابعی را که ایجاد کردهاید حذف کنید یا پروژه را حذف کنید. کاربران جدید Google Cloud واجد شرایط برنامه آزمایشی رایگان 300 دلاری هستند.
پوسته ابری
شما از Cloud Shell ، یک محیط خط فرمان که در Google Cloud اجرا می شود، استفاده خواهید کرد.
Cloud Shell را فعال کنید
- از Cloud Console، روی Activate Cloud Shell کلیک کنید .
اگر این اولین باری است که Cloud Shell را راه اندازی می کنید، با یک صفحه میانی روبرو می شوید که آن را توصیف می کند. اگر با یک صفحه میانی مواجه شدید، روی Continue کلیک کنید.
تهیه و اتصال به Cloud Shell فقط باید چند لحظه طول بکشد.
این ماشین مجازی با تمام ابزارهای توسعه مورد نیاز بارگذاری شده است. این یک فهرست اصلی 5 گیگابایتی دائمی ارائه میکند و در Google Cloud اجرا میشود، که عملکرد و احراز هویت شبکه را بسیار افزایش میدهد. بسیاری از کارهای شما، اگر نه همه، در این کد لبه با مرورگر قابل انجام است.
پس از اتصال به Cloud Shell، باید ببینید که احراز هویت شده اید و پروژه به ID پروژه شما تنظیم شده است.
- برای تایید احراز هویت، دستور زیر را در Cloud Shell اجرا کنید:
gcloud auth list
خروجی فرمان
Credentialed Accounts ACTIVE ACCOUNT * <my_account>@<my_domain.com> To set the active account, run: $ gcloud config set account `ACCOUNT`
- دستور زیر را در Cloud Shell اجرا کنید تا تأیید کنید که دستور gcloud از پروژه شما اطلاع دارد:
gcloud config list project
خروجی فرمان
[core] project = <PROJECT_ID>
اگر اینطور نیست، می توانید آن را با این دستور تنظیم کنید:
gcloud config set project <PROJECT_ID>
خروجی فرمان
Updated property [core/project].
3. یک برنامه وب Spring Boot جدید ایجاد کنید
پس از راه اندازی Cloud Shell، می توانید از خط فرمان برای ایجاد یک برنامه Spring Boot جدید با Spring Initializr استفاده کنید.
$ curl https://start.spring.io/starter.tgz \ -d bootVersion=3.0.5 \ -d dependencies=web \ -d type=maven-project \ -d baseDir=gae-standard-example | tar -xzvf - $ cd gae-standard-example
4. Maven pom.xml را به روز کنید
دو راه برای استقرار یک برنامه سرور جاوا وجود دارد - یا با استفاده از Maven App Engine Plugin یا Gradle App Engine Plugin یا با استقرار فهرست بسته war
. برای اجرای برنامه از افزونه Maven App Engine استفاده خواهید کرد.
افزونه Maven App Engine را اضافه کنید
pom.xml
بهروزرسانی کنید تا افزونه Google Cloud را اضافه کنید که فرآیند استقرار را ساده میکند. برای ویرایش فایل می توانید از Vim، nano یا Emacs استفاده کنید.
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.4.4</version>
<configuration>
<version>1</version>
<projectId>GCLOUD_CONFIG</projectId>
</configuration>
</plugin>
...
</plugins>
</build>
</project>
5. توصیفگر App Engine را اضافه کنید
- برای استقرار برنامه در محیط استاندارد App Engine، باید یک فایل توصیفی جدید
src/main/appengine/app.yaml
ایجاد کنید.
$ mkdir -p src/main/appengine/ $ touch src/main/appengine/app.yaml
- فایل
src/main/appengine/app.yaml
را ویرایش کنید و محتوای زیر را اضافه کنید:
src/main/appengine/app.yaml
runtime: java17
instance_class: F1
6. یک کنترلر اضافه کنید
یک کنترلر جدید اضافه کنید که "hello world!"
در DemoApplication.java
.
src/main/java/com/example/demo/DemoApplication.java
package com.example.demo;
...
// Add imports
import org.springframework.web.bind.annotation.*;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
// Add the controller.
@RestController
class HelloWorldController {
@GetMapping("/")
public String hello() {
return "hello world!";
}
}
7. برنامه را به صورت محلی اجرا کنید
- مطمئن شوید که JAVA_HOME روی نسخه JDK صحیح تنظیم شده است:
$ export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/
- می توانید برنامه Spring Boot را با افزونه Spring Boot راه اندازی کنید:
$ ./mvnw -DskipTests spring-boot:run
- پس از شروع برنامه، روی Web Preview کلیک کنید در نوار ابزار Cloud Shell و Preview در پورت 8080 را انتخاب کنید.
یک برگه در مرورگر شما باز می شود و به سروری که راه اندازی کرده اید متصل می شود.
8. برنامه را در App Engine قرار دهید
- ابتدا پروژه را مقداردهی اولیه کنید تا بتوانید برنامه های App Engine را اجرا کنید. همچنین، پروژه را برای اجرا در منطقه مرکزی ایالات متحده راه اندازی کنید.
$ 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
- سپس، برنامه خود را با اجرای
mvn appengine:deploy
در محیط استاندارد App Engine قرار دهید.
$ ./mvnw -DskipTests package appengine:deploy ... first time deploy may take a couple of minutes
- پس از استقرار برنامه، می توانید با باز کردن http://<project-id>.appspot.com در مرورگر وب خود از آن بازدید کنید یا از دستور زیر در Cloud Shell استفاده کنید:
$ gcloud app browse ... [It may print out the URL for your app]
9. پاکسازی
شما نمی توانید یک برنامه App Engine را حذف کنید اما می توانید آن را غیرفعال کنید.
به App Engine
و Settings
در Google Cloud Console بروید و Disable Application
انتخاب کنید:
یا می توانید کل پروژه را حذف کنید:
$ gcloud projects delete YOUR-PROJECT-ID
10. تبریک می گویم
شما یاد گرفتید که اولین برنامه وب موتور App خود را بنویسید!