【发布时间】:2020-11-09 09:28:43
【问题描述】:
我正在通过 Github 操作部署我的 Spring Boot 应用程序。在那里,我有一个管道,它使用 gcloud 执行应用程序部署,以将我的应用程序部署到 Google App Engine Standard。我已经创建了配置文件,我想在运行时将其注入 Spring Boot 应用程序
简而言之:如何使用 gcloud 部署应用引擎标准 java 11 应用程序并支持 spring 配置文件
部署命令
app deploy src/main/appengine/app-dev.yaml --version=1
配置文件定义
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<ACTIVE_PROFILE>dev</ACTIVE_PROFILE>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<ACTIVE_PROFILE>prod</ACTIVE_PROFILE>
</properties>
</profile>
</profiles>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<profiles>
<profile>${ACTIVE_PROFILE}</profile>
</profiles>
</configuration>
</plugin>
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>2.3.0</version>
<configuration>
<projectId>${gcloud-projectId}</projectId>
<version>1</version>
</configuration>
</plugin>
</plugins>
</build>
app-dev.yaml 文件
runtime: java11
env: standard
instance_class: B4_1G
handlers:
- url: .*
script: auto
secure: always
redirect_http_response_code: 301
basic_scaling:
max_instances: 5
idle_timeout: 60m
env_variables:
ACTIVE_PROFILE: dev
Application.yaml 文件
spring:
profiles:
active: @ACTIVE_PROFILE@
【问题讨论】:
标签: spring-boot google-app-engine gcloud github-actions spring-profiles