1

我正在尝试执行一个 Maven 目标,该目标采用具有多个值的参数(值列表)。我怎样才能做到这一点?

gcloud这可以用gcloud app deploy --quiet --project $(PROJECT) -v $(VERSION) app.yaml backend.yaml cron.yaml index.yaml queue.yaml

但是我们使用的是 Maven。

我们尝试了

mvn appengine:deploy -Dapp.deploy.deployables=app.yaml cron.yml queue.yaml

但这不起作用。事实上,仅仅部署就需要五个命令。

mvn appengine:deploy 
mvn appengine:deployCron
mvn appengine:deployDispatch
mvn appengine:deployIndex 
mvn appengine:deployQueue 

这如何在 Maven 中的一个命令中完成?

4

1 回答 1

2

的值-Dapp.deploy.deployables应以逗号分隔。但是,在使用此标志时app.yaml需要指向暂存位置mvn appengine:stage,因此如果您想将其与其他配置文件一起部署,您可能需要预先暂存您的应用程序。

$ mvn appengine:stage
$ mvn appengine:deploy -Dapp.deploy.deployables=src/main/appengine/queue.yaml,target/appengine-staging/app.yaml

在最后一个命令的输出中,您会看到类似

INFO: submitting command: <...>/bin/gcloud app deploy <...>/src/main/appengine/queue.yaml <...>/target/appengine-staging/app.yaml
[INFO] GCLOUD: Services to deploy:
[INFO] GCLOUD: 
[INFO] GCLOUD: descriptor:      [<...>/target/appengine-staging/app.yaml]
[INFO] GCLOUD: source:          [<...>/target/appengine-staging]
[INFO] GCLOUD: target project:  [<...>]
[INFO] GCLOUD: target service:  [default]
[INFO] GCLOUD: target version:  [20170807t115019]
[INFO] GCLOUD: target url:      [https://<...>]
[INFO] GCLOUD: 
[INFO] GCLOUD: 
[INFO] GCLOUD: Configurations to update:
[INFO] GCLOUD: 
[INFO] GCLOUD: descriptor:      [<...>/src/main/appengine/queue.yaml]
[INFO] GCLOUD: type:            [task queues]
[INFO] GCLOUD: target project:  [<...>]
[INFO] GCLOUD: 
[INFO] GCLOUD: 
[INFO] GCLOUD: If this is your first deployment, this may take a while...
[INFO] GCLOUD: ....done.
[INFO] GCLOUD: 
[INFO] GCLOUD: Beginning deployment of service [default]...
[INFO] GCLOUD: Building and pushing image for service [default]
于 2017-08-07T15:55:22.403 回答