jenkins - 如何在Jenkins工作区中收集所有Gradle依赖项

标签 jenkins gradle

git中有一个gradle项目,还有一个Jenkins工作。应该做什么:

  • git中的工作 checkout 项目代码。
  • 作业开始gradle构建:sh "cd ${workspace}/${projectName}; ${workspace}/${projectName}/gradlew
  • 之后,我希望所有项目依赖项都可以在Jenkins工作区${workspace}/${projectName}的单独目录中找到。假设${workspace}/${projectName}/dependecies

  • 当然,没有办法编辑项目gradle.build文件。
    可以用gradlew命令标志解决吗?还是应该添加一些初始化脚本:${workspace}/${projectName}/gradlew --init-script /opt/myScript。如果是这样,它应该包含什么?

    最佳答案

    关键是将Jenkins工作区设置为gradle.home。它通过使用--gradle-user-home标志来解决。
    最终的解决方案:

    sh "rm -rf ${workspace}/${projectName}/caches"
    sh "cd ${workspace}/${projectName}"
    sh "chmod +x  ${workspace}/${projectName}/gradlew"
    sh "${workspace}/${projectName}/gradlew build --gradle-user-home ${workspace}/${projectName}"
    sh "zip -r -j ${workspace}/dependencies.zip ${workspace}/${projectName}/caches/modules-2/files-2.1"
    
    现在,所有依赖项都存储在caches/modules-2/files-2.1目录中。为了我的需要,我将其压缩为单独的dependency.zip文件。

    关于jenkins - 如何在Jenkins工作区中收集所有Gradle依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64332830/

    相关文章:

    c++ - VS2015 的多处理器编译在运行 cl.exe 时产生 "not enough quota is available to process this command"

    java - 将支持库添加到 android studio 项目

    android - org.xml.sax.SAXParseException android studio gradle错误

    java - 使用依赖信息创建 jar

    gradle - gradle中依赖和依赖之间的区别

    gradle - gradle是否在版本中支持逗号以指定多个范围?

    maven - "Invoke Maven 3"与 "Invoke top-level Maven targets"

    linux - 如何让 Selenium 在 GCP 中与 Jenkins2 一起工作

    amazon-web-services - jenkins 在 AWS 中从 80 重定向到 443

    jenkins - Groovy 将 String 转换为 Long