首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >詹金斯将工件部署到Artifactory。maven-metadata.xml显示发布错误的版本,而不显示快照版本。

詹金斯将工件部署到Artifactory。maven-metadata.xml显示发布错误的版本,而不显示快照版本。
EN

Stack Overflow用户
提问于 2017-01-26 20:52:06
回答 1查看 1.3K关注 0票数 0

我是詹金斯和阿尔蒂工厂的新手,我一直无法解决这个问题。我使用Jenkins 2.32.1、Artifactory 4.14.0、Jenkins Artifactory插件2.9.0和Maven 2,我使用Jenkins管道进行构建。

这是我的jenkinsfile

代码语言:javascript
复制
node('default') {
    try{
        def server = Artifactory.newServer url: 'https://artifactory.com/artifactory', credentialsId: 'MYCREADENTIALS'
        def rtMaven = Artifactory.newMavenBuild()


        stage('Checkout') {
            checkout myProject
        }

        stage('Artifactory configuration') {
            rtMaven.tool = 'Default'
            rtMaven.resolver server: server, releaseRepo: 'my-repo-all', snapshotRepo: 'my-repo-all'
            rtMaven.deployer server: server, releaseRepo: 'my-repo-local', snapshotRepo: 'my-repo-local'
        }

        stage('Clean') {
            rtMaven.run pom: 'pom.xml', goals: 'clean '
        }

        stage('Install') {
            def buildInfo = rtMaven.run pom: 'pom.xml', goals: 'install '
            server.publishBuildInfo buildInfo
        }

    } catch (err) {
        echo "Caught: $err"
        currentBuild.result = 'FAILURE'
    }
}

我的艺术品回购看起来像:

  • 我的-回购-本地
    • ……
    • 8(发行版)
    • 11-20170126.182450-1 (快照版本)
    • maven-metadata.xml

下面是快照版本的pom.xml中的一个片段:

代码语言:javascript
复制
<groupId>com.my.group</groupId>
<artifactId>my-project-local</artifactId>
<packaging>jar</packaging>
<version>11-SNAPSHOT</version>
<name>${project.artifactId}</name>
<description>my description</description>

这是mavan-metadata.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
  <groupId>com.my.group</groupId>
  <artifactId>my-project-local</artifactId>
  <version>11-20170126.182450-1</version>
  <versioning>
    <latest>11-20170126.182450-1</latest>
    <release>11-20170126.182450-1</release>
    <versions>
      <version>4</version>
      <version>5</version>
      <version>6</version>
      <version>7</version>
      <version>8</version>
      <version>11-20170126.173903-1</version>
      <version>11-20170126.182450-1</version>
    </versions>
    <lastUpdated>20170126192233</lastUpdated>
  </versioning>
</metadata>

我的问题是,maven-metadata.xml文件将快照版本作为其最新发布版本列出,以及其他内容(Artifactory?)不识别11-20170126.182450-1版本实际上是快照版本。

这将在我的其他项目的pom.xml中将此回购列为依赖项时产生问题。当它试图从回购中获取最新版本时,它会错误地尝试获取快照版本(11-.)而不是发行版(8)。

提前谢谢你!我很感激对这个问题的任何建议或见解。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-26 22:08:09

@Tunaki在对我的问题的评论中回答了我的问题。我在使用pom.xml中的范围来引用我在文章中提到的存储库中的工件。我转而使用确切的版本号,它现在工作正常。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41882790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档