GoogleAppEngineの無料枠でspring bootアプリをデプロイする

適当に作ったspring bootアプリをお試しレベルで安価で気軽にデプロイできる環境を探していたら、GoogleのPaaSである、Google App Engine(GAE)で無料で使えることに気がついたので使ってみた。

Google App Engineの無料枠

Fインスタンスなら無料で使えるらしい。

Java 11なら、メモリ256MB, CPU 600MHz。

Google Cloud の無料プログラム  |  Google Cloud Free Program

GAE(Google App Engine)でspring bootアプリをデプロイする(gradle)

GCPのコンソールで必要に応じてプロジェクトを作成しておく。(以下適当にprojectxとした)
gcloudのインストールなどが必要。ここでは割愛。

下記を参考にさせていただきました。

Google App Engine (Java 11) + Spring Boot + Gradle で Hello World - Qiita
概要Google App Engine Java 11 スタンダード環境 + Spring Boot の構成でシンプルな Hello World 表示 Web アプリケーションを作るGoogle…

build.gradleについて、下記コメント部分を追加。

// Google App Engine plugin設定
buildscript {
	repositories {
		mavenCentral()
	}
	dependencies {
		classpath 'org.springframework.boot:spring-boot-gradle-plugin:2.2.0.RELEASE'
		classpath 'com.google.cloud.tools:appengine-gradle-plugin:2.2.0'
	}
}

plugins {
	id 'org.springframework.boot' version '2.5.3'
	id 'io.spring.dependency-management' version '1.0.11.RELEASE'
	id 'java'

}

// Google App Engine plugin設定
apply plugin: 'com.google.cloud.tools.appengine'

group = 'net.uoneweb'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

configurations {
	compileOnly {
		extendsFrom annotationProcessor
	}
}

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	implementation 'com.google.appengine:appengine-api-1.0-sdk:+'  // Google App Engine plugin設定
	compileOnly 'org.projectlombok:lombok'
	annotationProcessor 'org.projectlombok:lombok'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

test {
	useJUnitPlatform()
}

// Google App Engine plugin設定
appengine {
	deploy {
		projectId = 'projectx'
		version = 'GCLOUD_CONFIG'
	}
}

app.yamlを作成。
googleのドキュメントではsrc/main/appengine/に置くようになっているが、github-actionsの後述の方法でデプロイするなら、プロジェクトルートに置くのが無難そうである。

runtime: java11

instance_class: F1

コマンドラインから実行してみる。
まず、カレントプロジェクトを設定。

gcloud config set project projectx

プロジェクトルートで下記を実行。

gcloud app deploy

基本的にはこれだけでデプロイできてしまう。思っていたより簡単。

参考

コメント

  1. […] GoogleAppEngineの無料枠でspring bootアプリをデプロイする適当に作ったspring boot… […]

タイトルとURLをコピーしました