درباره این codelab
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
کاری که خواهی کرد
- نحوه ایجاد یک برنامه Java Boot Spring در App Engine
آنچه شما نیاز دارید
- یک پروژه Google Cloud
- یک مرورگر، مانند گوگل کروم
2. راه اندازی و الزامات
تنظیم محیط خود به خود
- به کنسول Cloud وارد شوید و یک پروژه جدید ایجاد کنید یا از پروژه موجود استفاده مجدد کنید. (اگر قبلاً یک حساب Gmail یا G Suite ندارید، باید یک حساب ایجاد کنید .)
شناسه پروژه را به خاطر بسپارید، یک نام منحصر به فرد در تمام پروژه های Google Cloud (نام بالا قبلاً گرفته شده است و برای شما کار نخواهد کرد، متأسفیم!). بعداً در این آزمایشگاه کد به عنوان PROJECT_ID
خواهد شد.
- در مرحله بعد، برای استفاده از منابع Google Cloud، باید صورتحساب را در کنسول Cloud فعال کنید.
گذراندن از طریق این نرم افزار کد نباید بیش از چند دلار هزینه داشته باشد، اما اگر تصمیم به استفاده از منابع بیشتری داشته باشید یا آنها را در حال اجرا رها کنید، ممکن است بیشتر باشد.
کاربران جدید Google Cloud واجد شرایط استفاده آزمایشی رایگان 300 دلاری هستند.
پوسته ابری
شما از Cloud Shell ، یک محیط خط فرمان که در Google Cloud اجرا می شود، استفاده خواهید کرد.
Cloud Shell را فعال کنید
- از Cloud Console، روی Activate Cloud Shell کلیک کنید
.
اگر قبلاً Cloud Shell را راهاندازی نکردهاید، با یک صفحه میانی (در زیر تاشو) روبرو میشوید که آن را توصیف میکند. اگر اینطور است، روی Continue کلیک کنید (و دیگر آن را نخواهید دید). این صفحه نمایش یکبار مصرف به این صورت است:
تهیه و اتصال به Cloud Shell فقط باید چند لحظه طول بکشد.
این ماشین مجازی با تمام ابزارهای توسعه که شما نیاز دارید بارگذاری شده است. این یک فهرست اصلی 5 گیگابایتی دائمی ارائه میکند و در Google Cloud اجرا میشود، و عملکرد شبکه و احراز هویت را بسیار افزایش میدهد. بسیاری از کارهای شما، اگر نه همه، در این لبه کد را می توان به سادگی با یک مرورگر یا Chromebook انجام داد.
پس از اتصال به 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`
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=2.1.8.RELEASE \ -d dependencies=web \ -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.1.0</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: java11
instance_class: F4
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
@RestController
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@GetMapping("/")
public String hello() {
return "hello world!";
}
}
7. برنامه را به صورت محلی اجرا کنید
- می توانید برنامه 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]