script.sh:第 1 行:./gradlew:Jenkins 上没有这样的文件或目录

Posted

技术标签:

【中文标题】script.sh:第 1 行:./gradlew:Jenkins 上没有这样的文件或目录【英文标题】:script.sh: line 1: ./gradlew: No such file or directory on Jenkins 【发布时间】:2020-05-24 13:01:57 【问题描述】:

这是我收到的错误消息

./gradlew clean assembleRelease /Users/bhanukaisuru/.jenkins/workspace/OrelGo@tmp/durable-b74adbad/script.sh: 第 1 行:./gradlew: 没有这样的文件或目录管道脚本

流水线脚本

stage('Build Release APK') 
             sh "./gradlew clean assembleRelease"
         

【问题讨论】:

【参考方案1】:

如果要在其根级别执行命令,则无需使用命令shbat 指定 Jenkins 工作区。

sh 'mkdir test' 会在<jenkins_workspace>/test 中创建一个文件夹。

如果gradlew 位于 Jenkins 工作区的根目录,则以下内容就足够了:

sh "gradlew clean assembleRelease"

否则完整路径也可以。

【讨论】:

不工作...````/Users/don/.jenkins/workspace/demo@tmp/durable-e05b533d/script.sh:第1行:gradlew:找不到命令``` “gradlew”在哪里?当然你必须在它的目录中。 这个项目是flutter项目,不是原生android。 Jenkins 项目位置没有 gradlew 文件。 如果它不在 Jenkins 工作区中,这将不起作用。【参考方案2】:

您应该 CD 到您的 gradlew 二进制文件夹所在的位置,或者使用 gradlew 的完整路径。因为您运行的命令是在 epemeral 目录中执行的,而不是在 jenkins 家中。你可以使用 $JENKINS_HOME 来使用你的 jenkins home 的路径

【讨论】:

以上是关于script.sh:第 1 行:./gradlew:Jenkins 上没有这样的文件或目录的主要内容,如果未能解决你的问题,请参考以下文章

R8 从 AndroidStudio 中抛出 NullPointerException,但不是从命令行通过 gradlew

gradlew.bat 失败,退出代码为 1

gradlew:权限被拒绝

Android Gradle 插件自定义 Gradle 任务 ② ( 在 Terminal 面板中执行 gradlew task 命令显示所有任务 | 命令行输出所有任务 | 单独执行指定任务 )

Android Gradle 插件自定义 Gradle 任务 ② ( 在 Terminal 面板中执行 gradlew task 命令显示所有任务 | 命令行输出所有任务 | 单独执行指定任务 )

gradlew compileDebug --stacktrace -info