Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
rtMavenRun()工件插件未使用jenkins中配置的凭据_Maven_Jenkins_Artifactory - Fatal编程技术网

rtMavenRun()工件插件未使用jenkins中配置的凭据

rtMavenRun()工件插件未使用jenkins中配置的凭据,maven,jenkins,artifactory,Maven,Jenkins,Artifactory,这是我的管道: stage('Deploy') { environment { MAVEN_HOME = '/usr/share/maven' JAVA_HOME= '/usr/local/openjdk-8' } steps { rtMavenResolver ( id: 'resolver-unique-id', serverId: 'my-server-c

这是我的管道:

stage('Deploy') {
    environment {
        MAVEN_HOME = '/usr/share/maven'
        JAVA_HOME= '/usr/local/openjdk-8'
    }
    steps {
        rtMavenResolver (
                id: 'resolver-unique-id',
                serverId: 'my-server-config',
                releaseRepo: 'my-repo',
                snapshotRepo: 'my-repo'
        )
        rtMavenDeployer (
                id: 'deployer-unique-id',
                serverId: 'my-server-config',
                releaseRepo: 'my-repo',
                snapshotRepo: 'my-repo'
        )
        rtMavenRun (
                pom: 'pom.xml',
                goals: 'help:effective-settings',
                //goals: 'deploy',
                resolverId: 'resolver-unique-id',
                deployerId: 'deployer-unique-id'
        )

        // This works
        rtPublishBuildInfo (
            serverId: 'my-server-config'
        )
我在jenkins(我的服务器配置)上配置了creds和URL。我知道它的配置是正确的,因为rtPublishBuildInfo()可以工作并发布到artifactory。用户使用的是一个完整的管理员,所以应该没有烫发问题

这是在一个容器从属中运行的,所以我必须手动设置环境以指向maven和java home的位置,以便插件找到它。它运行着mavenn的官方形象

当我尝试部署目标(已确认使用相同的用户信誉在本地工作)时,我看到以下错误:

[main] WARNING org.codehaus.plexus.PlexusContainer - Could not transfer metadata com.mycompany.app:my-app:1.0-SNAPSHOT/maven-metadata.xml from/to snapshots (https://my-tenant.jfrog.io/my-tenant/my-repo): Not authorized
[main] ERROR org.apache.maven.cli.MavenCli - Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project my-app: Execution default-deploy of goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy failed.: NullPointerException -> [Help 1]
我试着运行
help:effective settings
目标并检查了jenkins的输出。看起来好像没有用我的信用卡?这个插件如何与我在配置中设置的jenkins cred绑定一起工作?它是如何将这些信誉传递给mvn的

Effective user-specific configuration settings:

<?xml version="1.0" encoding="UTF-8"?>
<!-- ====================================================================== -->
<!--                                                                        -->
<!-- Generated by Maven Help Plugin on 2019-10-18T19:04:34Z                 -->
<!-- See: http://maven.apache.org/plugins/maven-help-plugin/                -->
<!--                                                                        -->
<!-- ====================================================================== -->
<!-- ====================================================================== -->
<!--                                                                        -->
<!-- Effective Settings for 'root' on 'mypackagepackage-2zbtg-hsxqv'   -->
<!--                                                                        -->
<!-- ====================================================================== -->
<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd">
  <localRepository>/root/.m2/repository</localRepository>
  <pluginGroups>
    <pluginGroup>org.apache.maven.plugins</pluginGroup>
    <pluginGroup>org.codehaus.mojo</pluginGroup>
  </pluginGroups>
</settings>
我看到了这个错误:

[main] WARNING org.codehaus.plexus.PlexusContainer - Could not transfer metadata com.mycompany.app:my-app:1.0-SNAPSHOT/maven-metadata.xml from/to snapshots (https://my-tenant.jfrog.io/my-tenant/my-repo): Not authorized
[main] ERROR org.apache.maven.cli.MavenCli - Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project my-app: Execution default-deploy of goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy failed.: NullPointerException -> [Help 1]
编辑:好的,尽管这在本地运行良好,但我尝试在pom中设置部署插件的更新版本:

  <plugin>
    <artifactId>maven-deploy-plugin</artifactId>
    <version>2.8.2</version>
  </plugin>
编辑:继续我与这个蹩脚的jfrog插件的史诗般的斗争,我禁用了本地repo的一致性检查,它可以部署,但现在我明白了这个错误。它正在转换我的pom,并将
1.0-SNAPSHOT
转换为
1.0-20191018.195756-35
为什么要这样做,以及如何让它不损坏我的pom文件

编辑:
我一定是个白痴,或者文件不是很清楚(也许两者都是)。我使用部署目标是因为。。。我想部署。但很明显,你不这样做的插件-这是有意义的,我现在。您可以
清理
安装
软件包,但将其留给插件部署,以便插件将其放置在正确的位置并附加构建信息。使用
install
作为目标有效

答案是不要使用
deploy
目标。构建包,插件将负责部署部分

正确。更准确地说,请确保使用安装目标,这是Artifactory部署所连接的目标。我还需要运行“测试”阶段。artifactory插件会用它做任何奇怪的事情吗?我也希望在测试阶段使用它,因为注入了证书您可以简单地将测试添加到maven目标列表中-“干净安装测试包”。让我知道它是否适合你。您还可以选择在构建完成后的稍后阶段部署到Artifactory。请参阅文档了解如何执行此操作。需要在单独的步骤中完成此操作。因此,只需在一个阶段运行
clean
测试
,然后在下一个阶段运行
clean
安装。我不想在同一阶段部署和测试您可以在deployArtifacts设置为false的情况下执行“clean install test”,并在稍后阶段使用rtMaven.deployer.deloy()进行部署