我们有一个运行在 Windows slave 上的 Jenkins Maven 构建,它在每次提交时运行 maven 包。我正在尝试使用提升的构建插件将提升的构建部署到 nexus 发布存储库。
我已将“在...时促进构建”设置为手动批准,并且“将工件部署到 Maven 存储库”的操作将存储库 URL 设置为“ http://example.com:8081/nexus/content/repositories/releases / "和repo id 为"release"。但是,当触发批准时,我们会得到以下堆栈跟踪:
[INFO] 部署在http://example.com:8081/nexus/content/repositories/releases/ (id=release,uniqueVersion=true) 部署主工件 artifactid-1.0.2.pom 上传:http://example .com:8081/nexus/content/repositories/releases/groupid/artifactid/1.0.2/artifactid-1.0.2.pom 错误:无法部署工件:无法从/传输工件 groupid:artifactid:pom:1.0.2发布(http://example.com:8081/nexus/content/repositories/releases/):传输文件失败:http ://example.com:8081/nexus/content/repositories/releases/groupid/artifactid/ 1.0.2/artifactid-1.0.2.pom. 返回码为:401,ReasonPhrase:未经授权。org.apache.maven.artifact.deployer.ArtifactDeploymentException:无法部署工件:无法将工件 groupid:artifactid:pom:1.0.2 从/到发布(http://example.com:8081/nexus/content/repositories /releases/ ):传输文件失败:http ://example.com:8081/nexus/content/repositories/releases/groupid/artifactid/1.0.2/artifactid-1.0.2.pom. 返回码为:401,ReasonPhrase:未经授权。在 org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:143) 在 hudson.maven.reporters.MavenArtifactRecord.deploy(MavenArtifactRecord.java:193) 在 hudson.maven.RedeployPublisher.perform(RedeployPublisher.java :176) 在 hudson.plugins.promoted_builds.Promotion$RunnerImpl.build(Promotion.java:282) 在 hudson.plugins.promoted_builds.Promotion$RunnerImpl.doRun(Promotion.java:224) 在 hudson.model.AbstractBuild$AbstractBuildExecution。 run(AbstractBuild.java:533) at hudson.model.Run.execute(Run.java:1740) at hudson.model.Run.run(Run.java:1678) at hudson.plugins.promoted_builds.Promotion.run(Promotion .java:174) 在 hudson.model.ResourceController.execute(ResourceController.java:89) 在 hudson.model。
如果我更改升级操作以触发 Maven 部署,则重新运行构建并且部署目标按预期工作,如果我添加 git 发布者,这也会在身份验证时失败。如果由运行 Jenkins 的用户在本地执行,这两个操作都会成功。
提升的构建插件如何确定部署的身份验证详细信息?