将 App Engine Maven 插件添加到项目后,您可以使用以下 App Engine 特定的 Maven 目标:
目标 | 说明 |
---|---|
appengine:deploy |
暂存应用并将其部署到 App Engine。 |
appengine:deployCron |
将 cron.yaml 配置文件部署到 App Engine。 |
appengine:deployDispatch |
将 dispatch.yaml 配置文件部署到 App Engine。 |
appengine:deployDos |
将 dos.yaml 配置文件部署到 App Engine。 |
appengine:deployIndex |
将 index.yaml 配置文件部署到 App Engine。 |
appengine:deployQueue |
将 queue.yaml 配置文件部署到 App Engine。 |
appengine:help |
显示 App Engine Maven 插件的帮助信息。 |
appengine:stage |
生成用于部署的应用构建目录。 |
如需详细了解如何设置和使用 Maven,请参阅使用 Maven。
使用参数
每个目标都包含您可以在 pom.xml
中指定的相关参数。例如:
<plugins>
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>2.2.0</version>
<configuration>
<deploy.stopPreviousVersion>true</deploy.stopPreviousVersion>
<cloudSdkPath>/usr/foo/path/to/cloudsdk</cloudSdkPath>
</configuration>
</plugin>
</plugins>
您还可以按照 -D[USER_PROPERTY]=[PARAMETER_VALUE]
模式在命令行中定义配置参数。
例如,要指定用于暂存应用的目录,请运行以下命令:
mvn appengine:stage -Dapp.stage.stagingDirectory=[YOUR_STAGING_DIRECTORY]
如需了解每个目标可用的参数列表,请参阅以下部分。
appengine:deploy
暂存应用并将其部署到 App Engine。
您可以使用以下参数,其中一些参数对应于 gcloud app deploy
命令行标志或 gcloud app services
命令行标志:
参数 | 说明 | 用户属性 |
---|---|---|
appEngineDirectory |
包含 app.yaml 和其他受支持的 App Engine 配置文件的目录。默认值为 ${basedir}/src/main/appengine 。 |
app.stage.appEngineDirectory |
artifact |
要部署的 JAR 或 WAR 归档的位置。默认值为 ${project.build.directory}/${project.build.finalName}.${project.packaging} 。 |
app.stage.artifact |
bucket |
用于暂存与部署关联的文件的 Cloud Storage 存储分区。如果未指定此参数,将使用应用的默认存储分区。 | app.deploy.bucket |
cloudSdkPath |
用于配置 Cloud SDK 位置的可选参数。默认值为从 PATH 或标准安装位置自动发现。 | cloudSdkPath |
deployables |
要部署的服务或配置的 YAML 文件。默认为暂存目录中的 app.yaml 文件。
如果找不到此文件,则尝试在暂存目录中自动生成必要的配置文件(例如 app.yaml )。 |
app.deploy.deployables |
dockerDirectory |
包含 Dockerfile 和其他 Docker 资源的目录。默认值为 ${basedir}/src/main/docker/ 。 |
app.stage.dockerDirectory |
imageUrl |
使用特定的 Docker 映像进行部署。ImageUrl 必须是有效的 Container Registry 名称,例如 gcr.io/foo ,其中 foo 是映像的名称。 |
app.deploy.imageUrl |
projectId |
用于此调用的 Google Cloud 项目名称。默认值是初始化 gcloud 时选择的当前项目。 | app.deploy.projectId |
promote |
提升已部署的版本以接收所有流量。默认值为 True 。 |
app.deploy.promote |
server |
要连接的 App Engine 服务器。通常,您无需更改此值。 | app.deploy.server |
stagingDirectory |
必需。要暂存应用的目录。默认值为 ${project.build.directory}/appengine-staging 。 |
app.stage.stagingDirectory |
stopPreviousVersion |
在部署接收所有流量的新版本时,停止以前运行的版本。 | app.deploy.stopPreviousVersion |
version |
将由此部署创建或替换的应用版本。如果您未指定版本,系统会为您生成一个版本。 | app.deploy.version |
appengine:help
显示 App Engine Maven 插件的帮助信息。要显示参数详细信息,请调用以下命令:
mvn appengine:help -Ddetail=true -Dgoal=[GOAL_NAME]
您可以使用以下参数:
参数 | 说明 | 用户属性 |
---|---|---|
detail |
如果为 true,则显示每个目标的所有可设置属性。默认值为 False 。 |
detail |
goal |
要显示其帮助信息的目标的名称。如果未指定,将显示所有目标。 | goal |
indentSize |
每个缩进级别的空格数。应为正数。默认值为 2 。 |
indentSize |
lineLength |
显示行的长度上限。应为正数。默认值为 80 。 |
lineLength |
appengine:stage
生成用于部署的应用构建目录。
您可以使用以下参数:
参数 | 说明 | 用户属性 |
---|---|---|
appEngineDirectory |
包含 app.yaml 和其他受支持的 App Engine 配置文件的目录。默认值为 ${basedir}/src/main/appengine 。 |
app.stage.appEngineDirectory |
artifact |
要部署的 JAR 或 WAR 归档的位置。默认值为 ${project.build.directory}/${project.build.finalName}.${project.packaging} 。 |
app.stage.artifact |
cloudSdkPath |
用于配置 Cloud SDK 位置的可选参数。 | cloudSdkPath |
dockerDirectory |
包含 Dockerfile 和其他 Docker 资源的目录。默认值为 ${basedir}/src/main/docker/ ${basedir}/src/main/docker/ 。 |
app.stage.dockerDirectory |
stagingDirectory |
必需。要暂存应用的目录。默认值为 ${project.build.directory}/appengine-staging 。 |
app.stage.stagingDirectory |