gpt4 book ai didi

google-app-engine - Gradle:通过测试配置部署到Appengine的任务?

转载 作者:行者123 更新时间:2023-12-03 03:46:49 26 4
gpt4 key购买 nike

我有一个非常简单的Google App Engine配置的gradle项目:

apply plugin: 'com.google.cloud.tools.appengine'

// ...

appengine {
deploy {
stopPreviousVersion = true
promote = true
project = 'my-awesome-project'
}
run {
port = 3000
}
}

这样可以配置应用程序引擎gradle任务,例如 appengineDeploy

我想做的是创建另一个名为 appengineDeployTesting的gradle任务,该任务与 appengineDeploy的功能完全相同,只是它使用了不同的 project名称(例如 my-awesome-project-testing)。

最终,我要完成两个任务:
  • appengineDeploy部署到生产实例
  • appengineDeployTesting部署到测试实例

  • 你会如何做到这一点?我知道如何创建任务依赖项,但是这种情况不仅需要依赖项。

    最佳答案

    第一选项

    好吧,如果您只想更改要部署的项目,则可以在appengine { ... }行之前的Gradle中进行简单的条件检查,例如:

    if (project.hasProperty('testProject')) {
    appengine.deploy.project = "my-awesome-project"
    }else{
    appengine.deploy.project = "main-project"
    }

    请记住,删除“appengine.deploy”字段内的标签“project”,以免覆盖项目名称,例如:
    appengine {
    deploy {
    stopPreviousVersion = true
    promote = true
    }
    }

    要将应用程序部署到测试项目中,只需添加标志:
    gradle appengineDeploy -PnewProject

    并部署到主项目,只需将其删除:
    gradle appengineDeploy

    您要问的是创建自己的插件以创建要部署到特定项目的特定命令,您可以通过 follow the official documentation了解如何执行此操作,但是我认为这种解决方案更简单。

    第二个选项

    为了避免使用标志,可以在 build.gradle结构之后的 appengine {...}文件中添加以下代码:
    task appengineDeployTesting {
    doLast{
    appengine.deploy.project = "my-awesome-project"
    }
    }

    appengineDeployTesting.finalizedBy appengineDeploy

    然后运行命令:
    gradle appengineDeployTesting

    首先将运行 appengineDeployTesting任务,完成后将设置新项目名称并运行 appengineDeploy任务进行部署。

    关于google-app-engine - Gradle:通过测试配置部署到Appengine的任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54074645/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com