当前位置: 首页 > 知识库问答 >
问题:

Jenkins Gradle构建与包装,使用工匠插件

咸臻
2023-03-14

有办法吗?。想出版格拉德尔。人工制造的罐子。我能够在jenkins中使用安装的maven版本进行maven构建,并成功地发布了artifactory中的war,但现在开发人员希望使用gradle包装器而不是maven进行gradle构建。使用这段代码,普通的Gradle构建工作得很好。

stage('Clean Build') { 
        
                
        withGradle { // using gradle wrapper
            
            
            sh './gradlew clean build'
      }
}

但是,当我试图用Artifactory插件实现这一点时,我却做不到。我越来越明白了。

    [Pipeline] ArtifactoryGradleBuild
[api-build] $ /var/lib/jenkins/workspace/api-build/gradlew --init-script /var/lib/jenkins/workspace/api-build@tmp/artifactory/init-artifactory11329321758849387716gradle clean artifactoryPublish -b ./build.gradle
Starting a Gradle Daemon (subsequent builds will be faster)
FAILURE: Build failed with an exception.

* What went wrong:
Failed to create Jar file /var/lib/jenkins/.gradle/caches/jars-8/8535adf040d7c5fdb7fd6bc28bb0ef3f/ok.
> Prefix string "ok" too short: length must be at least 3

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 8s

这是管道代码:

node {
    def server  = Artifactory.server 'artifactory'
    def rtGradle = Artifactory.newGradleBuild()
    def buildInfo
    


    jdk = tool name: 'JDK11'
    //jdk = tool name: 'Java 8'
    env.JAVA_HOME = "${jdk}"
    
     stage('Get Code from Bitbucket') { 
        
                git branch: "${branch}", 
                credentialsId: 'jenkins',
                url: 'ssh://git@bitbucket.org/project1/api1'
                
        sh "chmod 755 gradlew"      
    }
    
    stage('Artifactory Configuration') {
       
        // Set Artifactory repositories for dependencies resolution and artifacts deployment.
        rtGradle.deployer server: server, repo: 'myrepo'
        rtGradle.useWrapper = true
        
                
    }

     stage('Gradle build') {

     withGradle {   

       
 buildInfo = rtGradle.run rootDir: ".", buildFile: 'build.gradle', tasks: 'clean artifactoryPublish'

     }
    
    }


stage('Publish build info') {
       
       server.publishBuildInfo buildInfo
    }
    

}

有人能做到吗?提前谢谢你。

共有1个答案

狄卓君
2023-03-14

这个问题与这个问题是重复的,还有一个PR修复程序,它描述了错误的根本原因。作为临时解决方案,请使用Gradle V6。5.1或以下。

 类似资料:
  • 错误/src/Loader。vue模块分析失败:C:\test\vuePlugin\src\Loader。vue意外标记(1:0)您可能需要适当的加载程序来处理此文件类型。SyntaxError:语法分析器处出现意外标记(1:0)。pp$4。在解析器中提升(C:\Users\shubham-sharma2\AppData\Roaming\npm\node\u modules\webpack\nod

  • 我是Laravel的新手,正在尝试加载公共目录中的css。页面加载没有问题,但是CSS在firebug中给了我一个404错误: 我在刀片模板中写了这个: 哪些产出: 这似乎是正确的。 该网站使用php artisan Service运行。有什么建议吗?谢谢

  • Spring Boot为Maven和Gradle提供构建工具插件。 这些插件提供了各种功能,包括可执行jar的包装。 本节提供了有关这两个插件的更多详细信息,以及在需要扩展不受支持的构建系统时的一些帮助。

  • 问题内容: 是否有任何Gradle教程或插件显示如何借助Gradle构建来构建/分发Eclipse插件? Somethig类似于Maven的Tycho项目:http ://eclipse.org/tycho/ ? 问题答案: 我不知道是否存在与Tycho相当的插件。请参阅此Gradle论坛条目以获取相关讨论。

  • 我希望能够在 B 的任何文件中执行:。A 和 B 是两个不同的项目/包,它们是本地的。 如何构建、安装和升级A,以便B能够调用A模块?如何使用执行此操作?而使用?

  • 当尝试使用artisan迁移数据库中带有表“user”的Laravel 4时: 我收到此错误: C: \xampp\htdocs\laravel [21.04.2014 02:27:56通知]目前不允许事件报告。Reaso ns:启动前或关闭后{"错误":{"类型":"Symfony\Component\HttpKernel\Exception\NotFoundHttpExcepti on","消