jenkins - Jenkins 上的Gradle怪异错误

标签 jenkins gradle continuous-integration

我正在尝试在Jenkins上部署我们的项目,但是每个组件都只是使用根目录中的settings.gradle文件,即使我为每个组件添加了单独的settings.gradle文件也是如此。
目前,我有这样的结构。

  • ROOT
  • 用户界面
  • 运送(在此文件夹中包含settings.gradle和build.gradle)
  • 订购
  • 质量
  • 评论


  • settings.gradle
  • build.gradle


  • 我在settings.gradle文件的根目录和船目录中都有include("ui:shipnotice")
    我有一个名为copy的任务,当我尝试在ship文件夹下调用此任务时,我需要使用../../graldew --no-daemon --info copy
    我得到以下Settings evaluated using settings file 'xxx/ui/shipnotice/settings.gradle.kts'.但是,在使用Jenkins部署之后,事情变得很奇怪。在Jenkins中,它继续使用根目录中的settings.gradle文件。
    Settings evaluated using settings file '/home/jenkins/workspace/xxx/settings.gradle.kts'.
    
    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Project directory '/home/jenkins/workspace/xxx/ui/shipnotice' is not part of the build defined by settings file '/home/jenkins/workspace/xxx/settings.gradle.kts'. If this is an unrelated build, it must have its own settings file.
    
    我试图添加rootProject.name = "shipnotice" include("ui:shipnotice")以使shipnotice成为根项目,但是它仍然使用来自根的文件。
    任何人都可以给我一些有关此错误的想法吗?提前致谢!

    最佳答案

    我建议您摆脱嵌套的settings.gradle。这是not a recommended setup
    Jenkins构建中最有可能发生的事情是,执行Gradle命令的文件夹是结帐的根文件夹。因此,从该根目录中提取了settings.gradle

    关于jenkins - Jenkins 上的Gradle怪异错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64022742/

    相关文章:

    jenkins - 没有使用Jenkins和Artifactory Release发布POM

    bash - 如何在 bash 中访问名称中有空格的环境变量?

    java - gradle checkstyle 只是输出温暖,但构建成功

    Docker - 从主机连接到容器

    git - Jenkins的Gradle发布插件未推送发布版本

    phpunit - 排除 pdepend、phpmd、phpcpd、phpcs、phpdoc、phploc 中的某些目录和文件

    gradle - 如何与buildSrc和子项目之一共享某些类?

    gradle - Gradle永远挂起,但sudo gradle可以工作

    go - Golang 的 Codeclimate 测试覆盖格式化程序

    javascript - 为什么我的 jasmine 具有指定的 browserVersion 没有失败?