mvn appengine:deploy 的多值参数
Multivalued parameter for mvn appengine:deploy
我正在尝试执行一个 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 中用一条命令完成此操作?
-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]
我正在尝试执行一个 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 中用一条命令完成此操作?
-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]