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

Jenkins Gradle文物:部署仅工作一次

通煜祺
2023-03-14

我正在使用Gradle和Jenkins,并希望将工件部署到ArtFactory。不幸的是,这个部署只工作一次,当我在Jenkins中开始构建时。

如果我删除Jenkins服务器上的工作区和~/. gradle文件夹,部署将再次工作。仅删除工作区是不够的。

对我来说好像是个虫子。我是否有任何未知版本冲突。还是我看不出有什么不同。谢谢你的帮助。

环境:

  • 詹金斯2.7.3
  • Gradle 3.1
  • Artifactory 4.13.0
  • Jenkins Artifactory插件2.7.2

Gradle构建脚本:(基于jfrog的示例)

buildscript {
  repositories {
    jcenter()
  }

  dependencies {
    classpath(group: 'org.jfrog.buildinfo', name: 'build-info-extractor-gradle', version: '4.4.5')
  }
}

allprojects {
  apply plugin: 'java'
  apply plugin: 'maven-publish'

  repositories {
    jcenter()
  }

  group = 'org.jfrog.example.gradle'
  version = '1.0.1-SNAPSHOT'
  status = 'integration'
}

artifactory {
  publish {
    defaults {
        publishConfigs('archives')
    }
  }
}

// Setting this property to true will make the artifactoryPublish task
// skip this module (in our case, the root module):
artifactoryPublish.skip = true

Jenkins Artifactory插件设置:

  • [x] Gradle人工集成
  • [x] 捕获并发布构建信息
  • [x] 将工件发布到Artifactory
  • [x] 发布专业描述符
  • [x] 使用Maven兼容的模式

Rest已停用(未设置)。

登录Jenkins(控制台输出),在第二次运行时使用更改的版本和更改的源代码:

Jenkins Artifactory Plugin version: 2.7.2
[Gradle] - Launching build.
[CdExampleArtifactory] $ cmd.exe /C '""C:\Program Files (x86)\Jenkins\tools\gradle-3.1\bin\gradle.bat"' --init-script c:/temp/init-artifactory8368571638486556211gradle artifactoryPublish && exit %%ERRORLEVEL%%"
:artifactoryPublish
:api:artifactoryPublish
:services:artifactoryPublish
:shared:artifactoryPublish
:services:webservice:artifactoryPublish

BUILD SUCCESSFUL

Total time: 2.422 secs
Build step 'Invoke Gradle script' changed build result to SUCCESS
Finished: SUCCESS

看起来任务没有启动构建(jar等)过程。

共有2个答案

施自珍
2023-03-14

我找到了解决问题的办法。

我必须停用jenkins服务器上的gradle deamon(通过gradle_OPTS)。

沈华晖
2023-03-14

使用最新的Gradle Artifactory插件版本4.4.7解决了与Gradle 3.1的兼容性问题。

Gradle构建片段:

buildscript {
  repositories {
    jcenter()
  }

  dependencies {
    classpath(group: 'org.jfrog.buildinfo', name: 'build-info-extractor-gradle', version: '4.4.7')
  }
}

注意这个版本。

 类似资料:
  • 问题内容: 我正在使用Eclipse服务器功能进行热代码部署。使用tomcat作为Web服务器。但是我不确定它是如何工作的。我有自己的理解,它必须如何在内部工作。 我的理解:- 当开发人员更改代码(例如,类Employee)时,Eclipse将在正确的位置(必须是特定的Web /应用服务器,将其称为热部署目录(HDD))放置/发布修改后的已编译类。 。现在将显示Web服务器特定的类加载器。它在HD

  • 我刚刚部署了一个使用Heroku和PostGres的网站。我可以上传到一个表单,但不能上传到其他表单。在当地也很好。错误如下: 非常感谢您的帮助。谢谢

  • 我正在尝试使用AWS CDK部署lambda,但它似乎无法正常工作/部署。管道中的“框”为绿色,因此不会返回任何错误。 一切似乎都很好,但是当我手动运行它进行测试时,我收到了下一条消息: 问题是,如果我手动将人工制品下载到我的机器上,并使用上传按钮将其上载,它将正常工作。 我有一个,其中包含,这是我用来创建lambda的堆栈。 然后我有管道,其中一个步骤是构建lambda: 还有更多的步骤,但它们

  • 是的,我们在网上有这方面的资源,我搜索了一下,但它没有解决我的问题,所以在这里问这个问题。我有一个工作的聚合物网络应用程序,我可以使用http://localhost:8080//index.html访问它,我的应用程序看起来像这样 安装cordova使用 npm安装-g cordova。 创建cordova项目 cordova创建alertsDir com。警报。net“警报”--模板=C:/U

  • 我正在尝试部署应用程序在我的本地tomcat,但有一些问题。我使用:Tomcat9、Spring boot、ReactJS和WebPack。当我运行embedded Tomcat(在Eclipse中)时,所有的OK-API工作良好,但是当我构建war文件并将其粘贴到本地Tomcat-API不工作时,所有的请求都失败了。 如何构建war文件: 运行mvn“clean install”; 将war文件

  • PS:这是一个由另一个开发人员开始的项目,我一直在工作中没有问题,在过去的6个坐骑。我现在认为问题可能来自netbeans或glassfish中的配置错误,因为我在以前的代码版本中都遇到了同样的错误。