【问题标题】:Jenkins job using Gradle can't find executable使用 Gradle 的 Jenkins 作业找不到可执行文件
【发布时间】:2015-05-18 03:08:23
【问题描述】:

我正在尝试建立一个 Jenkins 工作来构建下一个大型 Android 应用程序!我已经安装了 Android SDK,这部分似乎工作正常。我已经在 J​​enkins 上安装了 Gradle Plugin v1.24,现在我想我正试图弄清楚如何让 Gradle 真正工作。

第一次尝试是让 Jenkins 自动从 gradle.org 下载特定版本。我正在尝试提取 v2.2.1,因为这似乎是我的 Android 应用程序在本地构建的版本。当我这样做时,我在 Jenkins 工作中遇到了这个错误:

[Gradle] - Launching build.
Invalid tool ID 2.2.1
[Gradle] - [ERROR] Can't retrieve the Gradle executable.
Build step 'Invoke Gradle script' marked build as failure

我尝试了许多不同的版本,但无法正常工作。所以,接下来是告诉 Jenkins 从哪里下载 Gradle。我给了它这个位置:

https://services.gradle.org/distributions/gradle-2.2.1-bin.zip

我在构建时遇到不同的错误,但仍然不太确定该怎么做。

[Gradle] - Launching build.
[Journeyman-Android] $ gradle clean build
FATAL: command execution failed
java.io.IOException: Cannot run program "gradle" (in directory "/var/lib/jenkins/workspace/Journeyman-Android"): error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1047)
at hudson.Proc$LocalProc.<init>(Proc.java:244)
at hudson.Proc$LocalProc.<init>(Proc.java:216)
at hudson.Launcher$LocalLauncher.launch(Launcher.java:816)
at hudson.Launcher$ProcStarter.start(Launcher.java:382)
at hudson.Launcher$ProcStarter.join(Launcher.java:389)
at hudson.plugins.gradle.Gradle.performTask(Gradle.java:262)
at hudson.plugins.gradle.Gradle.perform(Gradle.java:116)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
at hudson.model.Build$BuildExecution.build(Build.java:205)
at hudson.model.Build$BuildExecution.doRun(Build.java:162)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:537)
at hudson.model.Run.execute(Run.java:1744)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:374)
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:186)
at java.lang.ProcessImpl.start(ProcessImpl.java:130)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1028)
... 16 more
Build step 'Invoke Gradle script' changed build result to FAILURE

我试图看看我能用 Jenkins CLI 做什么,但这对我来说也失败了。我们使用 Jenkins 成功构建/部署了其他几个项目,因此这是一个有效的 Jenkins 安装。

有人对我可能需要做什么有任何指示或建议吗?

更新(仍然失败)

我可以手动构建我的应用程序,但导航到 jenkins 工作区中我的项目的根目录并执行

./gradlew assemble

【问题讨论】:

    标签: android jenkins gradle


    【解决方案1】:

    终于明白了。我需要更新我的 jenkins 工作以使用 Gradle wrapper 而不是特定的 Gradle 版本。一旦我这样做了,我还有一些错误需要筛选,但它们都非常有用,并为我提供了解决它们所需的信息。

    【讨论】:

      【解决方案2】:

      我下载了 Gradle。 提取到某个地方。

      在 Jenins > 管理 Jenkins > Gradle

      取消选中自动安装。

      设置 gradle home 的路径,(例如:C:\Graddle\gradle-2.1)。

      问题已解决。

      【讨论】:

        【解决方案3】:

        对于在 linux 上运行的 Jenkins:

        1. 下载 gradle zip 文件

          cd /opt/

          wgethttps://services.gradle.org/distributions/gradle-2.10-all.zip

        2. 解压

          解压 gradle-2.10-all.zip

        3. 访问詹金斯网站

          Jenkins > 管理 Jenkins > 配置系统 > Gradle > Gradle 安装

          取消选中自动安装,将 2.10 设置为名称,将 /opt/gradle-2.10 设置为 GRADLE_HOME。

        4. 点击你的工作

          配置 > 构建 > 调用 Gradle 脚本

          选择Invoke Gradle,在Gradle Version下拉列表中选择2.10。

        【讨论】:

        • 如果你将gradle wrapper task添加到你的gradle构建文件中,它会减轻你手动下载的痛苦,包装任务会这样做relating post
        【解决方案4】:

        如果之前使用Invoke Gradle script 选项配置了构建并选择了特定的Gradle Version(例如2.4),他启动了构建但后来切换到Use Gradle Wrapper 选项而不将Gradle Version 值重置回@ 987654326@。詹金斯会发出

        [Gradle] - [错误] 无法检索 Gradle 可执行文件。

        这是 post 记录的詹金斯的错误。

        解决方法是将Gradle Version 重置为Default,然后再切换为Use Gradle Wrapper

        【讨论】:

          【解决方案5】:

          这将帮助您消除无效工具问题:

          管理 Jenkins -> 管理插件 -> 高级:单击页面底部/右侧的“立即检查”按钮。

          【讨论】:

            【解决方案6】:

            在旧版本的 Jenkins (v1.609) 上,我不得不删除“Gradle 构建脚本”步骤,然后重新创建它:-O

            【讨论】:

              猜你喜欢
              • 2017-01-28
              • 2017-07-06
              • 2013-10-30
              • 1970-01-01
              • 2018-11-24
              • 1970-01-01
              • 2017-01-19
              • 1970-01-01
              • 2012-11-25
              相关资源
              最近更新 更多