“在常规位置找不到Google Cloud SDK,并且未提供任何路径。” 詹金斯

Mar*_*sef 2 sdk google-app-engine gradle jenkins

我对詹金斯(Jenkins)陌生,但是现在已经寻找了答案。我在localhost:8080上运行jenkins。我已经用Java编写了一个程序,该程序使用gradle部署到Google App Engine云。现在,我想使用Jenkins在GIT中构建程序。用gradle构建程序很好。当我跑步

./gradlew appengineDeploy

在Execute Shell中,我得到以下信息:

失败:构建失败,发生异常。

  • 什么地方出了错:

任务':appengineDeploy'的执行失败。

在常规位置找不到Google Cloud SDK,并且未提供任何路径。

  • 尝试:

使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。

建立失败

总时间:9.571秒

构建步骤“ Execute shell”将构建标记为失败完成:FAILURE

当我在没有Jenkins的情况下在本地运行代码时,可以在以下位置找到Google Cloud SDk:

/ Users / marioyoussef / Desktop / google-cloud-sdk

它工作完美,但是我不知道如何在执行./gradlew appengineDeploy时将其加载到jenkins。

ser*_*inc 8

在模块中添加以下内容build.gradle可能会有所帮助:

appengine.tools.cloudSdkHome="/Users/marioyoussef/Desktop/google-cloud-sdk"
Run Code Online (Sandbox Code Playgroud)

请参阅https://cloud.google.com/appengine/docs/flexible/java/gradle-reference#global_properties

可选属性,用于配置Google Cloud SDK的位置。通常,在与gcloud组件install app-engine-java一起安装时,插件会在Cloud SDK中找到该插件。


小智 5

有两种方法可以解决这个问题。

  1. 为 Google Cloud SDK 添加符号链接/快捷方式 IDE 中的云插件会在一些自定义位置搜索 SDK,例如$HOME/google-cloud-sdk. 因此,您可以在此目录中添加符号链接并将其指向实际安装位​​置。在您的情况下,/Users/marioyoussef命名的快捷方式google-cloud-sdk并将其指向/Users/marioyoussef/Desktop/google-cloud-sdk

  2. build.gradle 中添加一个 cloudSdkHome 属性,但是如果您与其他人共享它,这可能会很麻烦,因为它可能位于不同的位置。为此,您可以在 README 中提及它以供其他人更改它。只需在应用程序的 build.gradle 中添加这一行 appengine.tools.cloudSdkHome="/Users/marioyoussef/Desktop/google-cloud-sdk"

来源:GitHub 问题